@@ -98,7 +98,7 @@ func testData(x: DataCase) -> Double {
98
98
// CHECK: [[ID:%[0-9]+]] = phi i32 [ 2, {{.*}} ], [ 1, {{.*}} ]
99
99
// CHECK: ret i32 [[ID]]
100
100
// V7K-LABEL: _$s8test_v7k0A6Clike2
101
- // V7K: cmp r0, #1
101
+ // V7K: tst.w r0, #1
102
102
// V7K: movs r0, #1
103
103
// V7K: movs r0, #2
104
104
enum CLike2 {
@@ -155,8 +155,7 @@ func testClike8(t: Int, x: CLike8) -> Int {
155
155
// CHECK: bitcast i64 [[RESULT]] to double
156
156
// CHECK: phi double [ 0.000000e+00, {{.*}} ]
157
157
// V7K-LABEL: _$s8test_v7k0A7SingleP
158
- // V7K: sxtb [[R0:r[0-9]+]], r2
159
- // V7K: cmp [[R0]], #1
158
+ // V7K: tst.w r2, #1
160
159
// V7K: vldr d0, [{{.*}}]
161
160
enum SinglePayload {
162
161
case Paragraph
@@ -213,14 +212,13 @@ func testMultiP(x: MultiPayload) -> Double {
213
212
214
213
// CHECK-LABEL: define hidden swiftcc float @"$s8test_v7k0A3Opt{{.*}}"(i32 %0, i8 %1)
215
214
// CHECK: entry:
216
- // CHECK: [[TR:%.*]] = icmp eq i8 %1, 1
215
+ // CHECK: [[TR:%.*]] = trunc i8 %1
217
216
// CHECK: br i1 [[TR]], {{.*}}, label %[[PAYLOADLABEL:.*]]
218
217
// CHECK: [[PAYLOADLABEL]]:
219
218
// CHECK: [[ID:%[0-9]+]] = bitcast i32 %0 to float
220
219
// CHECK: ret float
221
220
// V7K-LABEL: _$s8test_v7k0A3Opt
222
- // V7K: sxtb [[R0:r[0-9]+]], r1
223
- // V7K: cmp [[R0]], #1
221
+ // V7K: tst.w r1, #1
224
222
// V7K: vmov s0, r0
225
223
// V7K: vstr s0, [sp, [[SLOT:#[0-9]+]]
226
224
// V7K: vldr s0, [sp, [[SLOT]]
@@ -310,6 +308,7 @@ func testRet3() -> MyRect2 {
310
308
// V7K: str.w {{.*}}, [{{.*}}[[R0_RELOAD]], #12]
311
309
// V7K: str {{.*}}, [{{.*}}[[R0_RELOAD]], #16]
312
310
// V7K: str {{.*}}, [{{.*}}[[R0_RELOAD]], #20]
311
+ // V7K: and {{.*}}, {{.*}}, #1
313
312
// V7K: strb {{.*}}, [{{.*}}[[R0_RELOAD]], #24]
314
313
func minMax2( x : Int , y : Int ) -> ( min: Int , max: Int , min2: Int , max2: Int , min3: Int , max3: Int ) ? {
315
314
if x == y {
0 commit comments