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()
1553 if (op2_insn->val.u64 == 0) { in IR_FOLD()
1565 if (op1_insn->val.u64 == 0) { in IR_FOLD()
1585 if (op2_insn->val.u64 == 0) { in IR_FOLD()
1601 if (op2_insn->val.u64 == 0) { in IR_FOLD()
1618 if (op2_insn->val.u64 == 0) { in IR_FOLD()
1634 if (op2_insn->val.u64 == 0) { in IR_FOLD()
1778 if (op2_insn->val.u64 == 0) { in IR_FOLD()
1781 } else if (op2_insn->val.u64 == 1) { in IR_FOLD()
1783 } else if (op2_insn->val.u64 == 2 && IR_OPT_TYPE(opt) != IR_ADDR) { in IR_FOLD()
1796 if (op2_insn->val.i64 == 0) { in IR_FOLD()
1799 } else if (op2_insn->val.i64 == 1) { in IR_FOLD()
1802 } else if (op2_insn->val.i64 == 2) { in IR_FOLD()
1807 } else if (op2_insn->val.i64 == -1) { in IR_FOLD()
1818 if (op2_insn->val.d == 1.0) { in IR_FOLD()
1821 } else if (op2_insn->val.d == 2.0) { in IR_FOLD()
1826 } else if (op2_insn->val.d == -1.0) { in IR_FOLD()
1837 if (op2_insn->val.f == 1.0) { in IR_FOLD()
1840 } else if (op2_insn->val.f == 2.0) { in IR_FOLD()
1845 } else if (op2_insn->val.f == -1.0) { in IR_FOLD()
1859 if (op2_insn->val.u64 == 1) { in IR_FOLD()
1870 if (op2_insn->val.i64 == 1) { in IR_FOLD()
1873 } else if (op2_insn->val.i64 == -1) { in IR_FOLD()
1891 if (op2_insn->val.i64 == 1) { in IR_FOLD()
1900 if (op2_insn->val.d == 1.0) { in IR_FOLD()
1903 } else if (op2_insn->val.d == -1.0) { in IR_FOLD()
1914 if (op2_insn->val.f == 1.0) { in IR_FOLD()
1917 } else if (op2_insn->val.f == -1.0) { in IR_FOLD()
1936 IR_FOLD_COPY(op2_insn->val.b ? op1 : op2); in IR_FOLD()
1943 if (op2_insn->val.i8 == 0) { in IR_FOLD()
1946 } else if (op2_insn->val.i8 == -1) { in IR_FOLD()
1955 if (op2_insn->val.i16 == 0) { in IR_FOLD()
1958 } else if (op2_insn->val.i16 == -1) { in IR_FOLD()
1967 if (op2_insn->val.i32 == 0) { in IR_FOLD()
1970 } else if (op2_insn->val.i32 == -1) { in IR_FOLD()
1979 if (op2_insn->val.i64 == 0) { in IR_FOLD()
1982 } else if (op2_insn->val.i64 == -1) { in IR_FOLD()
1990 IR_FOLD_COPY(op2_insn->val.b ? op2 : op1); in IR_FOLD()
1997 if (op2_insn->val.i8 == -1) { in IR_FOLD()
2000 } else if (op2_insn->val.i8 == 0) { in IR_FOLD()
2009 if (op2_insn->val.i16 == -1) { in IR_FOLD()
2012 } else if (op2_insn->val.i16 == 0) { in IR_FOLD()
2021 if (op2_insn->val.i32 == -1) { in IR_FOLD()
2024 } else if (op2_insn->val.i32 == -0) { in IR_FOLD()
2033 if (op2_insn->val.i64 == -1) { in IR_FOLD()
2036 } else if (op2_insn->val.i64 == 0) { in IR_FOLD()
2044 if (!op2_insn->val.b) { in IR_FOLD()
2059 if (op2_insn->val.i8 == 0) { in IR_FOLD()
2062 } else if (op2_insn->val.i8 == -1) { in IR_FOLD()
2074 if (op2_insn->val.i16 == 0) { in IR_FOLD()
2077 } else if (op2_insn->val.i16 == -1) { in IR_FOLD()
2089 if (op2_insn->val.i32 == 0) { in IR_FOLD()
2092 } else if (op2_insn->val.i32 == -1) { in IR_FOLD()
2104 if (op2_insn->val.i64 == 0) { in IR_FOLD()
2107 } else if (op2_insn->val.i64 == -1) { in IR_FOLD()
2125 if (op2_insn->val.u64 == 0) { in IR_FOLD()
2128 } else if (op2_insn->val.u64 == 1) { in IR_FOLD()
2170 if (op2_insn->val.u64 == 0) { in IR_FOLD()
2194 if (op1_insn->val.u64 == 0) { in IR_FOLD()
2208 if (op1_insn->val.i8 == 0 || op1_insn->val.i8 == -1) { in IR_FOLD()
2221 if (op1_insn->val.i16 == 0 || op1_insn->val.i16 == -1) { in IR_FOLD()
2234 if (op1_insn->val.i32 == 0 || op1_insn->val.i32 == -1) { in IR_FOLD()
2247 if (op1_insn->val.i64 == 0 || op1_insn->val.i64 == -1) { in IR_FOLD()
2260 if (op2_insn->val.u64 == 0) { in IR_FOLD()
2274 if (op2_insn->val.u64 == 0) { in IR_FOLD()
2378 && !(ctx->ir_base[op1_insn->op2].val.u64 in IR_FOLD()
2391 uint64_t mask = ctx->ir_base[op1_insn->op2].val.u64; in IR_FOLD()
2417 if (((uint8_t)-1) >> ctx->ir_base[op1_insn->op2].val.u8 == op2_insn->val.u8) { in IR_FOLD()
2428 if (((uint16_t)-1) >> ctx->ir_base[op1_insn->op2].val.u16 == op2_insn->val.u16) { in IR_FOLD()
2439 if (((uint32_t)-1) >> ctx->ir_base[op1_insn->op2].val.u32 == op2_insn->val.u32) { in IR_FOLD()
2450 if (((uint64_t)-1) >> ctx->ir_base[op1_insn->op2].val.u64 == op2_insn->val.u64) { in IR_FOLD()
2470 if (op2_insn->val.d == (double)(float)op2_insn->val.d) { in IR_FOLD()
2472 op2 = ir_const_float(ctx, (float)op2_insn->val.d); in IR_FOLD()
2487 val.u64 = ctx->ir_base[op1_insn->op2].val.u64 + op2_insn->val.u64; in IR_FOLD()
2489 op2 = ir_const(ctx, val, IR_OPT_TYPE(opt)); in IR_FOLD()
2502 val.i64 = ctx->ir_base[op1_insn->op2].val.i64 + op2_insn->val.i64; in IR_FOLD()
2504 op2 = ir_const(ctx, val, IR_OPT_TYPE(opt)); in IR_FOLD()
2518 val.u64 = op2_insn->val.u64 - ctx->ir_base[op1_insn->op2].val.u64; in IR_FOLD()
2520 op2 = ir_const(ctx, val, IR_OPT_TYPE(opt)); in IR_FOLD()
2524 val.u64 = ctx->ir_base[op1_insn->op1].val.u64 + op2_insn->val.u64; in IR_FOLD()
2527 op1 = ir_const(ctx, val, IR_OPT_TYPE(opt)); in IR_FOLD()
2540 val.i64 = op2_insn->val.i64 - ctx->ir_base[op1_insn->op2].val.i64; in IR_FOLD()
2541 if (val.i64 < 0 && val.i64 - 1 < 0) { in IR_FOLD()
2542 val.i64 = -val.i64; in IR_FOLD()
2546 op2 = ir_const(ctx, val, IR_OPT_TYPE(opt)); in IR_FOLD()
2550 val.i64 = ctx->ir_base[op1_insn->op1].val.i64 + op2_insn->val.i64; in IR_FOLD()
2553 op1 = ir_const(ctx, val, IR_OPT_TYPE(opt)); in IR_FOLD()
2567 val.u64 = ctx->ir_base[op1_insn->op2].val.u64 - op2_insn->val.u64; in IR_FOLD()
2570 op2 = ir_const(ctx, val, IR_OPT_TYPE(opt)); in IR_FOLD()
2583 val.i64 = ctx->ir_base[op1_insn->op2].val.i64 - op2_insn->val.i64; in IR_FOLD()
2584 if (val.i64 < 0 && val.i64 - 1 < 0) { in IR_FOLD()
2585 val.i64 = -val.i64; in IR_FOLD()
2590 op2 = ir_const(ctx, val, IR_OPT_TYPE(opt)); in IR_FOLD()
2604 val.u64 = op1_insn->val.u64 - ctx->ir_base[op2_insn->op2].val.u64; in IR_FOLD()
2606 op1 = ir_const(ctx, val, IR_OPT_TYPE(opt)); in IR_FOLD()
2619 val.i64 = op1_insn->val.i64 - ctx->ir_base[op2_insn->op2].val.i64; in IR_FOLD()
2621 op1 = ir_const(ctx, val, IR_OPT_TYPE(opt)); in IR_FOLD()
2635 val.u64 = ctx->ir_base[op1_insn->op2].val.u64 + op2_insn->val.u64; in IR_FOLD()
2636 if (val.i64 < 0 && val.i64 - 1 < 0) { in IR_FOLD()
2637 val.i64 = -val.i64; in IR_FOLD()
2641 op2 = ir_const(ctx, val, IR_OPT_TYPE(opt)); in IR_FOLD()
2645 val.u64 = ctx->ir_base[op1_insn->op1].val.u64 - op2_insn->val.u64; in IR_FOLD()
2647 op1 = ir_const(ctx, val, IR_OPT_TYPE(opt)); in IR_FOLD()
2660 val.i64 = ctx->ir_base[op1_insn->op2].val.i64 + op2_insn->val.i64; in IR_FOLD()
2661 if (val.i64 < 0 && val.i64 - 1 < 0) { in IR_FOLD()
2662 val.i64 = -val.i64; in IR_FOLD()
2666 op2 = ir_const(ctx, val, IR_OPT_TYPE(opt)); in IR_FOLD()
2670 val.i64 = ctx->ir_base[op1_insn->op1].val.i64 - op2_insn->val.i64; in IR_FOLD()
2672 op1 = ir_const(ctx, val, IR_OPT_TYPE(opt)); in IR_FOLD()
2686 val.u64 = op1_insn->val.u64 + ctx->ir_base[op2_insn->op2].val.u64; in IR_FOLD()
2688 op1 = ir_const(ctx, val, IR_OPT_TYPE(opt)); in IR_FOLD()
2692 val.u64 = op1_insn->val.u64 - ctx->ir_base[op2_insn->op1].val.u64; in IR_FOLD()
2693 if (val.i64 < 0 && val.i64 - 1 < 0) { in IR_FOLD()
2694 val.i64 = -val.i64; in IR_FOLD()
2698 op2 = ir_const(ctx, val, IR_OPT_TYPE(opt)); in IR_FOLD()
2711 val.i64 = op1_insn->val.i64 + ctx->ir_base[op2_insn->op2].val.i64; in IR_FOLD()
2713 op1 = ir_const(ctx, val, IR_OPT_TYPE(opt)); in IR_FOLD()
2717 val.i64 = op1_insn->val.i64 - ctx->ir_base[op2_insn->op1].val.i64; in IR_FOLD()
2718 if (val.i64 < 0 && val.i64 - 1 < 0) { in IR_FOLD()
2719 val.i64 = -val.i64; in IR_FOLD()
2723 op2 = ir_const(ctx, val, IR_OPT_TYPE(opt)); in IR_FOLD()
2737 val.u64 = ctx->ir_base[op1_insn->op2].val.u64 * op2_insn->val.u64; in IR_FOLD()
2739 op2 = ir_const(ctx, val, IR_OPT_TYPE(opt)); in IR_FOLD()
2752 val.i64 = ctx->ir_base[op1_insn->op2].val.i64 * op2_insn->val.i64; in IR_FOLD()
2754 op2 = ir_const(ctx, val, IR_OPT_TYPE(opt)); in IR_FOLD()
2772 val.u64 = ctx->ir_base[op1_insn->op2].val.u64 & op2_insn->val.u64; in IR_FOLD()
2774 op2 = ir_const(ctx, val, IR_OPT_TYPE(opt)); in IR_FOLD()
2792 val.u64 = ctx->ir_base[op1_insn->op2].val.u64 | op2_insn->val.u64; in IR_FOLD()
2794 op2 = ir_const(ctx, val, IR_OPT_TYPE(opt)); in IR_FOLD()
2812 val.u64 = ctx->ir_base[op1_insn->op2].val.u64 ^ op2_insn->val.u64; in IR_FOLD()
2814 op2 = ir_const(ctx, val, IR_OPT_TYPE(opt)); in IR_FOLD()
2849 if (ctx->ir_base[op1_insn->op2].val.u64 + ctx->ir_base[op2_insn->op2].val.u64 == in IR_FOLD()
2860 … && ctx->ir_base[ctx->ir_base[op2_insn->op2].op1].val.u64 == ir_type_size[IR_OPT_TYPE(opt)] * 8) { in IR_FOLD()
2869 … && ctx->ir_base[ctx->ir_base[op1_insn->op2].op1].val.u64 == ir_type_size[IR_OPT_TYPE(opt)] * 8) { in IR_FOLD()