@@ -348,8 +348,7 @@ define <2 x i32> @narrow_lshr_constant(<2 x i8> %x, <2 x i8> %y) {
348
348
349
349
define i32 @mul_splat_fold (i32 %x ) {
350
350
; CHECK-LABEL: @mul_splat_fold(
351
- ; CHECK-NEXT: [[T:%.*]] = and i32 [[X:%.*]], 65535
352
- ; CHECK-NEXT: ret i32 [[T]]
351
+ ; CHECK-NEXT: ret i32 [[X:%.*]]
353
352
;
354
353
%m = mul nuw i32 %x , 65537
355
354
%t = lshr i32 %m , 16
@@ -362,8 +361,7 @@ define <3 x i14> @mul_splat_fold_vec(<3 x i14> %x) {
362
361
; CHECK-LABEL: @mul_splat_fold_vec(
363
362
; CHECK-NEXT: [[M:%.*]] = mul nuw <3 x i14> [[X:%.*]], <i14 129, i14 129, i14 129>
364
363
; CHECK-NEXT: call void @usevec(<3 x i14> [[M]])
365
- ; CHECK-NEXT: [[T:%.*]] = and <3 x i14> [[X]], <i14 127, i14 127, i14 127>
366
- ; CHECK-NEXT: ret <3 x i14> [[T]]
364
+ ; CHECK-NEXT: ret <3 x i14> [[X]]
367
365
;
368
366
%m = mul nuw <3 x i14 > %x , <i14 129 , i14 129 , i14 129 >
369
367
call void @usevec (<3 x i14 > %m )
@@ -628,8 +626,6 @@ define i32 @mul_splat_fold_wrong_lshr_const(i32 %x) {
628
626
ret i32 %t
629
627
}
630
628
631
- ; Negative test (but simplifies into a different transform)
632
-
633
629
define i32 @mul_splat_fold_no_nuw (i32 %x ) {
634
630
; CHECK-LABEL: @mul_splat_fold_no_nuw(
635
631
; CHECK-NEXT: [[TMP1:%.*]] = lshr i32 [[X:%.*]], 16
@@ -641,7 +637,7 @@ define i32 @mul_splat_fold_no_nuw(i32 %x) {
641
637
ret i32 %t
642
638
}
643
639
644
- ; Negative test
640
+ ; Negative test
645
641
646
642
define i32 @mul_splat_fold_no_flags (i32 %x ) {
647
643
; CHECK-LABEL: @mul_splat_fold_no_flags(
0 commit comments