@@ -1047,10 +1047,7 @@ define i8 @known_reduce_and_fail(<2 x i8> %xx) {
1047
1047
1048
1048
define i8 @known_reduce_xor_even (<2 x i8 > %xx ) {
1049
1049
; CHECK-LABEL: @known_reduce_xor_even(
1050
- ; CHECK-NEXT: [[X:%.*]] = or <2 x i8> [[XX:%.*]], <i8 5, i8 3>
1051
- ; CHECK-NEXT: [[V:%.*]] = call i8 @llvm.vector.reduce.xor.v2i8(<2 x i8> [[X]])
1052
- ; CHECK-NEXT: [[R:%.*]] = and i8 [[V]], 1
1053
- ; CHECK-NEXT: ret i8 [[R]]
1050
+ ; CHECK-NEXT: ret i8 0
1054
1051
;
1055
1052
%x = or <2 x i8 > %xx , <i8 5 , i8 3 >
1056
1053
%v = call i8 @llvm.vector.reduce.xor (<2 x i8 > %x )
@@ -1060,10 +1057,7 @@ define i8 @known_reduce_xor_even(<2 x i8> %xx) {
1060
1057
1061
1058
define i8 @known_reduce_xor_even2 (<2 x i8 > %xx ) {
1062
1059
; CHECK-LABEL: @known_reduce_xor_even2(
1063
- ; CHECK-NEXT: [[X:%.*]] = and <2 x i8> [[XX:%.*]], <i8 15, i8 15>
1064
- ; CHECK-NEXT: [[V:%.*]] = call i8 @llvm.vector.reduce.xor.v2i8(<2 x i8> [[X]])
1065
- ; CHECK-NEXT: [[R:%.*]] = and i8 [[V]], 16
1066
- ; CHECK-NEXT: ret i8 [[R]]
1060
+ ; CHECK-NEXT: ret i8 0
1067
1061
;
1068
1062
%x = and <2 x i8 > %xx , <i8 15 , i8 15 >
1069
1063
%v = call i8 @llvm.vector.reduce.xor (<2 x i8 > %x )
@@ -1086,10 +1080,7 @@ define i8 @known_reduce_xor_even_fail(<2 x i8> %xx) {
1086
1080
1087
1081
define i8 @known_reduce_xor_odd (<3 x i8 > %xx ) {
1088
1082
; CHECK-LABEL: @known_reduce_xor_odd(
1089
- ; CHECK-NEXT: [[X:%.*]] = or <3 x i8> [[XX:%.*]], <i8 5, i8 3, i8 9>
1090
- ; CHECK-NEXT: [[V:%.*]] = call i8 @llvm.vector.reduce.xor.v3i8(<3 x i8> [[X]])
1091
- ; CHECK-NEXT: [[R:%.*]] = and i8 [[V]], 1
1092
- ; CHECK-NEXT: ret i8 [[R]]
1083
+ ; CHECK-NEXT: ret i8 1
1093
1084
;
1094
1085
%x = or <3 x i8 > %xx , <i8 5 , i8 3 , i8 9 >
1095
1086
%v = call i8 @llvm.vector.reduce.xor.v3i8 (<3 x i8 > %x )
@@ -1099,10 +1090,7 @@ define i8 @known_reduce_xor_odd(<3 x i8> %xx) {
1099
1090
1100
1091
define i8 @known_reduce_xor_odd2 (<3 x i8 > %xx ) {
1101
1092
; CHECK-LABEL: @known_reduce_xor_odd2(
1102
- ; CHECK-NEXT: [[X:%.*]] = and <3 x i8> [[XX:%.*]], <i8 15, i8 15, i8 31>
1103
- ; CHECK-NEXT: [[V:%.*]] = call i8 @llvm.vector.reduce.xor.v3i8(<3 x i8> [[X]])
1104
- ; CHECK-NEXT: [[R:%.*]] = and i8 [[V]], 32
1105
- ; CHECK-NEXT: ret i8 [[R]]
1093
+ ; CHECK-NEXT: ret i8 0
1106
1094
;
1107
1095
%x = and <3 x i8 > %xx , <i8 15 , i8 15 , i8 31 >
1108
1096
%v = call i8 @llvm.vector.reduce.xor.v3i8 (<3 x i8 > %x )
0 commit comments