@@ -166,7 +166,7 @@ define half @test_si_si_i8_sub(i8 noundef %x_in, i8 noundef %y_in) {
166
166
; CHECK-NEXT: [[X:%.*]] = and i8 [[X_IN:%.*]], 63
167
167
; CHECK-NEXT: [[Y:%.*]] = or i8 [[Y_IN:%.*]], -64
168
168
; CHECK-NEXT: [[TMP1:%.*]] = sub nsw i8 [[X]], [[Y]]
169
- ; CHECK-NEXT: [[R:%.*]] = sitofp i8 [[TMP1]] to half
169
+ ; CHECK-NEXT: [[R:%.*]] = uitofp i8 [[TMP1]] to half
170
170
; CHECK-NEXT: ret half [[R]]
171
171
;
172
172
%x = and i8 %x_in , 63
@@ -181,7 +181,7 @@ define half @test_si_si_i8_sub_fail_overflow(i8 noundef %x_in, i8 noundef %y_in)
181
181
; CHECK-LABEL: @test_si_si_i8_sub_fail_overflow(
182
182
; CHECK-NEXT: [[X:%.*]] = and i8 [[X_IN:%.*]], 63
183
183
; CHECK-NEXT: [[Y:%.*]] = or i8 [[Y_IN:%.*]], -65
184
- ; CHECK-NEXT: [[XF:%.*]] = sitofp i8 [[X]] to half
184
+ ; CHECK-NEXT: [[XF:%.*]] = uitofp i8 [[X]] to half
185
185
; CHECK-NEXT: [[YF:%.*]] = sitofp i8 [[Y]] to half
186
186
; CHECK-NEXT: [[R:%.*]] = fsub half [[XF]], [[YF]]
187
187
; CHECK-NEXT: ret half [[R]]
@@ -198,7 +198,7 @@ define half @test_si_si_i8_sub_C(i8 noundef %x_in) {
198
198
; CHECK-LABEL: @test_si_si_i8_sub_C(
199
199
; CHECK-NEXT: [[X:%.*]] = and i8 [[X_IN:%.*]], 63
200
200
; CHECK-NEXT: [[TMP1:%.*]] = or disjoint i8 [[X]], 64
201
- ; CHECK-NEXT: [[R:%.*]] = sitofp i8 [[TMP1]] to half
201
+ ; CHECK-NEXT: [[R:%.*]] = uitofp i8 [[TMP1]] to half
202
202
; CHECK-NEXT: ret half [[R]]
203
203
;
204
204
%x = and i8 %x_in , 63
@@ -315,7 +315,7 @@ define half @test_si_si_i8_mul_fail_maybe_zero(i8 noundef %x_in, i8 noundef %y_i
315
315
; CHECK-LABEL: @test_si_si_i8_mul_fail_maybe_zero(
316
316
; CHECK-NEXT: [[X:%.*]] = and i8 [[X_IN:%.*]], 7
317
317
; CHECK-NEXT: [[Y:%.*]] = or i8 [[Y_IN:%.*]], -8
318
- ; CHECK-NEXT: [[XF:%.*]] = sitofp i8 [[X]] to half
318
+ ; CHECK-NEXT: [[XF:%.*]] = uitofp i8 [[X]] to half
319
319
; CHECK-NEXT: [[YF:%.*]] = sitofp i8 [[Y]] to half
320
320
; CHECK-NEXT: [[R:%.*]] = fmul half [[XF]], [[YF]]
321
321
; CHECK-NEXT: ret half [[R]]
@@ -332,7 +332,7 @@ define half @test_si_si_i8_mul_C_fail_no_repr(i8 noundef %x_in) {
332
332
; CHECK-LABEL: @test_si_si_i8_mul_C_fail_no_repr(
333
333
; CHECK-NEXT: [[XX:%.*]] = and i8 [[X_IN:%.*]], 6
334
334
; CHECK-NEXT: [[X:%.*]] = or disjoint i8 [[XX]], 1
335
- ; CHECK-NEXT: [[XF:%.*]] = sitofp i8 [[X]] to half
335
+ ; CHECK-NEXT: [[XF:%.*]] = uitofp i8 [[X]] to half
336
336
; CHECK-NEXT: [[R:%.*]] = fmul half [[XF]], 0xHC780
337
337
; CHECK-NEXT: ret half [[R]]
338
338
;
@@ -347,7 +347,7 @@ define half @test_si_si_i8_mul_C_fail_overflow(i8 noundef %x_in) {
347
347
; CHECK-LABEL: @test_si_si_i8_mul_C_fail_overflow(
348
348
; CHECK-NEXT: [[XX:%.*]] = and i8 [[X_IN:%.*]], 6
349
349
; CHECK-NEXT: [[X:%.*]] = or disjoint i8 [[XX]], 1
350
- ; CHECK-NEXT: [[XF:%.*]] = sitofp i8 [[X]] to half
350
+ ; CHECK-NEXT: [[XF:%.*]] = uitofp i8 [[X]] to half
351
351
; CHECK-NEXT: [[R:%.*]] = fmul half [[XF]], 0xHCCC0
352
352
; CHECK-NEXT: ret half [[R]]
353
353
;
@@ -401,7 +401,7 @@ define half @test_ui_si_i8_mul_fail_signed(i8 noundef %x_in, i8 noundef %y_in) {
401
401
; CHECK-NEXT: [[XX:%.*]] = and i8 [[X_IN:%.*]], 7
402
402
; CHECK-NEXT: [[X:%.*]] = add nuw nsw i8 [[XX]], 1
403
403
; CHECK-NEXT: [[Y:%.*]] = or i8 [[Y_IN:%.*]], -4
404
- ; CHECK-NEXT: [[XF:%.*]] = sitofp i8 [[X]] to half
404
+ ; CHECK-NEXT: [[XF:%.*]] = uitofp i8 [[X]] to half
405
405
; CHECK-NEXT: [[YF:%.*]] = uitofp i8 [[Y]] to half
406
406
; CHECK-NEXT: [[R:%.*]] = fmul half [[XF]], [[YF]]
407
407
; CHECK-NEXT: ret half [[R]]
@@ -541,7 +541,7 @@ define half @test_si_si_i16_sub_fail_no_promotion(i16 noundef %x_in, i16 noundef
541
541
; CHECK-LABEL: @test_si_si_i16_sub_fail_no_promotion(
542
542
; CHECK-NEXT: [[X:%.*]] = and i16 [[X_IN:%.*]], 2047
543
543
; CHECK-NEXT: [[Y:%.*]] = or i16 [[Y_IN:%.*]], -2049
544
- ; CHECK-NEXT: [[XF:%.*]] = sitofp i16 [[X]] to half
544
+ ; CHECK-NEXT: [[XF:%.*]] = uitofp i16 [[X]] to half
545
545
; CHECK-NEXT: [[YF:%.*]] = sitofp i16 [[Y]] to half
546
546
; CHECK-NEXT: [[R:%.*]] = fsub half [[XF]], [[YF]]
547
547
; CHECK-NEXT: ret half [[R]]
@@ -575,7 +575,7 @@ define half @test_ui_si_i16_sub_fail_maybe_signed(i16 noundef %x_in, i16 noundef
575
575
; CHECK-NEXT: [[X:%.*]] = or i16 [[X_IN:%.*]], -2048
576
576
; CHECK-NEXT: [[Y:%.*]] = and i16 [[Y_IN:%.*]], 2047
577
577
; CHECK-NEXT: [[XF:%.*]] = uitofp i16 [[X]] to half
578
- ; CHECK-NEXT: [[YF:%.*]] = sitofp i16 [[Y]] to half
578
+ ; CHECK-NEXT: [[YF:%.*]] = uitofp i16 [[Y]] to half
579
579
; CHECK-NEXT: [[R:%.*]] = fsub half [[XF]], [[YF]]
580
580
; CHECK-NEXT: ret half [[R]]
581
581
;
@@ -643,7 +643,7 @@ define half @test_si_si_i16_mul_fail_overflow(i16 noundef %x_in, i16 noundef %y_
643
643
; CHECK-NEXT: [[XX:%.*]] = and i16 [[X_IN:%.*]], 126
644
644
; CHECK-NEXT: [[X:%.*]] = or disjoint i16 [[XX]], 1
645
645
; CHECK-NEXT: [[Y:%.*]] = or i16 [[Y_IN:%.*]], -257
646
- ; CHECK-NEXT: [[XF:%.*]] = sitofp i16 [[X]] to half
646
+ ; CHECK-NEXT: [[XF:%.*]] = uitofp i16 [[X]] to half
647
647
; CHECK-NEXT: [[YF:%.*]] = sitofp i16 [[Y]] to half
648
648
; CHECK-NEXT: [[R:%.*]] = fmul half [[XF]], [[YF]]
649
649
; CHECK-NEXT: ret half [[R]]
@@ -821,7 +821,7 @@ define half @test_si_si_i12_sub(i12 noundef %x_in, i12 noundef %y_in) {
821
821
; CHECK-NEXT: [[X:%.*]] = and i12 [[X_IN:%.*]], 1023
822
822
; CHECK-NEXT: [[Y:%.*]] = or i12 [[Y_IN:%.*]], -1024
823
823
; CHECK-NEXT: [[TMP1:%.*]] = sub nsw i12 [[X]], [[Y]]
824
- ; CHECK-NEXT: [[R:%.*]] = sitofp i12 [[TMP1]] to half
824
+ ; CHECK-NEXT: [[R:%.*]] = uitofp i12 [[TMP1]] to half
825
825
; CHECK-NEXT: ret half [[R]]
826
826
;
827
827
%x = and i12 %x_in , 1023
@@ -915,7 +915,7 @@ define half @test_si_si_i12_mul_fail_overflow(i12 noundef %x_in, i12 noundef %y_
915
915
; CHECK-NEXT: [[XX:%.*]] = and i12 [[X_IN:%.*]], 30
916
916
; CHECK-NEXT: [[X:%.*]] = or disjoint i12 [[XX]], 1
917
917
; CHECK-NEXT: [[Y:%.*]] = or i12 [[Y_IN:%.*]], -128
918
- ; CHECK-NEXT: [[XF:%.*]] = sitofp i12 [[X]] to half
918
+ ; CHECK-NEXT: [[XF:%.*]] = uitofp i12 [[X]] to half
919
919
; CHECK-NEXT: [[YF:%.*]] = sitofp i12 [[Y]] to half
920
920
; CHECK-NEXT: [[R:%.*]] = fmul half [[XF]], [[YF]]
921
921
; CHECK-NEXT: ret half [[R]]
@@ -933,7 +933,7 @@ define half @test_si_si_i12_mul_fail_maybe_non_zero(i12 noundef %x_in, i12 nound
933
933
; CHECK-LABEL: @test_si_si_i12_mul_fail_maybe_non_zero(
934
934
; CHECK-NEXT: [[X:%.*]] = and i12 [[X_IN:%.*]], 30
935
935
; CHECK-NEXT: [[Y:%.*]] = or i12 [[Y_IN:%.*]], -128
936
- ; CHECK-NEXT: [[XF:%.*]] = sitofp i12 [[X]] to half
936
+ ; CHECK-NEXT: [[XF:%.*]] = uitofp i12 [[X]] to half
937
937
; CHECK-NEXT: [[YF:%.*]] = sitofp i12 [[Y]] to half
938
938
; CHECK-NEXT: [[R:%.*]] = fmul half [[XF]], [[YF]]
939
939
; CHECK-NEXT: ret half [[R]]
@@ -950,7 +950,7 @@ define half @test_si_si_i12_mul_C(i12 noundef %x_in) {
950
950
; CHECK-LABEL: @test_si_si_i12_mul_C(
951
951
; CHECK-NEXT: [[X:%.*]] = or i12 [[X_IN:%.*]], -64
952
952
; CHECK-NEXT: [[TMP1:%.*]] = mul nsw i12 [[X]], -16
953
- ; CHECK-NEXT: [[R:%.*]] = sitofp i12 [[TMP1]] to half
953
+ ; CHECK-NEXT: [[R:%.*]] = uitofp i12 [[TMP1]] to half
954
954
; CHECK-NEXT: ret half [[R]]
955
955
;
956
956
%x = or i12 %x_in , -64
0 commit comments