[InstCombine] Signed saturation patterns
[llvm-complete.git] / test / CodeGen / ARM / GlobalISel / thumb-select-phi.mir
blob916a8936d6ff8ec8c3ac3b41af65230dac043176
1 # RUN: llc -O0 -mtriple thumb-- -mattr=+v6t2 -run-pass=instruction-select -verify-machineinstrs %s -o - | FileCheck %s
2 --- |
3   define void @test_phi_s32() { ret void }
4 ...
5 ---
6 name:            test_phi_s32
7 # CHECK-LABEL: name: test_phi_s32
8 legalized:       true
9 regBankSelected: true
10 selected:        false
11 # CHECK: selected: true
12 tracksRegLiveness: true
13 registers:
14   - { id: 0, class: gprb }
15   - { id: 1, class: gprb }
16   - { id: 2, class: gprb }
17   - { id: 3, class: gprb }
18   - { id: 4, class: gprb }
19 body:             |
20   bb.0:
21   ; CHECK: [[BB1:bb.0]]:
22     successors: %bb.1(0x40000000), %bb.2(0x40000000)
23     liveins: $r0, $r1, $r2
25     %0(s32) = COPY $r0
26     %1(s1) = G_TRUNC %0(s32)
28     %2(s32) = COPY $r1
29     %3(s32) = COPY $r2
30     ; CHECK: [[V1:%[0-9]+]]:gpr = COPY $r1
31     ; CHECK: [[V2:%[0-9]+]]:gpr = COPY $r2
33     G_BRCOND %1(s1), %bb.1
34     G_BR %bb.2
36   bb.1:
37   ; CHECK: [[BB2:bb.1]]:
38     successors: %bb.2(0x80000000)
40     G_BR %bb.2
41     ; CHECK: B %bb.2
43   bb.2:
44   ; CHECK: bb.2
45     %4(s32) = G_PHI %2(s32), %bb.0, %3(s32), %bb.1
46     ; CHECK: {{%[0-9]+}}:gpr = PHI [[V1]], %[[BB1]], [[V2]], %[[BB2]]
48     $r0 = COPY %4(s32)
49     BX_RET 14, $noreg, implicit $r0
50 ...