@@ -147,53 +147,59 @@ machineFunctionInfo: {}
147
147
body : |
148
148
; CHECK-LABEL: name: max_min_add_reduce
149
149
; CHECK: bb.0.entry:
150
- ; CHECK: successors: %bb.1(0x40000000), %bb.3(0x40000000)
151
- ; CHECK: liveins: $lr, $r0, $r1, $r2, $r3, $r4, $r5, $r6, $r7, $r8
152
- ; CHECK: $sp = frame-setup t2STMDB_UPD $sp, 14 /* CC::al */, $noreg, killed $r4, killed $r5, killed $r6, killed $r7, killed $r8, killed $lr
153
- ; CHECK: frame-setup CFI_INSTRUCTION def_cfa_offset 24
154
- ; CHECK: frame-setup CFI_INSTRUCTION offset $lr, -4
155
- ; CHECK: frame-setup CFI_INSTRUCTION offset $r8, -8
156
- ; CHECK: frame-setup CFI_INSTRUCTION offset $r7, -12
157
- ; CHECK: frame-setup CFI_INSTRUCTION offset $r6, -16
158
- ; CHECK: frame-setup CFI_INSTRUCTION offset $r5, -20
159
- ; CHECK: frame-setup CFI_INSTRUCTION offset $r4, -24
160
- ; CHECK: renamable $r12 = t2LDRi12 $sp, 48, 14 /* CC::al */, $noreg :: (load (s32) from %fixed-stack.6, align 8)
161
- ; CHECK: renamable $r5 = t2ADDri renamable $r12, 3, 14 /* CC::al */, $noreg, $noreg
162
- ; CHECK: renamable $r7, dead $cpsr = tLSRri killed renamable $r5, 2, 14 /* CC::al */, $noreg
163
- ; CHECK: dead $lr = t2WLS renamable $r7, %bb.3
164
- ; CHECK: bb.1.for.body.lr.ph:
165
- ; CHECK: successors: %bb.2(0x80000000)
166
- ; CHECK: liveins: $r0, $r1, $r2, $r3, $r7, $r12
167
- ; CHECK: $r6, $r5 = t2LDRDi8 $sp, 40, 14 /* CC::al */, $noreg :: (load (s32) from %fixed-stack.4, align 8), (load (s32) from %fixed-stack.5)
168
- ; CHECK: $r4 = tMOVr killed $r7, 14 /* CC::al */, $noreg
169
- ; CHECK: $r7, $r8 = t2LDRDi8 $sp, 24, 14 /* CC::al */, $noreg :: (load (s32) from %fixed-stack.0, align 8), (load (s32) from %fixed-stack.1)
170
- ; CHECK: renamable $q0 = MVE_VDUP32 killed renamable $r5, 0, $noreg, $noreg, undef renamable $q0
171
- ; CHECK: renamable $q1 = MVE_VDUP32 killed renamable $r6, 0, $noreg, $noreg, undef renamable $q1
172
- ; CHECK: renamable $r5, dead $cpsr = tSUBi3 killed renamable $r7, 4, 14 /* CC::al */, $noreg
173
- ; CHECK: bb.2.for.body:
174
- ; CHECK: successors: %bb.2(0x7c000000), %bb.3(0x04000000)
175
- ; CHECK: liveins: $q0, $q1, $r0, $r1, $r2, $r3, $r4, $r5, $r8, $r12
176
- ; CHECK: renamable $vpr = MVE_VCTP32 renamable $r12, 0, $noreg, $noreg
177
- ; CHECK: MVE_VPST 8, implicit $vpr
178
- ; CHECK: renamable $r1, renamable $q2 = MVE_VLDRWU32_post killed renamable $r1, 4, 1, renamable $vpr, $noreg :: (load (s128) from %ir.input_2_cast, align 4)
179
- ; CHECK: MVE_VPST 8, implicit $vpr
180
- ; CHECK: renamable $r0, renamable $q3 = MVE_VLDRWU32_post killed renamable $r0, 4, 1, renamable $vpr, $noreg :: (load (s128) from %ir.input_1_cast, align 4)
181
- ; CHECK: renamable $q2 = MVE_VADD_qr_i32 killed renamable $q2, renamable $r3, 0, $noreg, $noreg, undef renamable $q2
182
- ; CHECK: renamable $q3 = MVE_VADD_qr_i32 killed renamable $q3, renamable $r2, 0, $noreg, $noreg, undef renamable $q3
183
- ; CHECK: $lr = tMOVr $r4, 14 /* CC::al */, $noreg
184
- ; CHECK: renamable $q2 = MVE_VMULi32 killed renamable $q3, killed renamable $q2, 0, $noreg, $noreg, undef renamable $q2
185
- ; CHECK: renamable $r4, dead $cpsr = tSUBi8 killed $r4, 1, 14 /* CC::al */, $noreg
186
- ; CHECK: renamable $q2 = MVE_VADD_qr_i32 killed renamable $q2, renamable $r8, 0, $noreg, $noreg, undef renamable $q2
187
- ; CHECK: renamable $r12 = t2SUBri killed renamable $r12, 4, 14 /* CC::al */, $noreg, $noreg
188
- ; CHECK: MVE_VPST 4, implicit $vpr
189
- ; CHECK: renamable $q2 = MVE_VMAXu32 killed renamable $q2, renamable $q1, 1, renamable $vpr, $noreg, undef renamable $q2
190
- ; CHECK: renamable $q2 = MVE_VMINu32 killed renamable $q2, renamable $q0, 1, killed renamable $vpr, $noreg, undef renamable $q2
191
- ; CHECK: renamable $r6 = MVE_VADDVu32no_acc killed renamable $q2, 0, $noreg, $noreg
192
- ; CHECK: early-clobber renamable $r5 = t2STR_PRE killed renamable $r6, killed renamable $r5, 4, 14 /* CC::al */, $noreg :: (store (s32) into %ir.scevgep2)
193
- ; CHECK: dead $lr = t2LEUpdate killed renamable $lr, %bb.2
194
- ; CHECK: bb.3.for.cond.cleanup:
195
- ; CHECK: $r0, dead $cpsr = tMOVi8 0, 14 /* CC::al */, $noreg
196
- ; CHECK: $sp = t2LDMIA_RET $sp, 14 /* CC::al */, $noreg, def $r4, def $r5, def $r6, def $r7, def $r8, def $pc, implicit killed $r0
150
+ ; CHECK-NEXT: successors: %bb.1(0x40000000), %bb.3(0x40000000)
151
+ ; CHECK-NEXT: liveins: $lr, $r0, $r1, $r2, $r3, $r4, $r5, $r6, $r7, $r8
152
+ ; CHECK-NEXT: {{ $}}
153
+ ; CHECK-NEXT: $sp = frame-setup t2STMDB_UPD $sp, 14 /* CC::al */, $noreg, killed $r4, killed $r5, killed $r6, killed $r7, killed $r8, killed $lr
154
+ ; CHECK-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 24
155
+ ; CHECK-NEXT: frame-setup CFI_INSTRUCTION offset $lr, -4
156
+ ; CHECK-NEXT: frame-setup CFI_INSTRUCTION offset $r8, -8
157
+ ; CHECK-NEXT: frame-setup CFI_INSTRUCTION offset $r7, -12
158
+ ; CHECK-NEXT: frame-setup CFI_INSTRUCTION offset $r6, -16
159
+ ; CHECK-NEXT: frame-setup CFI_INSTRUCTION offset $r5, -20
160
+ ; CHECK-NEXT: frame-setup CFI_INSTRUCTION offset $r4, -24
161
+ ; CHECK-NEXT: renamable $r12 = t2LDRi12 $sp, 48, 14 /* CC::al */, $noreg :: (load (s32) from %fixed-stack.6, align 8)
162
+ ; CHECK-NEXT: renamable $r5 = t2ADDri renamable $r12, 3, 14 /* CC::al */, $noreg, $noreg
163
+ ; CHECK-NEXT: renamable $r7, dead $cpsr = tLSRri killed renamable $r5, 2, 14 /* CC::al */, $noreg
164
+ ; CHECK-NEXT: dead $lr = t2WLS renamable $r7, %bb.3
165
+ ; CHECK-NEXT: {{ $}}
166
+ ; CHECK-NEXT: bb.1.for.body.lr.ph:
167
+ ; CHECK-NEXT: successors: %bb.2(0x80000000)
168
+ ; CHECK-NEXT: liveins: $r0, $r1, $r2, $r3, $r7, $r12
169
+ ; CHECK-NEXT: {{ $}}
170
+ ; CHECK-NEXT: $r6, $r5 = t2LDRDi8 $sp, 40, 14 /* CC::al */, $noreg :: (load (s32) from %fixed-stack.4, align 8), (load (s32) from %fixed-stack.5)
171
+ ; CHECK-NEXT: $r4 = tMOVr killed $r7, 14 /* CC::al */, $noreg
172
+ ; CHECK-NEXT: $r7, $r8 = t2LDRDi8 $sp, 24, 14 /* CC::al */, $noreg :: (load (s32) from %fixed-stack.0, align 8), (load (s32) from %fixed-stack.1)
173
+ ; CHECK-NEXT: renamable $q0 = MVE_VDUP32 killed renamable $r5, 0, $noreg, $noreg, undef renamable $q0
174
+ ; CHECK-NEXT: renamable $q1 = MVE_VDUP32 killed renamable $r6, 0, $noreg, $noreg, undef renamable $q1
175
+ ; CHECK-NEXT: renamable $r5, dead $cpsr = tSUBi3 killed renamable $r7, 4, 14 /* CC::al */, $noreg
176
+ ; CHECK-NEXT: {{ $}}
177
+ ; CHECK-NEXT: bb.2.for.body:
178
+ ; CHECK-NEXT: successors: %bb.2(0x7c000000), %bb.3(0x04000000)
179
+ ; CHECK-NEXT: liveins: $q0, $q1, $r0, $r1, $r2, $r3, $r4, $r5, $r8, $r12
180
+ ; CHECK-NEXT: {{ $}}
181
+ ; CHECK-NEXT: renamable $vpr = MVE_VCTP32 renamable $r12, 0, $noreg, $noreg
182
+ ; CHECK-NEXT: MVE_VPST 8, implicit $vpr
183
+ ; CHECK-NEXT: renamable $r1, renamable $q2 = MVE_VLDRWU32_post killed renamable $r1, 4, 1, renamable $vpr, $noreg :: (load (s128) from %ir.input_2_cast, align 4)
184
+ ; CHECK-NEXT: MVE_VPST 8, implicit $vpr
185
+ ; CHECK-NEXT: renamable $r0, renamable $q3 = MVE_VLDRWU32_post killed renamable $r0, 4, 1, renamable $vpr, $noreg :: (load (s128) from %ir.input_1_cast, align 4)
186
+ ; CHECK-NEXT: renamable $q2 = MVE_VADD_qr_i32 killed renamable $q2, renamable $r3, 0, $noreg, $noreg, undef renamable $q2
187
+ ; CHECK-NEXT: renamable $q3 = MVE_VADD_qr_i32 killed renamable $q3, renamable $r2, 0, $noreg, $noreg, undef renamable $q3
188
+ ; CHECK-NEXT: $lr = tMOVr $r4, 14 /* CC::al */, $noreg
189
+ ; CHECK-NEXT: renamable $q2 = MVE_VMULi32 killed renamable $q3, killed renamable $q2, 0, $noreg, $noreg, undef renamable $q2
190
+ ; CHECK-NEXT: renamable $r4, dead $cpsr = tSUBi8 killed $r4, 1, 14 /* CC::al */, $noreg
191
+ ; CHECK-NEXT: renamable $q2 = MVE_VADD_qr_i32 killed renamable $q2, renamable $r8, 0, $noreg, $noreg, undef renamable $q2
192
+ ; CHECK-NEXT: renamable $r12 = t2SUBri killed renamable $r12, 4, 14 /* CC::al */, $noreg, $noreg
193
+ ; CHECK-NEXT: MVE_VPST 4, implicit $vpr
194
+ ; CHECK-NEXT: renamable $q2 = MVE_VMAXu32 killed renamable $q2, renamable $q1, 1, renamable $vpr, $noreg, undef renamable $q2
195
+ ; CHECK-NEXT: renamable $q2 = MVE_VMINu32 killed renamable $q2, renamable $q0, 1, killed renamable $vpr, $noreg, undef renamable $q2
196
+ ; CHECK-NEXT: renamable $r6 = MVE_VADDVu32no_acc killed renamable $q2, 0, $noreg, $noreg
197
+ ; CHECK-NEXT: early-clobber renamable $r5 = t2STR_PRE killed renamable $r6, killed renamable $r5, 4, 14 /* CC::al */, $noreg :: (store (s32) into %ir.scevgep2)
198
+ ; CHECK-NEXT: dead $lr = t2LEUpdate killed renamable $lr, %bb.2
199
+ ; CHECK-NEXT: {{ $}}
200
+ ; CHECK-NEXT: bb.3.for.cond.cleanup:
201
+ ; CHECK-NEXT: $r0, dead $cpsr = tMOVi8 0, 14 /* CC::al */, $noreg
202
+ ; CHECK-NEXT: $sp = t2LDMIA_RET $sp, 14 /* CC::al */, $noreg, def $r4, def $r5, def $r6, def $r7, def $r8, def $pc, implicit killed $r0
197
203
bb.0.entry:
198
204
successors: %bb.1(0x40000000), %bb.3(0x40000000)
199
205
liveins: $r0, $r1, $r2, $r3, $r4, $r5, $r6, $r7, $r8, $lr
0 commit comments