@@ -34,11 +34,8 @@ void foo(int A[10], int a) {
34
34
// CHECK-LABEL: func.func @xor_i8(
35
35
// CHECK-SAME: %[[VAL_0:.*]]: i8,
36
36
// CHECK-SAME: %[[VAL_1:.*]]: i8) -> i8
37
- // CHECK-NEXT: %[[VAL_2:.*]] = arith.extsi %[[VAL_0]] : i8 to i32
38
- // CHECK-NEXT: %[[VAL_3:.*]] = arith.extsi %[[VAL_1]] : i8 to i32
39
- // CHECK-NEXT: %[[VAL_4:.*]] = arith.xori %[[VAL_2]], %[[VAL_3]] : i32
40
- // CHECK-NEXT: %[[VAL_5:.*]] = arith.trunci %[[VAL_4]] : i32 to i8
41
- // CHECK-NEXT: return %[[VAL_5]] : i8
37
+ // CHECK-NEXT: %[[VAL_2:.*]] = arith.xori %[[VAL_0]], %[[VAL_1]] : i8
38
+ // CHECK-NEXT: return %[[VAL_2]] : i8
42
39
// CHECK-NEXT: }
43
40
char xor_i8 (char a , char b ) {
44
41
return a ^ b ;
@@ -47,11 +44,8 @@ char xor_i8(char a, char b) {
47
44
// CHECK-LABEL: func.func @xor_i16(
48
45
// CHECK-SAME: %[[VAL_0:.*]]: i16,
49
46
// CHECK-SAME: %[[VAL_1:.*]]: i16) -> i16
50
- // CHECK-NEXT: %[[VAL_2:.*]] = arith.extsi %[[VAL_0]] : i16 to i32
51
- // CHECK-NEXT: %[[VAL_3:.*]] = arith.extsi %[[VAL_1]] : i16 to i32
52
- // CHECK-NEXT: %[[VAL_4:.*]] = arith.xori %[[VAL_2]], %[[VAL_3]] : i32
53
- // CHECK-NEXT: %[[VAL_5:.*]] = arith.trunci %[[VAL_4]] : i32 to i16
54
- // CHECK-NEXT: return %[[VAL_5]] : i16
47
+ // CHECK-NEXT: %[[VAL_2:.*]] = arith.xori %[[VAL_0]], %[[VAL_1]] : i16
48
+ // CHECK-NEXT: return %[[VAL_2]] : i16
55
49
// CHECK-NEXT: }
56
50
short xor_i16 (short a , short b ) {
57
51
return a ^ b ;
@@ -83,11 +77,8 @@ long xor_i64(long a, long b) {
83
77
// CHECK-LABEL: func.func @xor_ui8(
84
78
// CHECK-SAME: %[[VAL_0:.*]]: i8,
85
79
// CHECK-SAME: %[[VAL_1:.*]]: i8) -> i8
86
- // CHECK-NEXT: %[[VAL_2:.*]] = arith.extui %[[VAL_0]] : i8 to i32
87
- // CHECK-NEXT: %[[VAL_3:.*]] = arith.extui %[[VAL_1]] : i8 to i32
88
- // CHECK-NEXT: %[[VAL_4:.*]] = arith.xori %[[VAL_2]], %[[VAL_3]] : i32
89
- // CHECK-NEXT: %[[VAL_5:.*]] = arith.trunci %[[VAL_4]] : i32 to i8
90
- // CHECK-NEXT: return %[[VAL_5]] : i8
80
+ // CHECK-NEXT: %[[VAL_2:.*]] = arith.xori %[[VAL_0]], %[[VAL_1]] : i8
81
+ // CHECK-NEXT: return %[[VAL_2]] : i8
91
82
// CHECK-NEXT: }
92
83
unsigned char xor_ui8 (unsigned char a , unsigned char b ) {
93
84
return a ^ b ;
@@ -97,11 +88,8 @@ unsigned char xor_ui8(unsigned char a, unsigned char b) {
97
88
// CHECK-LABEL: func.func @xor_ui16(
98
89
// CHECK-SAME: %[[VAL_0:.*]]: i16,
99
90
// CHECK-SAME: %[[VAL_1:.*]]: i16) -> i16
100
- // CHECK-NEXT: %[[VAL_2:.*]] = arith.extui %[[VAL_0]] : i16 to i32
101
- // CHECK-NEXT: %[[VAL_3:.*]] = arith.extui %[[VAL_1]] : i16 to i32
102
- // CHECK-NEXT: %[[VAL_4:.*]] = arith.xori %[[VAL_2]], %[[VAL_3]] : i32
103
- // CHECK-NEXT: %[[VAL_5:.*]] = arith.trunci %[[VAL_4]] : i32 to i16
104
- // CHECK-NEXT: return %[[VAL_5]] : i16
91
+ // CHECK-NEXT: %[[VAL_2:.*]] = arith.xori %[[VAL_0]], %[[VAL_1]] : i16
92
+ // CHECK-NEXT: return %[[VAL_2]] : i16
105
93
// CHECK-NEXT: }
106
94
unsigned short xor_ui16 (unsigned short a , unsigned short b ) {
107
95
return a ^ b ;
0 commit comments