Lines Matching full:add
8 ; CHECK-NEXT: [[ADD_1:%.*]] = add nuw i8 [[A_SHR]], 1
9 ; CHECK-NEXT: [[ADD_2:%.*]] = add nuw nsw i8 [[A_SHR]], -128
10 ; CHECK-NEXT: [[ADD_3:%.*]] = add nsw i8 [[A_SHR]], -127
11 ; CHECK-NEXT: [[ADD_4:%.*]] = add nsw i8 [[A_SHR]], -1
19 %add.1 = add i8 %a.shr, 1
20 %add.2 = add i8 %a.shr, 128
21 %add.3 = add i8 %a.shr, 129
22 %add.4 = add i8 %a.shr, -1
23 %res.1 = xor i8 %add.1, %add.2
24 %res.2 = xor i8 %res.1, %add.3
25 %res.3 = xor i8 %res.2, %add.4
33 ; CHECK-NEXT: [[ADD_1:%.*]] = add nuw nsw i8 [[A_AND]], 1
38 %add.1 = add i8 %a.and, 1
39 ret i8 %add.1
46 ; CHECK-NEXT: [[ADD_1:%.*]] = add nuw <4 x i8> [[A_SHR]], <i8 1, i8 2, i8 3, i8 4>
51 %add.1 = add <4 x i8> %a.shr, <i8 1, i8 2, i8 3, i8 4>
52 ret <4 x i8> %add.1
59 ; CHECK-NEXT: [[ADD_1:%.*]] = add nuw <4 x i8> [[A_SHR]], splat (i8 2)
64 %add.1 = add <4 x i8> %a.shr, <i8 2, i8 2, i8 2, i8 2>
65 ret <4 x i8> %add.1
76 ; CHECK-NEXT: [[ADD_1:%.*]] = add nuw nsw i8 [[A]], 1
77 ; CHECK-NEXT: [[ADD_2:%.*]] = add nsw i8 [[A]], -1
78 ; CHECK-NEXT: [[ADD_3:%.*]] = add nuw nsw i8 [[A]], -91
79 ; CHECK-NEXT: [[ADD_4:%.*]] = add nsw i8 [[A]], -90
85 ; CHECK-NEXT: [[ADD_5:%.*]] = add i8 [[A]], 1
86 ; CHECK-NEXT: [[ADD_6:%.*]] = add i8 [[A]], -1
87 ; CHECK-NEXT: [[ADD_7:%.*]] = add i8 [[A]], -91
88 ; CHECK-NEXT: [[ADD_8:%.*]] = add i8 [[A]], -90
101 %add.1 = add i8 %a, 1
102 %add.2 = add i8 %a, -1
103 %add.3 = add i8 %a, 165
104 %add.4 = add i8 %a, 166
105 %res.1 = xor i8 %add.1, %add.2
106 %res.2 = xor i8 %res.1, %add.3
107 %res.3 = xor i8 %res.2, %add.4
111 %add.5 = add i8 %a, 1
112 %add.6 = add i8 %a, -1
113 %add.7 = add i8 %a, 165
114 %add.8 = add i8 %a, 166
115 %res.4 = xor i8 %add.5, %add.6
116 %res.5 = xor i8 %res.4, %add.7
117 %res.6 = xor i8 %res.5, %add.8
128 ; CHECK-NEXT: [[ADD_1:%.*]] = add i16 [[SEXT]], 1
129 ; CHECK-NEXT: [[ADD_2:%.*]] = add i16 [[SEXT]], -128
130 ; CHECK-NEXT: [[ADD_3:%.*]] = add i16 [[SEXT]], -127
136 ; CHECK-NEXT: [[ADD_4:%.*]] = add nsw i16 [[SEXT_2]], 1
137 ; CHECK-NEXT: [[ADD_5:%.*]] = add nsw i16 [[SEXT_2]], -128
138 ; CHECK-NEXT: [[ADD_6:%.*]] = add nsw i16 [[SEXT_2]], -127
149 %add.1 = add i16 %sext, 1
150 %add.2 = add i16 %sext, 65408
151 %add.3 = add i16 %sext, 65409
152 %res.1 = xor i16 %add.1, %add.2
153 %res.2 = xor i16 %res.1, %add.3
158 %add.4 = add i16 %sext.2, 1
159 %add.5 = add i16 %sext.2, 65408
160 %add.6 = add i16 %sext.2, 65409
161 %res.3 = xor i16 %add.4, %add.5
162 %res.4 = xor i16 %res.3, %add.6
172 ; CHECK-NEXT: [[ADD:%.*]] = add nuw nsw <6 x i8> [[A:%.*]], zeroinitializer
173 ; CHECK-NEXT: ret <6 x i8> [[ADD]]
177 %add = add <6 x i8> %a, %c
178 ret <6 x i8> %add
187 ; CHECK-NEXT: [[RES:%.*]] = add i64 [[A:%.*]], ptrtoint (ptr @callee to i64)
192 %res = add i64 %a, %fn.addr
199 ; CHECK-NEXT: [[ADD:%.*]] = add <4 x i8> [[A:%.*]], splat (i8 3)
200 ; CHECK-NEXT: ret <4 x i8> [[ADD]]
203 %add = add <4 x i8> %a, %b
204 ret <4 x i8> %add
212 %add = add <4 x i8> <i8 1, i8 1, i8 1, i8 1>, <i8 2, i8 2, i8 2, i8 2>
213 %res.1 = call <4 x i8> @test_propagate_argument(<4 x i8> %a, <4 x i8> %add)
225 ; CHECK-NEXT: [[ADD:%.*]] = add i16 1, [[CONV]]
226 ; CHECK-NEXT: ret i16 [[ADD]]
237 %add = add i16 1, %conv
238 ret i16 %add
247 ; CHECK-NEXT: [[ADD:%.*]] = add nuw i32 [[A:%.*]], 10000
248 ; CHECK-NEXT: [[SUB:%.*]] = add i32 [[ADD]], -5000
252 %add = add nuw i32 %a, 10000
253 %sub = add i32 %add, -5000
261 ; CHECK-NEXT: [[ADD:%.*]] = add nsw i32 [[A:%.*]], 10000
262 ; CHECK-NEXT: [[SUB:%.*]] = add nsw i32 [[ADD]], -5000
267 %add = add nsw i32 %a, 10000
268 %sub = add i32 %add, -5000