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()
1820 if (op2_insn->val.i64 == 0) { in IR_FOLD()
1823 } else if (op2_insn->val.i64 == 1) { in IR_FOLD()
1826 } else if (op2_insn->val.i64 == -1) { in IR_FOLD()
1837 if (op2_insn->val.d == 1.0) { in IR_FOLD()
1840 } else if (op2_insn->val.d == 2.0) { in IR_FOLD()
1845 } else if (op2_insn->val.d == -1.0) { in IR_FOLD()
1856 if (op2_insn->val.f == 1.0) { in IR_FOLD()
1859 } else if (op2_insn->val.f == 2.0) { in IR_FOLD()
1864 } else if (op2_insn->val.f == -1.0) { in IR_FOLD()
1878 if (op2_insn->val.u64 == 1) { in IR_FOLD()
1889 if (op2_insn->val.i64 == 1) { in IR_FOLD()
1892 } else if (op2_insn->val.i64 == -1) { in IR_FOLD()
1910 if (op2_insn->val.i64 == 1) { in IR_FOLD()
1919 if (op2_insn->val.d == 1.0) { in IR_FOLD()
1922 } else if (op2_insn->val.d == -1.0) { in IR_FOLD()
1933 if (op2_insn->val.f == 1.0) { in IR_FOLD()
1936 } else if (op2_insn->val.f == -1.0) { in IR_FOLD()
1955 IR_FOLD_COPY(op2_insn->val.b ? op1 : op2); in IR_FOLD()
1962 if (op2_insn->val.i8 == 0) { in IR_FOLD()
1965 } else if (op2_insn->val.i8 == -1) { in IR_FOLD()
1974 if (op2_insn->val.i16 == 0) { in IR_FOLD()
1977 } else if (op2_insn->val.i16 == -1) { in IR_FOLD()
1986 if (op2_insn->val.i32 == 0) { in IR_FOLD()
1989 } else if (op2_insn->val.i32 == -1) { in IR_FOLD()
1998 if (op2_insn->val.i64 == 0) { in IR_FOLD()
2001 } else if (op2_insn->val.i64 == -1) { in IR_FOLD()
2009 IR_FOLD_COPY(op2_insn->val.b ? op2 : op1); in IR_FOLD()
2016 if (op2_insn->val.i8 == -1) { in IR_FOLD()
2019 } else if (op2_insn->val.i8 == 0) { in IR_FOLD()
2028 if (op2_insn->val.i16 == -1) { in IR_FOLD()
2031 } else if (op2_insn->val.i16 == 0) { in IR_FOLD()
2040 if (op2_insn->val.i32 == -1) { in IR_FOLD()
2043 } else if (op2_insn->val.i32 == -0) { in IR_FOLD()
2052 if (op2_insn->val.i64 == -1) { in IR_FOLD()
2055 } else if (op2_insn->val.i64 == 0) { in IR_FOLD()
2063 if (!op2_insn->val.b) { in IR_FOLD()
2078 if (op2_insn->val.i8 == 0) { in IR_FOLD()
2081 } else if (op2_insn->val.i8 == -1) { in IR_FOLD()
2093 if (op2_insn->val.i16 == 0) { in IR_FOLD()
2096 } else if (op2_insn->val.i16 == -1) { in IR_FOLD()
2108 if (op2_insn->val.i32 == 0) { in IR_FOLD()
2111 } else if (op2_insn->val.i32 == -1) { in IR_FOLD()
2123 if (op2_insn->val.i64 == 0) { in IR_FOLD()
2126 } else if (op2_insn->val.i64 == -1) { in IR_FOLD()
2144 if (op2_insn->val.u64 == 0) { in IR_FOLD()
2147 } else if (op2_insn->val.u64 == 1) { in IR_FOLD()
2189 if (op2_insn->val.u64 == 0) { in IR_FOLD()
2213 if (op1_insn->val.u64 == 0) { in IR_FOLD()
2227 if (op1_insn->val.i8 == 0 || op1_insn->val.i8 == -1) { in IR_FOLD()
2240 if (op1_insn->val.i16 == 0 || op1_insn->val.i16 == -1) { in IR_FOLD()
2253 if (op1_insn->val.i32 == 0 || op1_insn->val.i32 == -1) { in IR_FOLD()
2266 if (op1_insn->val.i64 == 0 || op1_insn->val.i64 == -1) { in IR_FOLD()
2279 if (op2_insn->val.u64 == 0) { in IR_FOLD()
2293 if (op2_insn->val.u64 == 0) { in IR_FOLD()
2397 && !(ctx->ir_base[op1_insn->op2].val.u64 in IR_FOLD()
2410 uint64_t mask = ctx->ir_base[op1_insn->op2].val.u64; in IR_FOLD()
2436 if (((uint8_t)-1) >> ctx->ir_base[op1_insn->op2].val.u8 == op2_insn->val.u8) { in IR_FOLD()
2447 if (((uint16_t)-1) >> ctx->ir_base[op1_insn->op2].val.u16 == op2_insn->val.u16) { in IR_FOLD()
2458 if (((uint32_t)-1) >> ctx->ir_base[op1_insn->op2].val.u32 == op2_insn->val.u32) { in IR_FOLD()
2469 if (((uint64_t)-1) >> ctx->ir_base[op1_insn->op2].val.u64 == op2_insn->val.u64) { in IR_FOLD()
2489 if (op2_insn->val.d == (double)(float)op2_insn->val.d) { in IR_FOLD()
2491 op2 = ir_const_float(ctx, (float)op2_insn->val.d); in IR_FOLD()
2506 val.u64 = ctx->ir_base[op1_insn->op2].val.u64 + op2_insn->val.u64; in IR_FOLD()
2508 op2 = ir_const(ctx, val, IR_OPT_TYPE(opt)); in IR_FOLD()
2521 val.i64 = ctx->ir_base[op1_insn->op2].val.i64 + op2_insn->val.i64; in IR_FOLD()
2523 op2 = ir_const(ctx, val, IR_OPT_TYPE(opt)); in IR_FOLD()
2537 val.u64 = op2_insn->val.u64 - ctx->ir_base[op1_insn->op2].val.u64; in IR_FOLD()
2539 op2 = ir_const(ctx, val, IR_OPT_TYPE(opt)); in IR_FOLD()
2543 val.u64 = ctx->ir_base[op1_insn->op1].val.u64 + op2_insn->val.u64; in IR_FOLD()
2546 op1 = ir_const(ctx, val, IR_OPT_TYPE(opt)); in IR_FOLD()
2559 val.i64 = op2_insn->val.i64 - ctx->ir_base[op1_insn->op2].val.i64; in IR_FOLD()
2560 if (val.i64 < 0 && val.i64 - 1 < 0) { in IR_FOLD()
2561 val.i64 = -val.i64; in IR_FOLD()
2565 op2 = ir_const(ctx, val, IR_OPT_TYPE(opt)); in IR_FOLD()
2569 val.i64 = ctx->ir_base[op1_insn->op1].val.i64 + op2_insn->val.i64; in IR_FOLD()
2572 op1 = ir_const(ctx, val, IR_OPT_TYPE(opt)); in IR_FOLD()
2586 val.u64 = ctx->ir_base[op1_insn->op2].val.u64 - op2_insn->val.u64; in IR_FOLD()
2589 op2 = ir_const(ctx, val, IR_OPT_TYPE(opt)); in IR_FOLD()
2602 val.i64 = ctx->ir_base[op1_insn->op2].val.i64 - op2_insn->val.i64; in IR_FOLD()
2603 if (val.i64 < 0 && val.i64 - 1 < 0) { in IR_FOLD()
2604 val.i64 = -val.i64; in IR_FOLD()
2609 op2 = ir_const(ctx, val, IR_OPT_TYPE(opt)); in IR_FOLD()
2623 val.u64 = op1_insn->val.u64 - ctx->ir_base[op2_insn->op2].val.u64; in IR_FOLD()
2625 op1 = ir_const(ctx, val, IR_OPT_TYPE(opt)); in IR_FOLD()
2638 val.i64 = op1_insn->val.i64 - ctx->ir_base[op2_insn->op2].val.i64; in IR_FOLD()
2640 op1 = ir_const(ctx, val, IR_OPT_TYPE(opt)); in IR_FOLD()
2654 val.u64 = ctx->ir_base[op1_insn->op2].val.u64 + op2_insn->val.u64; in IR_FOLD()
2655 if (val.i64 < 0 && val.i64 - 1 < 0) { in IR_FOLD()
2656 val.i64 = -val.i64; in IR_FOLD()
2660 op2 = ir_const(ctx, val, IR_OPT_TYPE(opt)); in IR_FOLD()
2664 val.u64 = ctx->ir_base[op1_insn->op1].val.u64 - op2_insn->val.u64; in IR_FOLD()
2666 op1 = ir_const(ctx, val, IR_OPT_TYPE(opt)); in IR_FOLD()
2679 val.i64 = ctx->ir_base[op1_insn->op2].val.i64 + op2_insn->val.i64; in IR_FOLD()
2680 if (val.i64 < 0 && val.i64 - 1 < 0) { in IR_FOLD()
2681 val.i64 = -val.i64; in IR_FOLD()
2685 op2 = ir_const(ctx, val, IR_OPT_TYPE(opt)); in IR_FOLD()
2689 val.i64 = ctx->ir_base[op1_insn->op1].val.i64 - op2_insn->val.i64; in IR_FOLD()
2691 op1 = ir_const(ctx, val, IR_OPT_TYPE(opt)); in IR_FOLD()
2705 val.u64 = op1_insn->val.u64 + ctx->ir_base[op2_insn->op2].val.u64; in IR_FOLD()
2707 op1 = ir_const(ctx, val, IR_OPT_TYPE(opt)); in IR_FOLD()
2711 val.u64 = op1_insn->val.u64 - ctx->ir_base[op2_insn->op1].val.u64; in IR_FOLD()
2712 if (val.i64 < 0 && val.i64 - 1 < 0) { in IR_FOLD()
2713 val.i64 = -val.i64; in IR_FOLD()
2717 op2 = ir_const(ctx, val, IR_OPT_TYPE(opt)); in IR_FOLD()
2730 val.i64 = op1_insn->val.i64 + ctx->ir_base[op2_insn->op2].val.i64; in IR_FOLD()
2732 op1 = ir_const(ctx, val, IR_OPT_TYPE(opt)); in IR_FOLD()
2736 val.i64 = op1_insn->val.i64 - ctx->ir_base[op2_insn->op1].val.i64; in IR_FOLD()
2737 if (val.i64 < 0 && val.i64 - 1 < 0) { in IR_FOLD()
2738 val.i64 = -val.i64; in IR_FOLD()
2742 op2 = ir_const(ctx, val, IR_OPT_TYPE(opt)); in IR_FOLD()
2756 val.u64 = ctx->ir_base[op1_insn->op2].val.u64 * op2_insn->val.u64; in IR_FOLD()
2758 op2 = ir_const(ctx, val, IR_OPT_TYPE(opt)); in IR_FOLD()
2771 val.i64 = ctx->ir_base[op1_insn->op2].val.i64 * op2_insn->val.i64; in IR_FOLD()
2773 op2 = ir_const(ctx, val, IR_OPT_TYPE(opt)); in IR_FOLD()
2791 val.u64 = ctx->ir_base[op1_insn->op2].val.u64 & op2_insn->val.u64; in IR_FOLD()
2793 op2 = ir_const(ctx, val, IR_OPT_TYPE(opt)); in IR_FOLD()
2811 val.u64 = ctx->ir_base[op1_insn->op2].val.u64 | op2_insn->val.u64; in IR_FOLD()
2813 op2 = ir_const(ctx, val, IR_OPT_TYPE(opt)); in IR_FOLD()
2831 val.u64 = ctx->ir_base[op1_insn->op2].val.u64 ^ op2_insn->val.u64; in IR_FOLD()
2833 op2 = ir_const(ctx, val, IR_OPT_TYPE(opt)); in IR_FOLD()
2868 if (ctx->ir_base[op1_insn->op2].val.u64 + ctx->ir_base[op2_insn->op2].val.u64 == in IR_FOLD()
2879 … && ctx->ir_base[ctx->ir_base[op2_insn->op2].op1].val.u64 == ir_type_size[IR_OPT_TYPE(opt)] * 8) { in IR_FOLD()
2888 … && ctx->ir_base[ctx->ir_base[op1_insn->op2].op1].val.u64 == ir_type_size[IR_OPT_TYPE(opt)] * 8) { in IR_FOLD()
2927 val.u64 = 2; in IR_FOLD()
2929 op2 = ir_const(ctx, val, IR_OPT_TYPE(opt)); in IR_FOLD()