Lines Matching refs:val
23 IR_FOLD_BOOL(op1_insn->val.u64 == op2_insn->val.u64); in IR_FOLD()
28 IR_FOLD_BOOL(op1_insn->val.d == op2_insn->val.d); in IR_FOLD()
33 IR_FOLD_BOOL(op1_insn->val.d == op2_insn->val.d); in IR_FOLD()
48 IR_FOLD_BOOL(op1_insn->val.u64 != op2_insn->val.u64); in IR_FOLD()
53 IR_FOLD_BOOL(op1_insn->val.d != op2_insn->val.d); in IR_FOLD()
58 IR_FOLD_BOOL(op1_insn->val.f != op2_insn->val.f); in IR_FOLD()
68 IR_FOLD_BOOL(op1_insn->val.u64 < op2_insn->val.u64); in IR_FOLD()
77 IR_FOLD_BOOL(op1_insn->val.i64 < op2_insn->val.i64); in IR_FOLD()
82 IR_FOLD_BOOL(op1_insn->val.d < op2_insn->val.d); in IR_FOLD()
87 IR_FOLD_BOOL(op1_insn->val.f < op2_insn->val.f); in IR_FOLD()
97 IR_FOLD_BOOL(op1_insn->val.u64 >= op2_insn->val.u64); in IR_FOLD()
106 IR_FOLD_BOOL(op1_insn->val.i64 >= op2_insn->val.i64); in IR_FOLD()
111 IR_FOLD_BOOL(op1_insn->val.d >= op2_insn->val.d); in IR_FOLD()
116 IR_FOLD_BOOL(op1_insn->val.f >= op2_insn->val.f); in IR_FOLD()
126 IR_FOLD_BOOL(op1_insn->val.u64 <= op2_insn->val.u64); in IR_FOLD()
135 IR_FOLD_BOOL(op1_insn->val.i64 <= op2_insn->val.i64); in IR_FOLD()
140 IR_FOLD_BOOL(op1_insn->val.d <= op2_insn->val.d); in IR_FOLD()
145 IR_FOLD_BOOL(op1_insn->val.f <= op2_insn->val.f); in IR_FOLD()
155 IR_FOLD_BOOL(op1_insn->val.u64 > op2_insn->val.u64); in IR_FOLD()
164 IR_FOLD_BOOL(op1_insn->val.i64 > op2_insn->val.i64); in IR_FOLD()
169 IR_FOLD_BOOL(op1_insn->val.d > op2_insn->val.d); in IR_FOLD()
174 IR_FOLD_BOOL(op1_insn->val.f > op2_insn->val.f); in IR_FOLD()
189 IR_FOLD_BOOL(op1_insn->val.u64 < op2_insn->val.u64); in IR_FOLD()
194 IR_FOLD_BOOL(!(op1_insn->val.d >= op2_insn->val.d)); in IR_FOLD()
199 IR_FOLD_BOOL(!(op1_insn->val.f >= op2_insn->val.f)); in IR_FOLD()
214 IR_FOLD_BOOL(op1_insn->val.u64 >= op2_insn->val.u64); in IR_FOLD()
219 IR_FOLD_BOOL(!(op1_insn->val.d < op2_insn->val.d)); in IR_FOLD()
224 IR_FOLD_BOOL(!(op1_insn->val.f < op2_insn->val.f)); in IR_FOLD()
239 IR_FOLD_BOOL(op1_insn->val.u64 <= op2_insn->val.u64); in IR_FOLD()
244 IR_FOLD_BOOL(!(op1_insn->val.d > op2_insn->val.d)); in IR_FOLD()
249 IR_FOLD_BOOL(!(op1_insn->val.f > op2_insn->val.f)); in IR_FOLD()
264 IR_FOLD_BOOL(op1_insn->val.u64 > op2_insn->val.u64); in IR_FOLD()
269 IR_FOLD_BOOL(!(op1_insn->val.d <= op2_insn->val.d)); in IR_FOLD()
274 IR_FOLD_BOOL(!(op1_insn->val.f <= op2_insn->val.f)); in IR_FOLD()
280 IR_FOLD_CONST_U(op1_insn->val.u8 + op2_insn->val.u8); in IR_FOLD()
286 IR_FOLD_CONST_U(op1_insn->val.u16 + op2_insn->val.u16); in IR_FOLD()
292 IR_FOLD_CONST_U(op1_insn->val.u32 + op2_insn->val.u32); in IR_FOLD()
298 IR_FOLD_CONST_U(op1_insn->val.u64 + op2_insn->val.u64); in IR_FOLD()
308 IR_FOLD_CONST_U(op1_insn->val.addr + op2_insn->val.addr); in IR_FOLD()
314 IR_FOLD_CONST_I(op1_insn->val.i8 + op2_insn->val.i8); in IR_FOLD()
320 IR_FOLD_CONST_I(op1_insn->val.i16 + op2_insn->val.i16); in IR_FOLD()
326 IR_FOLD_CONST_I(op1_insn->val.i32 + op2_insn->val.i32); in IR_FOLD()
332 IR_FOLD_CONST_I(op1_insn->val.i64 + op2_insn->val.i64); in IR_FOLD()
338 IR_FOLD_CONST_D(op1_insn->val.d + op2_insn->val.d); in IR_FOLD()
344 IR_FOLD_CONST_F(op1_insn->val.f + op2_insn->val.f); in IR_FOLD()
350 IR_FOLD_CONST_U(op1_insn->val.u8 - op2_insn->val.u8); in IR_FOLD()
356 IR_FOLD_CONST_U(op1_insn->val.u16 - op2_insn->val.u16); in IR_FOLD()
362 IR_FOLD_CONST_U(op1_insn->val.u32 - op2_insn->val.u32); in IR_FOLD()
368 IR_FOLD_CONST_U(op1_insn->val.u64 - op2_insn->val.u64); in IR_FOLD()
378 IR_FOLD_CONST_U(op1_insn->val.addr - op2_insn->val.addr); in IR_FOLD()
384 IR_FOLD_CONST_I(op1_insn->val.i8 - op2_insn->val.i8); in IR_FOLD()
390 IR_FOLD_CONST_I(op1_insn->val.i16 - op2_insn->val.i16); in IR_FOLD()
396 IR_FOLD_CONST_I(op1_insn->val.i32 - op2_insn->val.i32); in IR_FOLD()
402 IR_FOLD_CONST_I(op1_insn->val.i64 - op2_insn->val.i64); in IR_FOLD()
408 IR_FOLD_CONST_D(op1_insn->val.d - op2_insn->val.d); in IR_FOLD()
414 IR_FOLD_CONST_F(op1_insn->val.f - op2_insn->val.f); in IR_FOLD()
420 IR_FOLD_CONST_U(op1_insn->val.u8 * op2_insn->val.u8); in IR_FOLD()
426 IR_FOLD_CONST_U(op1_insn->val.u16 * op2_insn->val.u16); in IR_FOLD()
432 IR_FOLD_CONST_U(op1_insn->val.u32 * op2_insn->val.u32); in IR_FOLD()
438 IR_FOLD_CONST_U(op1_insn->val.u64 * op2_insn->val.u64); in IR_FOLD()
448 IR_FOLD_CONST_U(op1_insn->val.addr * op2_insn->val.addr); in IR_FOLD()
454 IR_FOLD_CONST_I(op1_insn->val.i8 * op2_insn->val.i8); in IR_FOLD()
460 IR_FOLD_CONST_I(op1_insn->val.i16 * op2_insn->val.i16); in IR_FOLD()
466 IR_FOLD_CONST_I(op1_insn->val.i32 * op2_insn->val.i32); in IR_FOLD()
472 IR_FOLD_CONST_I(op1_insn->val.i64 * op2_insn->val.i64); in IR_FOLD()
478 IR_FOLD_CONST_D(op1_insn->val.d * op2_insn->val.d); in IR_FOLD()
484 IR_FOLD_CONST_F(op1_insn->val.f * op2_insn->val.f); in IR_FOLD()
494 if (op2_insn->val.u64 == 0) { in IR_FOLD()
498 IR_FOLD_CONST_U(op1_insn->val.u64 / op2_insn->val.u64); in IR_FOLD()
507 if (op2_insn->val.i64 == 0) { in IR_FOLD()
511 IR_FOLD_CONST_I(op1_insn->val.i64 / op2_insn->val.i64); in IR_FOLD()
517 IR_FOLD_CONST_D(op1_insn->val.d / op2_insn->val.d); in IR_FOLD()
523 IR_FOLD_CONST_F(op1_insn->val.f / op2_insn->val.f); in IR_FOLD()
533 if (op2_insn->val.u64 == 0) { in IR_FOLD()
537 IR_FOLD_CONST_U(op1_insn->val.u64 % op2_insn->val.u64); in IR_FOLD()
546 if (op2_insn->val.i64 == 0) { in IR_FOLD()
550 IR_FOLD_CONST_I(op1_insn->val.i64 % op2_insn->val.i64); in IR_FOLD()
559 IR_FOLD_CONST_I(-op1_insn->val.i64); in IR_FOLD()
565 IR_FOLD_CONST_D(-op1_insn->val.d); in IR_FOLD()
571 IR_FOLD_CONST_F(-op1_insn->val.f); in IR_FOLD()
580 if (op1_insn->val.i64 >= 0) { in IR_FOLD()
583 IR_FOLD_CONST_I(-op1_insn->val.i64); in IR_FOLD()
590 IR_FOLD_CONST_D(fabs(op1_insn->val.d)); in IR_FOLD()
596 IR_FOLD_CONST_F(fabsf(op1_insn->val.f)); in IR_FOLD()
607 if (op1_insn->val.u64 > max - op2_insn->val.u64) { in IR_FOLD()
610 IR_FOLD_CONST_U(op1_insn->val.u64 + op2_insn->val.u64); in IR_FOLD()
622 if ((op2_insn->val.i64 > 0 && op1_insn->val.i64 > max - op2_insn->val.i64) in IR_FOLD()
623 || (op2_insn->val.i64 < 0 && op1_insn->val.i64 < min - op2_insn->val.i64)) { in IR_FOLD()
626 IR_FOLD_CONST_I(op1_insn->val.i64 + op2_insn->val.i64); in IR_FOLD()
635 if (op2_insn->val.u64 > op1_insn->val.u64) { in IR_FOLD()
638 IR_FOLD_CONST_U(op1_insn->val.u64 - op2_insn->val.u64); in IR_FOLD()
650 if ((op2_insn->val.i64 > 0 && op1_insn->val.i64 < min + op2_insn->val.i64) in IR_FOLD()
651 || (op2_insn->val.i64 < 0 && op1_insn->val.i64 > max + op2_insn->val.i64)) { in IR_FOLD()
654 IR_FOLD_CONST_I(op1_insn->val.i64 - op2_insn->val.i64); in IR_FOLD()
666 res = op1_insn->val.u64 * op2_insn->val.u64; in IR_FOLD()
667 if (op1_insn->val.u64 != 0 && res / op1_insn->val.u64 != op2_insn->val.u64 && res <= max) { in IR_FOLD()
683 res = op1_insn->val.i64 * op2_insn->val.i64; in IR_FOLD()
684 …if (op1_insn->val.i64 != 0 && res / op1_insn->val.i64 != op2_insn->val.i64 && res >= min && res <=… in IR_FOLD()
701 IR_FOLD_BOOL(!op1_insn->val.u64); in IR_FOLD()
708 IR_FOLD_CONST_U(~op1_insn->val.u8); in IR_FOLD()
714 IR_FOLD_CONST_I(~op1_insn->val.i8); in IR_FOLD()
720 IR_FOLD_CONST_U(~op1_insn->val.u16); in IR_FOLD()
726 IR_FOLD_CONST_I(~op1_insn->val.i16); in IR_FOLD()
732 IR_FOLD_CONST_U(~op1_insn->val.u32); in IR_FOLD()
738 IR_FOLD_CONST_I(~op1_insn->val.i32); in IR_FOLD()
745 IR_FOLD_CONST_U(~op1_insn->val.u64); in IR_FOLD()
751 IR_FOLD_BOOL(op1_insn->val.b || op2_insn->val.b); in IR_FOLD()
761 IR_FOLD_CONST_U(op1_insn->val.u64 | op2_insn->val.u64); in IR_FOLD()
770 IR_FOLD_CONST_I(op1_insn->val.i64 | op2_insn->val.i64); in IR_FOLD()
776 IR_FOLD_BOOL(op1_insn->val.b && op2_insn->val.b); in IR_FOLD()
786 IR_FOLD_CONST_U(op1_insn->val.u64 & op2_insn->val.u64); in IR_FOLD()
795 IR_FOLD_CONST_I(op1_insn->val.i64 & op2_insn->val.i64); in IR_FOLD()
801 IR_FOLD_BOOL(op1_insn->val.b != op2_insn->val.b); in IR_FOLD()
808 IR_FOLD_CONST_U(op1_insn->val.u8 ^ op2_insn->val.u8); in IR_FOLD()
814 IR_FOLD_CONST_I(op1_insn->val.i8 ^ op2_insn->val.i8); in IR_FOLD()
820 IR_FOLD_CONST_U(op1_insn->val.u16 ^ op2_insn->val.u16); in IR_FOLD()
826 IR_FOLD_CONST_I(op1_insn->val.i16 ^ op2_insn->val.i16); in IR_FOLD()
832 IR_FOLD_CONST_U(op1_insn->val.u32 ^ op2_insn->val.u32); in IR_FOLD()
838 IR_FOLD_CONST_I(op1_insn->val.i32 ^ op2_insn->val.i32); in IR_FOLD()
844 IR_FOLD_CONST_U(op1_insn->val.u64 ^ op2_insn->val.u64); in IR_FOLD()
850 IR_FOLD_CONST_I(op1_insn->val.i64 ^ op2_insn->val.i64); in IR_FOLD()
857 IR_FOLD_CONST_U(op1_insn->val.u8 << op2_insn->val.u8); in IR_FOLD()
863 IR_FOLD_CONST_I(op1_insn->val.i8 << op2_insn->val.i8); in IR_FOLD()
869 IR_FOLD_CONST_U(op1_insn->val.u16 << op2_insn->val.u16); in IR_FOLD()
875 IR_FOLD_CONST_I(op1_insn->val.i16 << op2_insn->val.i16); in IR_FOLD()
881 IR_FOLD_CONST_U(op1_insn->val.u32 << op2_insn->val.u32); in IR_FOLD()
887 IR_FOLD_CONST_I(op1_insn->val.i32 << op2_insn->val.i32); in IR_FOLD()
894 IR_FOLD_CONST_U(op1_insn->val.u64 << op2_insn->val.u64); in IR_FOLD()
901 IR_FOLD_CONST_U(op1_insn->val.u8 >> op2_insn->val.u8); in IR_FOLD()
907 IR_FOLD_CONST_I((int8_t)(op1_insn->val.u8 >> op2_insn->val.u8)); in IR_FOLD()
913 IR_FOLD_CONST_U(op1_insn->val.u16 >> op2_insn->val.u16); in IR_FOLD()
919 IR_FOLD_CONST_U((int16_t)(op1_insn->val.u16 >> op2_insn->val.u16)); in IR_FOLD()
925 IR_FOLD_CONST_U(op1_insn->val.u32 >> op2_insn->val.u32); in IR_FOLD()
931 IR_FOLD_CONST_U((int32_t)(op1_insn->val.u32 >> op2_insn->val.u32)); in IR_FOLD()
938 IR_FOLD_CONST_U(op1_insn->val.u64 >> op2_insn->val.u64); in IR_FOLD()
945 IR_FOLD_CONST_U((uint8_t)(op1_insn->val.i8 >> op2_insn->val.i8)); in IR_FOLD()
951 IR_FOLD_CONST_I(op1_insn->val.i8 >> op2_insn->val.i8); in IR_FOLD()
957 IR_FOLD_CONST_U((uint16_t)(op1_insn->val.i16 >> op2_insn->val.i16)); in IR_FOLD()
963 IR_FOLD_CONST_I(op1_insn->val.i16 >> op2_insn->val.i16); in IR_FOLD()
969 IR_FOLD_CONST_U((uint32_t)(op1_insn->val.i32 >> op2_insn->val.i32)); in IR_FOLD()
975 IR_FOLD_CONST_I(op1_insn->val.i32 >> op2_insn->val.i32); in IR_FOLD()
982 IR_FOLD_CONST_I(op1_insn->val.i64 >> op2_insn->val.i64); in IR_FOLD()
989 IR_FOLD_CONST_U(ir_rol8(op1_insn->val.u8, op2_insn->val.u8)); in IR_FOLD()
995 IR_FOLD_CONST_I((int8_t)ir_rol8(op1_insn->val.u8, op2_insn->val.u8)); in IR_FOLD()
1001 IR_FOLD_CONST_U(ir_rol16(op1_insn->val.u16, op2_insn->val.u16)); in IR_FOLD()
1007 IR_FOLD_CONST_I((int16_t)ir_rol16(op1_insn->val.u16, op2_insn->val.u16)); in IR_FOLD()
1013 IR_FOLD_CONST_U(ir_rol32(op1_insn->val.u32, op2_insn->val.u32)); in IR_FOLD()
1019 IR_FOLD_CONST_I((int32_t)ir_rol32(op1_insn->val.u32, op2_insn->val.u32)); in IR_FOLD()
1026 IR_FOLD_CONST_U(ir_rol64(op1_insn->val.u64, op2_insn->val.u64)); in IR_FOLD()
1033 IR_FOLD_CONST_U(ir_ror8(op1_insn->val.u8, op2_insn->val.u8)); in IR_FOLD()
1039 IR_FOLD_CONST_I((int8_t)ir_ror8(op1_insn->val.u8, op2_insn->val.u8)); in IR_FOLD()
1045 IR_FOLD_CONST_U(ir_ror16(op1_insn->val.u16, op2_insn->val.u16)); in IR_FOLD()
1051 IR_FOLD_CONST_I((int16_t)ir_ror16(op1_insn->val.u16, op2_insn->val.u16)); in IR_FOLD()
1057 IR_FOLD_CONST_U(ir_ror32(op1_insn->val.u32, op2_insn->val.u32)); in IR_FOLD()
1063 IR_FOLD_CONST_I((int32_t)ir_ror32(op1_insn->val.u32, op2_insn->val.u32)); in IR_FOLD()
1070 IR_FOLD_CONST_U(ir_ror64(op1_insn->val.u64, op2_insn->val.u64)); in IR_FOLD()
1083 IR_FOLD_COPY(op1_insn->val.u64 <= op2_insn->val.u64 ? op1 : op2); in IR_FOLD()
1092 IR_FOLD_COPY(op1_insn->val.i64 <= op2_insn->val.i64 ? op1 : op2); in IR_FOLD()
1097 IR_FOLD_COPY(op1_insn->val.d <= op2_insn->val.d ? op1 : op2); in IR_FOLD()
1102 IR_FOLD_COPY(op1_insn->val.f <= op2_insn->val.f ? op1 : op2); in IR_FOLD()
1112 IR_FOLD_COPY(op1_insn->val.u64 >= op2_insn->val.u64 ? op1 : op2); in IR_FOLD()
1121 IR_FOLD_COPY(op1_insn->val.i64 >= op2_insn->val.i64 ? op1 : op2); in IR_FOLD()
1126 IR_FOLD_COPY(op1_insn->val.d >= op2_insn->val.d ? op1 : op2); in IR_FOLD()
1131 IR_FOLD_COPY(op1_insn->val.f >= op2_insn->val.f ? op1 : op2); in IR_FOLD()
1140 IR_FOLD_CONST_I((int64_t)op1_insn->val.i8); in IR_FOLD()
1148 IR_FOLD_CONST_I((int64_t)op1_insn->val.i16); in IR_FOLD()
1156 IR_FOLD_CONST_I((int64_t)op1_insn->val.i32); in IR_FOLD()
1165 IR_FOLD_CONST_U((uint64_t)op1_insn->val.u8); in IR_FOLD()
1173 IR_FOLD_CONST_U((uint64_t)op1_insn->val.u16); in IR_FOLD()
1181 IR_FOLD_CONST_U((uint64_t)op1_insn->val.u32); in IR_FOLD()
1197 IR_FOLD_CONST_I(op1_insn->val.i8); in IR_FOLD()
1199 IR_FOLD_CONST_I(op1_insn->val.i16); in IR_FOLD()
1201 IR_FOLD_CONST_I(op1_insn->val.i32); in IR_FOLD()
1203 IR_FOLD_CONST_U(op1_insn->val.u8); in IR_FOLD()
1205 IR_FOLD_CONST_U(op1_insn->val.u16); in IR_FOLD()
1207 IR_FOLD_CONST_U(op1_insn->val.u32); in IR_FOLD()
1231 IR_FOLD_BOOL(op1_insn->val.i8 != 0); in IR_FOLD()
1233 IR_FOLD_CONST_I(op1_insn->val.i8); in IR_FOLD()
1235 IR_FOLD_CONST_I(op1_insn->val.i16); in IR_FOLD()
1237 IR_FOLD_CONST_I(op1_insn->val.i32); in IR_FOLD()
1239 IR_FOLD_CONST_I(op1_insn->val.i64); in IR_FOLD()
1241 IR_FOLD_CONST_U(op1_insn->val.u8); in IR_FOLD()
1243 IR_FOLD_CONST_U(op1_insn->val.u16); in IR_FOLD()
1245 IR_FOLD_CONST_U(op1_insn->val.u32); in IR_FOLD()
1247 IR_FOLD_CONST_U(op1_insn->val.u64); in IR_FOLD()
1249 IR_FOLD_CONST_F(op1_insn->val.f); in IR_FOLD()
1251 IR_FOLD_CONST_D(op1_insn->val.d); in IR_FOLD()
1253 IR_FOLD_CONST_I(op1_insn->val.c); in IR_FOLD()
1255 IR_FOLD_CONST_U(op1_insn->val.addr); in IR_FOLD()
1265 IR_FOLD_CONST_D((double)op1_insn->val.i64); in IR_FOLD()
1268 IR_FOLD_CONST_F((float)op1_insn->val.i64); in IR_FOLD()
1278 IR_FOLD_CONST_D((double)op1_insn->val.u64); in IR_FOLD()
1281 IR_FOLD_CONST_F((float)op1_insn->val.u64); in IR_FOLD()
1292 IR_FOLD_CONST_I((int8_t)op1_insn->val.f); in IR_FOLD()
1294 IR_FOLD_CONST_I((int16_t)op1_insn->val.f); in IR_FOLD()
1296 IR_FOLD_CONST_I((int32_t)op1_insn->val.f); in IR_FOLD()
1298 IR_FOLD_CONST_I((int64_t)op1_insn->val.f); in IR_FOLD()
1300 IR_FOLD_CONST_U((uint8_t)op1_insn->val.f); in IR_FOLD()
1302 IR_FOLD_CONST_U((uint16_t)op1_insn->val.f); in IR_FOLD()
1304 IR_FOLD_CONST_U((uint32_t)op1_insn->val.f); in IR_FOLD()
1306 IR_FOLD_CONST_U((uint64_t)op1_insn->val.f); in IR_FOLD()
1317 IR_FOLD_CONST_I((int8_t)op1_insn->val.d); in IR_FOLD()
1319 IR_FOLD_CONST_I((int16_t)op1_insn->val.d); in IR_FOLD()
1321 IR_FOLD_CONST_I((int32_t)op1_insn->val.d); in IR_FOLD()
1323 IR_FOLD_CONST_I((int64_t)op1_insn->val.d); in IR_FOLD()
1325 IR_FOLD_CONST_U((uint8_t)op1_insn->val.d); in IR_FOLD()
1327 IR_FOLD_CONST_U((uint16_t)op1_insn->val.d); in IR_FOLD()
1329 IR_FOLD_CONST_U((uint32_t)op1_insn->val.d); in IR_FOLD()
1331 IR_FOLD_CONST_U((uint64_t)op1_insn->val.d); in IR_FOLD()
1338 IR_FOLD_CONST_D((double)op1_insn->val.f); in IR_FOLD()
1351 IR_FOLD_CONST_F((float)op1_insn->val.d); in IR_FOLD()
1466 if (op2_insn->val.u64 == 0 && ctx->ir_base[op1_insn->op1].type == IR_BOOL) { in IR_FOLD()
1490 if (op2_insn->val.u64 == 0 && ctx->ir_base[op1_insn->op1].type == IR_BOOL) { in IR_FOLD()
1536 if (ctx->use_lists && ctx->use_lists[op1].count == 1 && op2_insn->val.u64 == 0) { in IR_FOLD()
1581 if (op2_insn->val.u64 == 0) { in IR_FOLD()
1593 if (op1_insn->val.u64 == 0) { in IR_FOLD()
1613 if (op2_insn->val.u64 == 0) { in IR_FOLD()
1629 if (op2_insn->val.u64 == 0) { in IR_FOLD()
1646 if (op2_insn->val.u64 == 0) { in IR_FOLD()
1662 if (op2_insn->val.u64 == 0) { in IR_FOLD()
1806 if (op2_insn->val.u64 == 0) { in IR_FOLD()
1809 } else if (op2_insn->val.u64 == 1) { in IR_FOLD()
1811 } else if (op2_insn->val.u64 == 2 && IR_OPT_TYPE(opt) != IR_ADDR) { in IR_FOLD()
1824 if (op2_insn->val.i64 == 0) { in IR_FOLD()
1827 } else if (op2_insn->val.i64 == 1) { in IR_FOLD()
1830 } else if (op2_insn->val.i64 == 2) { in IR_FOLD()
1835 } else if (op2_insn->val.i64 == -1) { in IR_FOLD()
1846 if (op2_insn->val.d == 1.0) { in IR_FOLD()
1849 } else if (op2_insn->val.d == 2.0) { in IR_FOLD()
1854 } else if (op2_insn->val.d == -1.0) { in IR_FOLD()
1865 if (op2_insn->val.f == 1.0) { in IR_FOLD()
1868 } else if (op2_insn->val.f == 2.0) { in IR_FOLD()
1873 } else if (op2_insn->val.f == -1.0) { in IR_FOLD()
1887 if (op2_insn->val.u64 == 1) { in IR_FOLD()
1898 if (op2_insn->val.i64 == 1) { in IR_FOLD()
1901 } else if (op2_insn->val.i64 == -1) { in IR_FOLD()
1919 if (op2_insn->val.i64 == 1) { in IR_FOLD()
1928 if (op2_insn->val.d == 1.0) { in IR_FOLD()
1931 } else if (op2_insn->val.d == -1.0) { in IR_FOLD()
1942 if (op2_insn->val.f == 1.0) { in IR_FOLD()
1945 } else if (op2_insn->val.f == -1.0) { in IR_FOLD()
1964 IR_FOLD_COPY(op2_insn->val.b ? op1 : op2); in IR_FOLD()
1971 if (op2_insn->val.i8 == 0) { in IR_FOLD()
1974 } else if (op2_insn->val.i8 == -1) { in IR_FOLD()
1983 if (op2_insn->val.i16 == 0) { in IR_FOLD()
1986 } else if (op2_insn->val.i16 == -1) { in IR_FOLD()
1995 if (op2_insn->val.i32 == 0) { in IR_FOLD()
1998 } else if (op2_insn->val.i32 == -1) { in IR_FOLD()
2007 if (op2_insn->val.i64 == 0) { in IR_FOLD()
2010 } else if (op2_insn->val.i64 == -1) { in IR_FOLD()
2018 IR_FOLD_COPY(op2_insn->val.b ? op2 : op1); in IR_FOLD()
2025 if (op2_insn->val.i8 == -1) { in IR_FOLD()
2028 } else if (op2_insn->val.i8 == 0) { in IR_FOLD()
2037 if (op2_insn->val.i16 == -1) { in IR_FOLD()
2040 } else if (op2_insn->val.i16 == 0) { in IR_FOLD()
2049 if (op2_insn->val.i32 == -1) { in IR_FOLD()
2052 } else if (op2_insn->val.i32 == -0) { in IR_FOLD()
2061 if (op2_insn->val.i64 == -1) { in IR_FOLD()
2064 } else if (op2_insn->val.i64 == 0) { in IR_FOLD()
2072 if (!op2_insn->val.b) { in IR_FOLD()
2087 if (op2_insn->val.i8 == 0) { in IR_FOLD()
2090 } else if (op2_insn->val.i8 == -1) { in IR_FOLD()
2102 if (op2_insn->val.i16 == 0) { in IR_FOLD()
2105 } else if (op2_insn->val.i16 == -1) { in IR_FOLD()
2117 if (op2_insn->val.i32 == 0) { in IR_FOLD()
2120 } else if (op2_insn->val.i32 == -1) { in IR_FOLD()
2132 if (op2_insn->val.i64 == 0) { in IR_FOLD()
2135 } else if (op2_insn->val.i64 == -1) { in IR_FOLD()
2153 if (op2_insn->val.u64 == 0) { in IR_FOLD()
2156 } else if (op2_insn->val.u64 == 1) { in IR_FOLD()
2198 if (op2_insn->val.u64 == 0) { in IR_FOLD()
2222 if (op1_insn->val.u64 == 0) { in IR_FOLD()
2236 if (op1_insn->val.i8 == 0 || op1_insn->val.i8 == -1) { in IR_FOLD()
2249 if (op1_insn->val.i16 == 0 || op1_insn->val.i16 == -1) { in IR_FOLD()
2262 if (op1_insn->val.i32 == 0 || op1_insn->val.i32 == -1) { in IR_FOLD()
2275 if (op1_insn->val.i64 == 0 || op1_insn->val.i64 == -1) { in IR_FOLD()
2288 if (op2_insn->val.u64 == 0) { in IR_FOLD()
2302 if (op2_insn->val.u64 == 0) { in IR_FOLD()
2406 && !(ctx->ir_base[op1_insn->op2].val.u64 in IR_FOLD()
2419 uint64_t mask = ctx->ir_base[op1_insn->op2].val.u64; in IR_FOLD()
2445 if (((uint8_t)-1) >> ctx->ir_base[op1_insn->op2].val.u8 == op2_insn->val.u8) { in IR_FOLD()
2456 if (((uint16_t)-1) >> ctx->ir_base[op1_insn->op2].val.u16 == op2_insn->val.u16) { in IR_FOLD()
2467 if (((uint32_t)-1) >> ctx->ir_base[op1_insn->op2].val.u32 == op2_insn->val.u32) { in IR_FOLD()
2478 if (((uint64_t)-1) >> ctx->ir_base[op1_insn->op2].val.u64 == op2_insn->val.u64) { in IR_FOLD()
2498 if (op2_insn->val.d == (double)(float)op2_insn->val.d) { in IR_FOLD()
2500 op2 = ir_const_float(ctx, (float)op2_insn->val.d); in IR_FOLD()
2515 val.u64 = ctx->ir_base[op1_insn->op2].val.u64 + op2_insn->val.u64; in IR_FOLD()
2517 op2 = ir_const(ctx, val, IR_OPT_TYPE(opt)); in IR_FOLD()
2530 val.i64 = ctx->ir_base[op1_insn->op2].val.i64 + op2_insn->val.i64; in IR_FOLD()
2532 op2 = ir_const(ctx, val, IR_OPT_TYPE(opt)); in IR_FOLD()
2546 val.u64 = op2_insn->val.u64 - ctx->ir_base[op1_insn->op2].val.u64; in IR_FOLD()
2548 op2 = ir_const(ctx, val, IR_OPT_TYPE(opt)); in IR_FOLD()
2552 val.u64 = ctx->ir_base[op1_insn->op1].val.u64 + op2_insn->val.u64; in IR_FOLD()
2555 op1 = ir_const(ctx, val, IR_OPT_TYPE(opt)); in IR_FOLD()
2568 val.i64 = op2_insn->val.i64 - ctx->ir_base[op1_insn->op2].val.i64; in IR_FOLD()
2569 if (val.i64 < 0 && val.i64 - 1 < 0) { in IR_FOLD()
2570 val.i64 = -val.i64; in IR_FOLD()
2574 op2 = ir_const(ctx, val, IR_OPT_TYPE(opt)); in IR_FOLD()
2578 val.i64 = ctx->ir_base[op1_insn->op1].val.i64 + op2_insn->val.i64; in IR_FOLD()
2581 op1 = ir_const(ctx, val, IR_OPT_TYPE(opt)); in IR_FOLD()
2595 val.u64 = ctx->ir_base[op1_insn->op2].val.u64 - op2_insn->val.u64; in IR_FOLD()
2598 op2 = ir_const(ctx, val, IR_OPT_TYPE(opt)); in IR_FOLD()
2611 val.i64 = ctx->ir_base[op1_insn->op2].val.i64 - op2_insn->val.i64; in IR_FOLD()
2612 if (val.i64 < 0 && val.i64 - 1 < 0) { in IR_FOLD()
2613 val.i64 = -val.i64; in IR_FOLD()
2618 op2 = ir_const(ctx, val, IR_OPT_TYPE(opt)); in IR_FOLD()
2632 val.u64 = op1_insn->val.u64 - ctx->ir_base[op2_insn->op2].val.u64; in IR_FOLD()
2634 op1 = ir_const(ctx, val, IR_OPT_TYPE(opt)); in IR_FOLD()
2647 val.i64 = op1_insn->val.i64 - ctx->ir_base[op2_insn->op2].val.i64; in IR_FOLD()
2649 op1 = ir_const(ctx, val, IR_OPT_TYPE(opt)); in IR_FOLD()
2663 val.u64 = ctx->ir_base[op1_insn->op2].val.u64 + op2_insn->val.u64; in IR_FOLD()
2664 if (val.i64 < 0 && val.i64 - 1 < 0) { in IR_FOLD()
2665 val.i64 = -val.i64; in IR_FOLD()
2669 op2 = ir_const(ctx, val, IR_OPT_TYPE(opt)); in IR_FOLD()
2673 val.u64 = ctx->ir_base[op1_insn->op1].val.u64 - op2_insn->val.u64; in IR_FOLD()
2675 op1 = ir_const(ctx, val, IR_OPT_TYPE(opt)); in IR_FOLD()
2688 val.i64 = ctx->ir_base[op1_insn->op2].val.i64 + op2_insn->val.i64; in IR_FOLD()
2689 if (val.i64 < 0 && val.i64 - 1 < 0) { in IR_FOLD()
2690 val.i64 = -val.i64; in IR_FOLD()
2694 op2 = ir_const(ctx, val, IR_OPT_TYPE(opt)); in IR_FOLD()
2698 val.i64 = ctx->ir_base[op1_insn->op1].val.i64 - op2_insn->val.i64; in IR_FOLD()
2700 op1 = ir_const(ctx, val, IR_OPT_TYPE(opt)); in IR_FOLD()
2714 val.u64 = op1_insn->val.u64 + ctx->ir_base[op2_insn->op2].val.u64; in IR_FOLD()
2716 op1 = ir_const(ctx, val, IR_OPT_TYPE(opt)); in IR_FOLD()
2720 val.u64 = op1_insn->val.u64 - ctx->ir_base[op2_insn->op1].val.u64; in IR_FOLD()
2721 if (val.i64 < 0 && val.i64 - 1 < 0) { in IR_FOLD()
2722 val.i64 = -val.i64; in IR_FOLD()
2726 op2 = ir_const(ctx, val, IR_OPT_TYPE(opt)); in IR_FOLD()
2739 val.i64 = op1_insn->val.i64 + ctx->ir_base[op2_insn->op2].val.i64; in IR_FOLD()
2741 op1 = ir_const(ctx, val, IR_OPT_TYPE(opt)); in IR_FOLD()
2745 val.i64 = op1_insn->val.i64 - ctx->ir_base[op2_insn->op1].val.i64; in IR_FOLD()
2746 if (val.i64 < 0 && val.i64 - 1 < 0) { in IR_FOLD()
2747 val.i64 = -val.i64; in IR_FOLD()
2751 op2 = ir_const(ctx, val, IR_OPT_TYPE(opt)); in IR_FOLD()
2765 val.u64 = ctx->ir_base[op1_insn->op2].val.u64 * op2_insn->val.u64; in IR_FOLD()
2767 op2 = ir_const(ctx, val, IR_OPT_TYPE(opt)); in IR_FOLD()
2780 val.i64 = ctx->ir_base[op1_insn->op2].val.i64 * op2_insn->val.i64; in IR_FOLD()
2782 op2 = ir_const(ctx, val, IR_OPT_TYPE(opt)); in IR_FOLD()
2800 val.u64 = ctx->ir_base[op1_insn->op2].val.u64 & op2_insn->val.u64; in IR_FOLD()
2802 op2 = ir_const(ctx, val, IR_OPT_TYPE(opt)); in IR_FOLD()
2820 val.u64 = ctx->ir_base[op1_insn->op2].val.u64 | op2_insn->val.u64; in IR_FOLD()
2822 op2 = ir_const(ctx, val, IR_OPT_TYPE(opt)); in IR_FOLD()
2840 val.u64 = ctx->ir_base[op1_insn->op2].val.u64 ^ op2_insn->val.u64; in IR_FOLD()
2842 op2 = ir_const(ctx, val, IR_OPT_TYPE(opt)); in IR_FOLD()
2877 if (ctx->ir_base[op1_insn->op2].val.u64 + ctx->ir_base[op2_insn->op2].val.u64 == in IR_FOLD()
2888 … && ctx->ir_base[ctx->ir_base[op2_insn->op2].op1].val.u64 == ir_type_size[IR_OPT_TYPE(opt)] * 8) { in IR_FOLD()
2897 … && ctx->ir_base[ctx->ir_base[op1_insn->op2].op1].val.u64 == ir_type_size[IR_OPT_TYPE(opt)] * 8) { in IR_FOLD()