1# RUN: llc -run-pass=arm-pseudo -verify-machineinstrs %s -o - | FileCheck %s
2--- |
3  target triple = "armv7---gnueabi"
4
5  define i32 @test1(i32 %x) {
6  entry:
7    unreachable
8  }
9  define i32 @test2(i32 %x) {
10  entry:
11    unreachable
12  }
13  define i32 @test3(i32 %x) {
14  entry:
15    unreachable
16  }
17...
18---
19name:            test1
20alignment:       2
21tracksRegLiveness: true
22liveins:
23  - { reg: '$r0', virtual-reg: '' }
24body:             |
25  bb.0.entry:
26    liveins: $r0
27
28    $r1 = MOVi 2, 14, $noreg, $noreg
29    CMPri killed $r0, 0, 14, $noreg, implicit-def $cpsr
30    $r1 = MOVCCi16 killed $r1, 500, 0, killed $cpsr
31    $r0 = MOVr killed $r1, 14, $noreg, $noreg
32    BX_RET 14, $noreg, implicit $r0
33
34...
35---
36name:            test2
37alignment:       2
38tracksRegLiveness: true
39liveins:
40  - { reg: '$r0', virtual-reg: '' }
41body:             |
42  bb.0.entry:
43    liveins: $r0
44
45    $r1 = MOVi 2, 14, $noreg, $noreg
46    CMPri killed $r0, 0, 14, $noreg, implicit-def $cpsr
47    $r1 = MOVCCi32imm killed $r1, 500500500, 0, killed $cpsr
48    $r0 = MOVr killed $r1, 14, $noreg, $noreg
49    BX_RET 14, $noreg, implicit $r0
50
51...
52---
53name:            test3
54alignment:       2
55tracksRegLiveness: true
56liveins:
57  - { reg: '$r0', virtual-reg: '' }
58  - { reg: '$r1', virtual-reg: '' }
59body:             |
60  bb.0.entry:
61    liveins: $r0, $r1
62
63    CMPri $r1, 500, 14, $noreg, implicit-def $cpsr
64    $r0 = MOVCCr killed $r0, killed $r1, 12, killed $cpsr
65    BX_RET 14, $noreg, implicit $r0
66
67...
68
69# CHECK-LABEL: name: test1
70# CHECK: $r1 = MOVi16 500, 0, killed $cpsr, implicit killed $r1
71# CHECK-LABEL: name: test2
72# CHECK:    $r1 = MOVi16 2068, 0, $cpsr, implicit killed $r1
73# CHECK:    $r1 = MOVTi16 $r1, 7637, 0, $cpsr
74# CHECK-LABEL: name: test3
75# CHECK: $r0 = MOVr killed $r1, 12, killed $cpsr, $noreg, implicit killed $r0
76