@@ -10,7 +10,9 @@ body: |
10
10
bb.0.entry:
11
11
liveins: $w0
12
12
; CHECK-LABEL: name: addi
13
- ; CHECK: [[COPY:%[0-9]+]]:gpr32common = COPY $w0
13
+ ; CHECK: liveins: $w0
14
+ ; CHECK-NEXT: {{ $}}
15
+ ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr32common = COPY $w0
14
16
; CHECK-NEXT: [[ADDWri:%[0-9]+]]:gpr32sp = ADDWri [[COPY]], 273, 12
15
17
; CHECK-NEXT: [[ADDWri1:%[0-9]+]]:gpr32common = ADDWri [[ADDWri]], 3549, 0
16
18
; CHECK-NEXT: [[UBFMWri:%[0-9]+]]:gpr32 = UBFMWri [[ADDWri1]], 28, 31
@@ -29,7 +31,9 @@ body: |
29
31
bb.0.entry:
30
32
liveins: $x0
31
33
; CHECK-LABEL: name: addl
32
- ; CHECK: [[COPY:%[0-9]+]]:gpr64common = COPY $x0
34
+ ; CHECK: liveins: $x0
35
+ ; CHECK-NEXT: {{ $}}
36
+ ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr64common = COPY $x0
33
37
; CHECK-NEXT: [[ADDXri:%[0-9]+]]:gpr64sp = ADDXri [[COPY]], 273, 12
34
38
; CHECK-NEXT: [[ADDXri1:%[0-9]+]]:gpr64common = ADDXri [[ADDXri]], 3549, 0
35
39
; CHECK-NEXT: [[UBFMXri:%[0-9]+]]:gpr64 = UBFMXri [[ADDXri1]], 28, 31
@@ -49,7 +53,9 @@ body: |
49
53
bb.0.entry:
50
54
liveins: $x0
51
55
; CHECK-LABEL: name: addl_negate
52
- ; CHECK: [[COPY:%[0-9]+]]:gpr64common = COPY $x0
56
+ ; CHECK: liveins: $x0
57
+ ; CHECK-NEXT: {{ $}}
58
+ ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr64common = COPY $x0
53
59
; CHECK-NEXT: [[SUBXri:%[0-9]+]]:gpr64sp = SUBXri [[COPY]], 273, 12
54
60
; CHECK-NEXT: [[SUBXri1:%[0-9]+]]:gpr64common = SUBXri [[SUBXri]], 3549, 0
55
61
; CHECK-NEXT: [[UBFMXri:%[0-9]+]]:gpr64 = UBFMXri [[SUBXri1]], 28, 31
@@ -61,3 +67,87 @@ body: |
61
67
%3:gpr64 = UBFMXri %2, 28, 31
62
68
$x0 = COPY %3
63
69
RET_ReallyLR implicit $x0
70
+ ...
71
+ ---
72
+ name : add_xzr
73
+ body : |
74
+ bb.0.entry:
75
+ liveins: $x0
76
+ ; CHECK-LABEL: name: add_xzr
77
+ ; CHECK: liveins: $x0
78
+ ; CHECK-NEXT: {{ $}}
79
+ ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr64 = COPY $x0
80
+ ; CHECK-NEXT: [[MOVi64imm:%[0-9]+]]:gpr64 = MOVi64imm -2105098
81
+ ; CHECK-NEXT: [[ADDXrr:%[0-9]+]]:gpr64common = ADDXrr $xzr, [[MOVi64imm]]
82
+ ; CHECK-NEXT: [[MADDXrrr:%[0-9]+]]:gpr64 = MADDXrrr [[COPY]], [[COPY]], [[ADDXrr]]
83
+ ; CHECK-NEXT: $x0 = COPY [[MADDXrrr]]
84
+ ; CHECK-NEXT: RET_ReallyLR implicit $x0
85
+ %0:gpr64 = COPY $x0
86
+ %2:gpr64 = MOVi64imm -2105098
87
+ %4:gpr64common = ADDXrr $xzr, %2
88
+ %3:gpr64 = MADDXrrr %0, %0, %4
89
+ $x0 = COPY %3
90
+ RET_ReallyLR implicit $x0
91
+ ...
92
+ ---
93
+ name : sub_xzr
94
+ body : |
95
+ bb.0.entry:
96
+ liveins: $x0
97
+ ; CHECK-LABEL: name: sub_xzr
98
+ ; CHECK: liveins: $x0
99
+ ; CHECK-NEXT: {{ $}}
100
+ ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr64 = COPY $x0
101
+ ; CHECK-NEXT: [[MOVi64imm:%[0-9]+]]:gpr64 = MOVi64imm -2105098
102
+ ; CHECK-NEXT: [[SUBXrr:%[0-9]+]]:gpr64common = SUBXrr $xzr, [[MOVi64imm]]
103
+ ; CHECK-NEXT: [[MADDXrrr:%[0-9]+]]:gpr64 = MADDXrrr [[COPY]], [[COPY]], [[SUBXrr]]
104
+ ; CHECK-NEXT: $x0 = COPY [[MADDXrrr]]
105
+ ; CHECK-NEXT: RET_ReallyLR implicit $x0
106
+ %0:gpr64 = COPY $x0
107
+ %2:gpr64 = MOVi64imm -2105098
108
+ %4:gpr64common = SUBXrr $xzr, %2
109
+ %3:gpr64 = MADDXrrr %0, %0, %4
110
+ $x0 = COPY %3
111
+ RET_ReallyLR implicit $x0
112
+ ...
113
+ ---
114
+ name : adds_xzr
115
+ body : |
116
+ bb.0.entry:
117
+ liveins: $x0
118
+ ; CHECK-LABEL: name: adds_xzr
119
+ ; CHECK: liveins: $x0
120
+ ; CHECK-NEXT: {{ $}}
121
+ ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr64 = COPY $x0
122
+ ; CHECK-NEXT: [[MOVi64imm:%[0-9]+]]:gpr64 = MOVi64imm -2105098
123
+ ; CHECK-NEXT: [[ADDSXrr:%[0-9]+]]:gpr64common = ADDSXrr $xzr, [[MOVi64imm]], implicit-def $nzcv
124
+ ; CHECK-NEXT: [[MADDXrrr:%[0-9]+]]:gpr64 = MADDXrrr [[COPY]], [[COPY]], [[ADDSXrr]]
125
+ ; CHECK-NEXT: $x0 = COPY [[MADDXrrr]]
126
+ ; CHECK-NEXT: RET_ReallyLR implicit $x0
127
+ %0:gpr64 = COPY $x0
128
+ %2:gpr64 = MOVi64imm -2105098
129
+ %4:gpr64common = ADDSXrr $xzr, %2, implicit-def $nzcv
130
+ %3:gpr64 = MADDXrrr %0, %0, %4
131
+ $x0 = COPY %3
132
+ RET_ReallyLR implicit $x0
133
+ ...
134
+ ---
135
+ name : subs_xzr
136
+ body : |
137
+ bb.0.entry:
138
+ liveins: $x0
139
+ ; CHECK-LABEL: name: subs_xzr
140
+ ; CHECK: liveins: $x0
141
+ ; CHECK-NEXT: {{ $}}
142
+ ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr64 = COPY $x0
143
+ ; CHECK-NEXT: [[MOVi64imm:%[0-9]+]]:gpr64 = MOVi64imm -2105098
144
+ ; CHECK-NEXT: [[SUBSXrr:%[0-9]+]]:gpr64common = SUBSXrr $xzr, [[MOVi64imm]], implicit-def $nzcv
145
+ ; CHECK-NEXT: [[MADDXrrr:%[0-9]+]]:gpr64 = MADDXrrr [[COPY]], [[COPY]], [[SUBSXrr]]
146
+ ; CHECK-NEXT: $x0 = COPY [[MADDXrrr]]
147
+ ; CHECK-NEXT: RET_ReallyLR implicit $x0
148
+ %0:gpr64 = COPY $x0
149
+ %2:gpr64 = MOVi64imm -2105098
150
+ %4:gpr64common = SUBSXrr $xzr, %2, implicit-def $nzcv
151
+ %3:gpr64 = MADDXrrr %0, %0, %4
152
+ $x0 = COPY %3
153
+ RET_ReallyLR implicit $x0
0 commit comments