@@ -356,18 +356,12 @@ define i1 @eq_21_extra_use_eq2(i32 %x, i32 %y) {
356
356
357
357
define i1 @eq_21_logical (i32 %x , i32 %y ) {
358
358
; CHECK-LABEL: @eq_21_logical(
359
- ; CHECK-NEXT: [[X_321:%.*]] = lshr i32 [[X:%.*]], 8
360
- ; CHECK-NEXT: [[X_1:%.*]] = trunc i32 [[X_321]] to i8
361
- ; CHECK-NEXT: [[X_32:%.*]] = lshr i32 [[X]], 16
362
- ; CHECK-NEXT: [[X_2:%.*]] = trunc i32 [[X_32]] to i8
363
- ; CHECK-NEXT: [[Y_321:%.*]] = lshr i32 [[Y:%.*]], 8
364
- ; CHECK-NEXT: [[Y_1:%.*]] = trunc i32 [[Y_321]] to i8
365
- ; CHECK-NEXT: [[Y_32:%.*]] = lshr i32 [[Y]], 16
366
- ; CHECK-NEXT: [[Y_2:%.*]] = trunc i32 [[Y_32]] to i8
367
- ; CHECK-NEXT: [[C_1:%.*]] = icmp eq i8 [[X_1]], [[Y_1]]
368
- ; CHECK-NEXT: [[C_2:%.*]] = icmp eq i8 [[X_2]], [[Y_2]]
369
- ; CHECK-NEXT: [[C_210:%.*]] = select i1 [[C_2]], i1 [[C_1]], i1 false
370
- ; CHECK-NEXT: ret i1 [[C_210]]
359
+ ; CHECK-NEXT: [[TMP1:%.*]] = lshr i32 [[X:%.*]], 8
360
+ ; CHECK-NEXT: [[TMP2:%.*]] = trunc i32 [[TMP1]] to i16
361
+ ; CHECK-NEXT: [[TMP3:%.*]] = lshr i32 [[Y:%.*]], 8
362
+ ; CHECK-NEXT: [[TMP4:%.*]] = trunc i32 [[TMP3]] to i16
363
+ ; CHECK-NEXT: [[TMP5:%.*]] = icmp eq i16 [[TMP2]], [[TMP4]]
364
+ ; CHECK-NEXT: ret i1 [[TMP5]]
371
365
;
372
366
%x.321 = lshr i32 %x , 8
373
367
%x.1 = trunc i32 %x.321 to i8
@@ -1027,18 +1021,12 @@ define i1 @ne_21_extra_use_ne2(i32 %x, i32 %y) {
1027
1021
1028
1022
define i1 @ne_21_logical (i32 %x , i32 %y ) {
1029
1023
; CHECK-LABEL: @ne_21_logical(
1030
- ; CHECK-NEXT: [[X_321:%.*]] = lshr i32 [[X:%.*]], 8
1031
- ; CHECK-NEXT: [[X_1:%.*]] = trunc i32 [[X_321]] to i8
1032
- ; CHECK-NEXT: [[X_32:%.*]] = lshr i32 [[X]], 16
1033
- ; CHECK-NEXT: [[X_2:%.*]] = trunc i32 [[X_32]] to i8
1034
- ; CHECK-NEXT: [[Y_321:%.*]] = lshr i32 [[Y:%.*]], 8
1035
- ; CHECK-NEXT: [[Y_1:%.*]] = trunc i32 [[Y_321]] to i8
1036
- ; CHECK-NEXT: [[Y_32:%.*]] = lshr i32 [[Y]], 16
1037
- ; CHECK-NEXT: [[Y_2:%.*]] = trunc i32 [[Y_32]] to i8
1038
- ; CHECK-NEXT: [[C_1:%.*]] = icmp ne i8 [[X_1]], [[Y_1]]
1039
- ; CHECK-NEXT: [[C_2:%.*]] = icmp ne i8 [[X_2]], [[Y_2]]
1040
- ; CHECK-NEXT: [[C_210:%.*]] = select i1 [[C_2]], i1 true, i1 [[C_1]]
1041
- ; CHECK-NEXT: ret i1 [[C_210]]
1024
+ ; CHECK-NEXT: [[TMP1:%.*]] = lshr i32 [[X:%.*]], 8
1025
+ ; CHECK-NEXT: [[TMP2:%.*]] = trunc i32 [[TMP1]] to i16
1026
+ ; CHECK-NEXT: [[TMP3:%.*]] = lshr i32 [[Y:%.*]], 8
1027
+ ; CHECK-NEXT: [[TMP4:%.*]] = trunc i32 [[TMP3]] to i16
1028
+ ; CHECK-NEXT: [[TMP5:%.*]] = icmp ne i16 [[TMP2]], [[TMP4]]
1029
+ ; CHECK-NEXT: ret i1 [[TMP5]]
1042
1030
;
1043
1031
%x.321 = lshr i32 %x , 8
1044
1032
%x.1 = trunc i32 %x.321 to i8
0 commit comments