Lines Matching full:arg1
14 ; CHECK: [[ARG1SEXT:%[a-zA-Z_0-9-]+]] = sext i32 %arg1 to i64
19 define i8 @twoArgsPromotion(i32 %arg1, i32 %arg2) {
20 %add = add nsw i32 %arg1, %arg2
33 ; CHECK: add nsw i32 %arg1, %arg2
35 define i8 @twoArgsNoPromotion(i32 %arg1, i32 %arg2, i8* %base) {
36 %add = add nsw i32 %arg1, %arg2
48 define i8 @noPromotion(i32 %arg1, i32 %arg2, i8* %base) {
49 %add = add i32 %arg1, %arg2
58 ; CHECK: [[ARG1SEXT:%[a-zA-Z_0-9-]+]] = sext i32 %arg1 to i64
62 define i8 @oneArgPromotion(i32 %arg1, i8* %base) {
63 %add = add nsw i32 %arg1, 1
72 ; CHECK: [[ARG1ZEXT:%[a-zA-Z_0-9-]+]] = zext i8 %arg1 to i64
76 define i8 @oneArgPromotionZExt(i8 %arg1, i8* %base) {
77 %zext = zext i8 %arg1 to i32
108 ; CHECK: [[ARG1TRUNC:%[a-zA-Z_0-9-]+]] = trunc i32 %arg1 to i8
113 define i8 @oneArgPromotionBlockTrunc1(i32 %arg1, i8* %base) {
114 %trunc = trunc i32 %arg1 to i8
125 ; CHECK: [[ARG1SEXT:%[a-zA-Z_0-9-]+]] = sext i16 %arg1 to i32
131 define i8 @oneArgPromotionBlockTrunc2(i16 %arg1, i8* %base) {
132 %sextarg1 = sext i16 %arg1 to i32
144 ; CHECK: [[ARG1SEXT:%[a-zA-Z_0-9-]+]] = sext i1 %arg1 to i64
148 define i8 @oneArgPromotionPassTruncKeepSExt(i1 %arg1, i8* %base) {
149 %sextarg1 = sext i1 %arg1 to i32
162 ; CHECK: [[ARG1SEXT:%[a-zA-Z_0-9-]+]] = sext i8 %arg1 to i64
169 define i8 @oneArgPromotionTruncInsert(i8 %arg1, i8* %base) {
170 %add = add nsw i8 %arg1, 1
180 ; CHECK: [[ARG1TRUNC:%[a-zA-Z_0-9-]+]] = trunc i128 %arg1 to i8
185 define i8 @oneArgPromotionLargerType(i128 %arg1, i8* %base) {
186 %trunc = trunc i128 %arg1 to i8
200 ; CHECK: [[ARG1SEXT:%[a-zA-Z_0-9-]+]] = sext i8 %arg1 to i64
208 define i8 @oneArgPromotionTruncInsertSeveralUse(i8 %arg1, i8* %base) {
209 %add = add nsw i8 %arg1, 1
221 ; CHECK: [[ARG1SEXT:%[a-zA-Z_0-9-]+]] = sext i8 %arg1 to i64
228 define i64 @oneArgPromotionSExtSeveralUse(i8 %arg1, i8* %base) {
229 %add = add nsw i8 %arg1, 1
247 ; - Creating a sext for %arg1 and %arg2.
255 ; CHECK: [[ORIG:%[a-zA-Z_0-9-]+]] = add nsw i32 %arg1, %arg2
260 define i8 @twoArgsPromotionNest(i32 %arg1, i32 %arg2, i8* %base) {
261 %promotableadd1 = add nsw i32 %arg1, %arg2
272 ; the sext of arg1.
276 ; CHECK: [[SEXTARG1:%[a-zA-Z_0-9-]+]] = sext i1 %arg1 to i32
282 define i8 @twoArgsNoPromotionRemove(i1 %arg1, i8 %arg2, i8* %base) {
283 %sextarg1 = sext i1 %arg1 to i32
301 ; arrayidx, the matcher promotes everything all the way to %arg1, %arg2.
306 ; CHECK-NOT: {{%[a-zA-Z_0-9-]+}} = sext i32 %arg1 to i64
308 ; CHECK: [[SHL:%[a-zA-Z_0-9-]+]] = shl nsw i32 %arg1, 1
321 ; CHECK-GEP-NOT: {{%[a-zA-Z_0-9-]+}} = sext i32 %arg1 to i64
323 ; CHECK-GEP: [[SHL:%[a-zA-Z_0-9-]+]] = shl nsw i32 %arg1, 1
339 define i32 @checkProfitability(i32 %arg1, i32 %arg2, i1 %test) {
340 %shl = shl nsw i32 %arg1, 1
426 ; CHECK: [[ADD:%[a-zA-Z_0-9-]+]] = add nsw i32 %arg1, %arg2
430 define i8 @noPromotionFlag(i32 %arg1, i32 %arg2) {
431 %add = add nsw i32 %arg1, %arg2
440 ; CHECK: [[ARG1ZEXT:%[a-zA-Z_0-9-]+]] = zext i32 %arg1 to i64
445 define i8 @twoArgsPromotionZExt(i32 %arg1, i32 %arg2) {
446 %add = add nuw i32 %arg1, %arg2
455 ; CHECK: [[ARG1ZEXT:%[a-zA-Z_0-9-]+]] = zext i8 %arg1 to i64
459 define i8 @oneArgPromotionNegativeCstZExt(i8 %arg1, i8* %base) {
460 %add = add nuw i8 %arg1, -1
469 ; CHECK: [[ARG1ZEXT:%[a-zA-Z_0-9-]+]] = zext i8 %arg1 to i64
473 define i8 @oneArgPromotionZExtZExt(i8 %arg1, i8* %base) {
474 %zext = zext i8 %arg1 to i32
485 ; CHECK: [[ARG1SEXT:%[a-zA-Z_0-9-]+]] = sext i1 %arg1 to i32
491 define i8 @oneArgPromotionBlockTruncZExt(i1 %arg1, i8* %base) {
492 %sextarg1 = sext i1 %arg1 to i32
504 ; CHECK: [[ARG1ZEXT:%[a-zA-Z_0-9-]+]] = zext i1 %arg1 to i64
508 define i8 @oneArgPromotionPassTruncZExt(i1 %arg1, i8* %base) {
509 %sextarg1 = zext i1 %arg1 to i32
520 ; CHECK: [[ARG1SEXT:%[a-zA-Z_0-9-]+]] = sext i1 %arg1 to i8
525 define i8 @oneArgPromotionBlockSExtZExt(i1 %arg1, i8* %base) {
526 %sextarg1 = sext i1 %arg1 to i8