Lines Matching refs:addInstr
170 addInstr(ISelEnv *env, s390_insn *insn)
492 addInstr(env, s390_insn_move(sizeof(ULong), tmpregs[argreg],
522 addInstr(env, s390_insn_move(size, finalreg, tmpregs[i]));
528 addInstr(env, s390_insn_helper_call(cc, (Addr64)target, n_args,
575 addInstr(env, s390_insn_move(4, cc0, cc_s390));
576 addInstr(env, s390_insn_alu(4, S390_ALU_AND, cc0, s390_opnd_imm(1)));
579 addInstr(env, s390_insn_move(4, cc1, cc_s390));
580 addInstr(env, s390_insn_alu(4, S390_ALU_RSH, cc1, s390_opnd_imm(1)));
583 addInstr(env, s390_insn_move(4, b2, cc0));
584 addInstr(env, s390_insn_alu(4, S390_ALU_AND, b2, s390_opnd_reg(cc1)));
585 addInstr(env, s390_insn_alu(4, S390_ALU_LSH, b2, s390_opnd_imm(2)));
588 addInstr(env, s390_insn_move(4, b6, cc0));
589 addInstr(env, s390_insn_alu(4, S390_ALU_SUB, b6, s390_opnd_reg(cc1)));
590 addInstr(env, s390_insn_alu(4, S390_ALU_ADD, b6, s390_opnd_imm(1)));
591 addInstr(env, s390_insn_alu(4, S390_ALU_AND, b6, s390_opnd_imm(1)));
592 addInstr(env, s390_insn_alu(4, S390_ALU_LSH, b6, s390_opnd_imm(6)));
595 addInstr(env, s390_insn_move(4, cc_vex, cc0));
596 addInstr(env, s390_insn_alu(4, S390_ALU_OR, cc_vex, s390_opnd_reg(b2)));
597 addInstr(env, s390_insn_alu(4, S390_ALU_OR, cc_vex, s390_opnd_reg(b6)));
664 addInstr(env, s390_insn_move(8, r11, h1));
667 addInstr(env, s390_insn_divs(8, r10, r11, op2));
675 addInstr(env, s390_insn_move(8, *dst_hi, r10));
676 addInstr(env, s390_insn_move(8, *dst_lo, r11));
697 addInstr(env, s390_insn_move(8, r11, h1));
700 addInstr(env, s390_insn_mul(8, r10, r11, op2, is_signed_multiply));
706 addInstr(env, s390_insn_move(8, *dst_hi, r10));
707 addInstr(env, s390_insn_move(8, *dst_lo, r11));
724 addInstr(env, s390_insn_move(8, r10, hi));
725 addInstr(env, s390_insn_move(8, r11, lo));
728 addInstr(env, s390_insn_div(8, r10, r11, op2, is_signed_divide));
736 addInstr(env, s390_insn_move(8, *dst_hi, r10));
737 addInstr(env, s390_insn_move(8, *dst_lo, r11));
809 addInstr(env, s390_insn_load(size, dst, am));
853 addInstr(env, s390_insn_move(arg_size, r11, h1));
856 addInstr(env, s390_insn_mul(arg_size, r10, r11, op2, is_signed_multiply));
861 addInstr(env, s390_insn_move(arg_size, res, r10));
863 addInstr(env, s390_insn_alu(size, S390_ALU_LSH, res, value));
865 addInstr(env, s390_insn_alu(size, S390_ALU_AND, r11, value));
867 addInstr(env, s390_insn_alu(size, S390_ALU_OR, res, opnd));
891 addInstr(env, s390_insn_move(8, r10, h1));
892 addInstr(env, s390_insn_move(8, r11, h1));
894 addInstr(env, s390_insn_alu(8, S390_ALU_RSH, r10, value));
897 addInstr(env, s390_insn_div(4, r10, r11, op2, is_signed_divide));
904 addInstr(env, s390_insn_move(8, res, r10));
906 addInstr(env, s390_insn_alu(8, S390_ALU_LSH, res, value));
908 addInstr(env, s390_insn_alu(8, S390_ALU_AND, r11, value));
910 addInstr(env, s390_insn_alu(8, S390_ALU_OR, res, opnd));
928 addInstr(env, s390_insn_bfp_unop(size, bfpop, res, h1, rounding_mode));
944 addInstr(env, s390_insn_move(8, f13, op_hi));
945 addInstr(env, s390_insn_move(8, f15, op_lo));
948 addInstr(env, s390_insn_bfp128_convert_from(size, bfpop, res, f13, f15,
963 addInstr(env, s390_insn_move(arg_size, res, h1));
965 addInstr(env, s390_insn_alu(size, S390_ALU_LSH, res, value));
967 addInstr(env, s390_insn_alu(size, S390_ALU_AND, h2, value));
969 addInstr(env, s390_insn_alu(size, S390_ALU_OR, res, opnd));
979 addInstr(env, s390_insn_move(size, res, h1));
980 addInstr(env, s390_insn_compare(size, res, op2, False /* signed */));
981 addInstr(env, s390_insn_cond_move(size, S390_CC_L, res, op2));
995 addInstr(env, s390_insn_bfp_compare(size, cc_s390, h1, h2));
1014 addInstr
1015 addInstr(env, s390_insn_move(8, f14, op1_lo));
1018 addInstr(env, s390_insn_move(8, f13, op2_hi));
1019 addInstr(env, s390_insn_move(8, f15, op2_lo));
1022 addInstr(env, s390_insn_bfp128_compare(16, cc_s390, f12, f14, f13, f15));
1096 addInstr(env, insn);
1108 addInstr(env, s390_insn_move(size, res, h1));
1111 addInstr(env, insn);
1143 addInstr(env, s390_insn_move(size, dst, h1));
1144 addInstr(env, s390_insn_alu(size, S390_ALU_MUL, dst, opnd));
1152 addInstr(env, s390_insn_move(size, dst, h1));
1161 addInstr(env, s390_insn_cc2bool(dst, cond));
1168 addInstr(env, s390_insn_alu(4, S390_ALU_AND, dst, mask));
1174 addInstr(env, s390_insn_alu(8, S390_ALU_AND, dst, mask));
1181 addInstr(env, s390_insn_alu(4, S390_ALU_LSH, dst, shift));
1182 addInstr(env, s390_insn_alu(4, S390_ALU_RSHA, dst, shift));
1187 addInstr(env, s390_insn_alu(8, S390_ALU_LSH, dst, shift));
1188 addInstr(env, s390_insn_alu(8, S390_ALU_RSHA, dst, shift));
1261 addInstr(env, s390_opnd_copy(8, dst, opnd));
1267 addInstr(env, s390_opnd_copy(4, dst, opnd));
1273 addInstr(env, s390_opnd_copy(2, dst, opnd));
1284 addInstr(env, s390_opnd_copy(size, dst, opnd));
1292 addInstr(env, s390_insn_unop(size, S390_NEGATE, dst, opnd));
1300 addInstr(env, s390_insn_unop(size, S390_NEGATE, dst, opnd));
1301 addInstr(env, s390_insn_alu(size, S390_ALU_OR, dst, opnd));
1303 addInstr(env, s390_insn_alu(size, S390_ALU_RSHA, dst, shift));
1317 addInstr(env, s390_insn_clz(8, r10, r11, opnd));
1318 addInstr(env, s390_insn_move(8, dst, r10));
1326 addInstr(env, insn);
1340 addInstr(env, s390_insn_load(size, dst, am));
1376 addInstr(env, s390_insn_load_immediate(size, dst, value));
1397 addInstr(env, s390_insn_move(size, dst, rX));
1398 addInstr(env, s390_insn_cond_move(size, s390_cc_invert(cc), dst, r0));
1403 addInstr(env, s390_insn_move(size, dst, rX));
1410 addInstr(env, s390_insn_load_immediate(4, tmp, 0xFF));
1411 addInstr(env, s390_insn_alu(4, S390_ALU_AND, tmp, cond));
1415 addInstr(env, s390_insn_compare(4, tmp, zero, 0 /* signed */));
1419 addInstr(env, s390_insn_cond_move(size, S390_CC_E, dst, r0));
1528 addInstr(env, s390_insn_load(8, *dst_hi, am_hi));
1529 addInstr(env, s390_insn_load(8, *dst_hi, am_lo));
1564 addInstr(env, s390_insn_move(8, f12, op1_hi));
1565 addInstr(env, s390_insn_move(8, f14, op1_lo));
1568 addInstr(env, s390_insn_move(8, f13, op2_hi));
1569 addInstr(env, s390_insn_move(8, f15, op2_lo));
1581 addInstr(env, s390_insn_bfp128_binop(16, bfpop, f12, f14, f13,
1587 addInstr(env, s390_insn_move(8, *dst_hi, f12));
1588 addInstr(env, s390_insn_move(8, *dst_lo, f14));
1610 addInstr(env, s390_insn_move(8, f13, op_hi));
1611 addInstr(env, s390_insn_move(8, f15, op_lo));
1616 addInstr(env, s390_insn_bfp128_unop(16, bfpop, f12, f14, f13, f15,
1622 addInstr(env, s390_insn_move(8, *dst_hi, f12));
1623 addInstr(env, s390_insn_move(8, *dst_lo, f14));
1664 addInstr(env, s390_insn_move(8, f13, op_hi));
1665 addInstr(env, s390_insn_move(8, f15, op_lo));
1668 addInstr(env, s390_insn_bfp128_unop(16, bfpop, f12, f14, f13, f15,
1674 addInstr(env, s390_insn_bfp128_convert_to(16, bfpop, f12, f14,
1680 addInstr(env, s390_insn_bfp128_convert_to(16, bfpop, f12, f14,
1688 addInstr(env, s390_insn_move(8, *dst_hi, f12));
1689 addInstr(env, s390_insn_move(8, *dst_lo, f14));
1746 addInstr(env, s390_insn_load(size, dst, am));
1756 addInstr(env, s390_insn_load(size, dst, am));
1779 addInstr(env, s390_insn_load_immediate(size, dst, value));
1794 addInstr(env, s390_insn_move(size, dst, op1));
1807 addInstr(env, s390_insn_bfp_triop(size, bfpop, dst, op2, op3,
1825 addInstr(env, s390_insn_move(size, dst, h1));
1841 addInstr(env, s390_insn_bfp_binop(size, bfpop, dst, op2, rounding_mode));
1892 addInstr(env, s390_insn_move(8, f13, op_hi));
1893 addInstr(env, s390_insn_move(8, f15, op_lo));
1896 addInstr(env, s390_insn_bfp128_unop(16, bfpop, f12, f14, f13, f15,
1900 addInstr(env, s390_insn_move(8, dst, f12));
1914 addInstr(env, s390_insn_bfp_unop(size, bfpop, dst, h1, rounding_mode));
1936 addInstr(env, s390_insn_move(size, dst, h1));
1969 addInstr(env, s390_insn_bfp_unop(size, bfpop, dst, h1, rounding_mode));
2028 addInstr(env, s390_insn_test(size, s390_opnd_reg(reg)));
2049 addInstr(env, s390_insn_move(size, dst, h1));
2050 addInstr(env, s390_insn_alu(size, S390_ALU_AND, dst, s390_opnd_imm(1)));
2051 addInstr(env, s390_insn_test(size, s390_opnd_reg(dst)));
2065 addInstr(env, s390_insn_unop(4, op, dst, src));
2066 addInstr(env, s390_insn_test(4, s390_opnd_reg(dst)));
2076 addInstr(env, s390_insn_test(size, src));
2126 addInstr(env, s390_insn_unop(4, op, reg1, op1));
2130 addInstr(env, s390_insn_unop(4, op, reg2, op2)); /* zero extend */
2133 addInstr(env, s390_insn_compare(4, reg1, op2, False));
2161 addInstr(env, s390_insn_compare(size, op1, op2, False));
2176 addInstr(env, s390_insn_compare(size, op1, op2, True));
2192 addInstr(env, s390_insn_compare(size, op1, op2, False));
2255 addInstr(env, s390_insn_store(sizeofIRType(tyd), am, src));
2324 addInstr(env, s390_insn_gzero(sizeofIRType(tyd), offset));
2335 addInstr(env, s390_insn_gadd(sizeofIRType(tyd), offset,
2348 addInstr(env, s390_insn_load_immediate(4, r0,
2350 addInstr(env, s390_insn_store(4, gam, r0));
2380 addInstr(env, s390_insn_store(sizeofIRType(tyd), am, src));
2397 addInstr(env, s390_insn_move(8, dst_hi, res_hi));
2398 addInstr(env, s390_insn_move(8, dst_lo, res_lo));
2413 addInstr(env, s390_insn_cc2bool(dst, cond));
2429 addInstr(env, s390_insn_move(8, dst_hi, res_hi));
2430 addInstr(env, s390_insn_move(8, dst_lo, res_lo));
2438 addInstr(env, s390_insn_move(sizeofIRType(tyd), dst, src));
2495 addInstr(env, s390_insn_cas(4, op1, op2, op3, old));
2497 addInstr(env, s390_insn_cas(8, op1, op2, op3, old));
2515 addInstr(env, s390_insn_move(8, r8, op1_high));
2516 addInstr(env, s390_insn_move(8, r9, op1_low));
2522 addInstr(env, s390_insn_move(8, r10, op3_high));
2523 addInstr(env, s390_insn_move(8, r11, op3_low));
2529 addInstr(env, s390_insn_cdas(4, r8, r9, op2, r10, r11,
2532 addInstr(env, s390_insn_cdas(8, r8, r9, op2, r10, r11,
2535 addInstr(env, s390_insn_move(8, op1_high, r8));
2536 addInstr(env, s390_insn_move(8, op1_low, r9));
2537 addInstr(env, s390_insn_move(8, op3_high, r10));
2538 addInstr(env, s390_insn_move(8, op3_low, r11));
2563 addInstr(env, s390_insn_xdirect(cond, stmt->Ist.Exit.dst->Ico.U64,
2571 addInstr(env, s390_insn_xassisted(cond, dst, guest_IA, Ijk_Boring));
2586 addInstr(env, s390_insn_xassisted(cond, dst, guest_IA,
2602 addInstr(env, s390_insn_mfence());
2657 addInstr(env, s390_insn_xdirect(S390_CC_ALWAYS, cdst->Ico.U64,
2664 addInstr(env, s390_insn_xassisted(S390_CC_ALWAYS, dst, guest_IA,
2678 addInstr(env, s390_insn_xindir(S390_CC_ALWAYS, dst, guest_IA));
2680 addInstr(env, s390_insn_xassisted(S390_CC_ALWAYS, dst, guest_IA,
2699 addInstr(env, s390_insn_xassisted(S390_CC_ALWAYS, dst, guest_IA, jk));
2815 addInstr(env, s390_insn_evcheck(counter, fail_addr));
2822 addInstr(env, s390_insn_profinc());