[ORC] Fail materialization in tasks that are destroyed before running.
[llvm-project.git] / llvm / test / CodeGen / MSP430 / InstII.ll
blob851029364133ece7ed69fe10c8606ded17269084
1 ; RUN: llc -mtriple=msp430 < %s | FileCheck %s
2 target datalayout = "e-p:16:8:8-i8:8:8-i16:8:8-i32:8:8"
3 target triple = "msp430-generic-generic"
5 define void @rra8m(ptr %i) {
6 entry:
7 ; CHECK-LABEL: rra8m:
8 ; CHECK: rra.b 2(r12)
9   %0 = getelementptr inbounds i8, ptr %i, i16 2
10   %1 = load i8, ptr %0, align 1
11   %shr = ashr i8 %1, 1
12   store i8 %shr, ptr %0, align 1
13   ret void
16 define void @rra16m(ptr %i) {
17 entry:
18 ; CHECK-LABEL: rra16m:
19 ; CHECK: rra 4(r12)
20   %0 = getelementptr inbounds i16, ptr %i, i16 2
21   %1 = load i16, ptr %0, align 2
22   %shr = ashr i16 %1, 1
23   store i16 %shr, ptr %0, align 2
24   ret void
27 ; TODO: `clrc; rrc.b 2(r12)` is expected
28 define void @rrc8m(ptr %g) {
29 entry:
30 ; CHECK-LABEL: rrc8m:
31 ; CHECK: mov.b 2(r12), r13
32 ; CHECK: clrc
33 ; CHECK: rrc.b r13
34 ; CHECK: mov.b r13, 2(r12)
35   %add.ptr = getelementptr inbounds i8, ptr %g, i16 2
36   %0 = load i8, ptr %add.ptr, align 1
37   %1 = lshr i8 %0, 1
38   store i8 %1, ptr %add.ptr, align 1
39   ret void
42 ; TODO: `clrc; rrc 4(r12)` is expected
43 define void @rrc16m(ptr %g) {
44 entry:
45 ; CHECK-LABEL: rrc16m:
46 ; CHECK: mov 4(r12), r13
47 ; CHECK: clrc
48 ; CHECK: rrc r13
49 ; CHECK: mov r13, 4(r12)
50   %add.ptr = getelementptr inbounds i16, ptr %g, i16 2
51   %0 = load i16, ptr %add.ptr, align 2
52   %shr = lshr i16 %0, 1
53   store i16 %shr, ptr %add.ptr, align 2
54   ret void
57 define void @sxt16m(ptr %x) {
58 entry:
59 ; CHECK-LABEL: sxt16m:
60 ; CHECK: sxt 4(r12)
61   %add.ptr = getelementptr inbounds i16, ptr %x, i16 2
62   %0 = bitcast ptr %add.ptr to ptr
63   %1 = load i8, ptr %0, align 1
64   %conv = sext i8 %1 to i16
65   store i16 %conv, ptr %add.ptr, align 2
66   ret void