Revert r354244 "[DAGCombiner] Eliminate dead stores to stack."
[llvm-complete.git] / test / CodeGen / ARM / GlobalISel / thumb-select-select.mir
blobd1a482b5514c50f0d43974f699e3684d17f25db3
1 # RUN: llc -O0 -mtriple thumb-- -mattr=+v6t2 -run-pass=instruction-select -verify-machineinstrs %s -o - | FileCheck %s
2 --- |
3   define void @test_select_s32() { ret void }
4   define void @test_select_ptr() { ret void }
5 ...
6 ---
7 name:            test_select_s32
8 # CHECK-LABEL: name: test_select_s32
9 legalized:       true
10 regBankSelected: true
11 selected:        false
12 # CHECK: selected: true
13 registers:
14   - { id: 0, class: gprb }
15   - { id: 1, class: gprb }
16   - { id: 2, class: gprb }
17   - { id: 3, class: gprb }
18 body:             |
19   bb.0:
20     liveins: $r0, $r1
22     %0(s32) = COPY $r0
23     ; CHECK: [[VREGX:%[0-9]+]]:rgpr = COPY $r0
25     %1(s32) = COPY $r1
26     ; CHECK: [[VREGY:%[0-9]+]]:rgpr = COPY $r1
28     %2(s1) = G_TRUNC %1(s32)
29     ; CHECK: [[VREGC:%[0-9]+]]:gprnopc = COPY [[VREGY]]
31     %3(s32) = G_SELECT %2(s1),  %0, %1
32     ; CHECK: t2CMPri [[VREGC]], 0, 14, $noreg, implicit-def $cpsr
33     ; CHECK: [[RES:%[0-9]+]]:rgpr = t2MOVCCr [[VREGX]], [[VREGY]], 0, $cpsr
35     $r0 = COPY %3(s32)
36     ; CHECK: $r0 = COPY [[RES]]
38     BX_RET 14, $noreg, implicit $r0
39     ; CHECK: BX_RET 14, $noreg, implicit $r0
40 ...
41 ---
42 name:            test_select_ptr
43 # CHECK-LABEL: name: test_select_ptr
44 legalized:       true
45 regBankSelected: true
46 selected:        false
47 # CHECK: selected: true
48 registers:
49   - { id: 0, class: gprb }
50   - { id: 1, class: gprb }
51   - { id: 2, class: gprb }
52   - { id: 3, class: gprb }
53   - { id: 4, class: gprb }
54 body:             |
55   bb.0:
56     liveins: $r0, $r1, $r2
58     %0(p0) = COPY $r0
59     ; CHECK: [[VREGX:%[0-9]+]]:rgpr = COPY $r0
61     %1(p0) = COPY $r1
62     ; CHECK: [[VREGY:%[0-9]+]]:rgpr = COPY $r1
64     %2(s32) = COPY $r2
65     ; CHECK: [[VREGC32:%[0-9]+]]:gpr = COPY $r2
67     %3(s1) = G_TRUNC %2(s32)
68     ; CHECK: [[VREGC:%[0-9]+]]:gprnopc = COPY [[VREGC32]]
70     %4(p0) = G_SELECT %3(s1),  %0, %1
71     ; CHECK: t2CMPri [[VREGC]], 0, 14, $noreg, implicit-def $cpsr
72     ; CHECK: [[RES:%[0-9]+]]:rgpr = t2MOVCCr [[VREGX]], [[VREGY]], 0, $cpsr
74     $r0 = COPY %4(p0)
75     ; CHECK: $r0 = COPY [[RES]]
77     BX_RET 14, $noreg, implicit $r0
78     ; CHECK: BX_RET 14, $noreg, implicit $r0
79 ...