Lines Matching full:out
277 OUT(c, locp, signstr, "int", &bit_width, "_t"); in gen_c_int_type()
294 OUT(c, locp, "TCGv_i", &bit_width, " tmp_", &c->inst.tmp_count, in gen_constant()
314 OUT(c, locp, "TCGv_i", &bit_width, " tmp_", &c->inst.tmp_count, in gen_tmp()
344 OUT(c, locp, "TCGv_i", &rvalue.bit_width, " tmp_", &c->inst.tmp_count); in gen_constant_from_imm()
345 OUT(c, locp, " = tcg_constant_i", &rvalue.bit_width, in gen_constant_from_imm()
405 OUT(c, locp, " ", &res, " = ("); in gen_rvalue_extend()
407 OUT(c, locp, ")", rvalue, ";\n"); in gen_rvalue_extend()
413 OUT(c, locp, "tcg_gen_ext", sign_suffix, in gen_rvalue_extend()
428 OUT(c, locp, "tcg_gen_trunc_i64_tl(", &res, ", ", rvalue, ");\n"); in gen_rvalue_truncate()
542 OUT(c, locp, "tcg_gen_setcondi_", bit_suffix, "("); in gen_bin_cmp()
543 OUT(c, locp, cond_to_str(type), ", ", &res, ", ", &op1_m, ", ", &op2_m, in gen_bin_cmp()
547 OUT(c, locp, "tcg_gen_setcond_", bit_suffix, "("); in gen_bin_cmp()
548 OUT(c, locp, cond_to_str(type), ", ", &res, ", ", &op1_m, ", ", &op2_m, in gen_bin_cmp()
574 OUT(c, locp, " ", res, in gen_simple_op()
578 OUT(c, locp, imm_reg, bit_suffix, in gen_simple_op()
582 OUT(c, locp, reg_imm, bit_suffix, in gen_simple_op()
586 OUT(c, locp, reg_reg, bit_suffix, in gen_simple_op()
603 OUT(c, locp, " ", res, in gen_sub_op()
607 OUT(c, locp, "tcg_gen_subfi_", bit_suffix, in gen_sub_op()
611 OUT(c, locp, "tcg_gen_subi_", bit_suffix, in gen_sub_op()
615 OUT(c, locp, "tcg_gen_sub_", bit_suffix, in gen_sub_op()
634 OUT(c, locp, " ", res, in gen_asl_op()
638 OUT(c, locp, "if (", op2, " >= ", &bit_width, ") {\n"); in gen_asl_op()
639 OUT(c, locp, "tcg_gen_movi_", bit_suffix, "(", res, ", 0);\n"); in gen_asl_op()
640 OUT(c, locp, "} else {\n"); in gen_asl_op()
641 OUT(c, locp, "tcg_gen_shli_", bit_suffix, in gen_asl_op()
643 OUT(c, locp, "}\n"); in gen_asl_op()
650 OUT(c, locp, "tcg_gen_shl_", bit_suffix, in gen_asl_op()
656 * Handle left shift by 64/32 which hexagon-sim expects to clear out in gen_asl_op()
667 OUT(c, locp, "tcg_gen_movcond_i", &bit_width); in gen_asl_op()
668 OUT(c, locp, "(TCG_COND_GEU, ", res, ", ", &op2_m, ", ", &edge); in gen_asl_op()
669 OUT(c, locp, ", ", &zero, ", ", res, ");\n"); in gen_asl_op()
690 OUT(c, locp, "{\n"); in gen_asr_op()
692 OUT(c, locp, " shift = ", op2, ";\n"); in gen_asr_op()
693 OUT(c, locp, "if (", op2, " >= ", &bit_width, ") {\n"); in gen_asr_op()
694 OUT(c, locp, " shift = ", &bit_width, " - 1;\n"); in gen_asr_op()
695 OUT(c, locp, "}\n"); in gen_asr_op()
696 OUT(c, locp, "tcg_gen_sari_", bit_suffix, in gen_asr_op()
700 OUT(c, locp, "tcg_gen_sar_", bit_suffix, in gen_asr_op()
718 OUT(c, locp, "tcg_gen_extract_", bit_suffix, "(", in gen_asr_op()
720 OUT(c, locp, "tcg_gen_sub_", bit_suffix, "(", in gen_asr_op()
722 OUT(c, locp, "tcg_gen_movcond_i", &bit_width); in gen_asr_op()
723 OUT(c, locp, "(TCG_COND_GEU, ", res, ", ", &op2_m, ", ", &edge); in gen_asr_op()
724 OUT(c, locp, ", ", &tmp, ", ", res, ");\n"); in gen_asr_op()
742 OUT(c, locp, "if (", op2, " >= ", &bit_width, ") {\n"); in gen_lsr_op()
743 OUT(c, locp, "tcg_gen_movi_", bit_suffix, "(", res, ", 0);\n"); in gen_lsr_op()
744 OUT(c, locp, "} else {\n"); in gen_lsr_op()
745 OUT(c, locp, "tcg_gen_shri_", bit_suffix, in gen_lsr_op()
747 OUT(c, locp, "}\n"); in gen_lsr_op()
750 OUT(c, locp, "tcg_gen_shr_", bit_suffix, in gen_lsr_op()
764 OUT(c, locp, "tcg_gen_movcond_i", &bit_width); in gen_lsr_op()
765 OUT(c, locp, "(TCG_COND_GEU, ", res, ", ", &op2_m, ", ", &edge); in gen_lsr_op()
766 OUT(c, locp, ", ", &zero, ", ", res, ");\n"); in gen_lsr_op()
794 OUT(c, locp, "tcg_gen_and_", bit_suffix, in gen_andl_op()
826 OUT(c, locp, mm, "_i", &bit_width, "("); in gen_minmax_op()
827 OUT(c, locp, res, ", ", &op1_m, ", ", op2, ");\n"); in gen_minmax_op()
834 OUT(c, locp, mm, "_i", &bit_width, "("); in gen_minmax_op()
835 OUT(c, locp, res, ", ", op1, ", ", &op2_m, ");\n"); in gen_minmax_op()
1020 * We can bail out early if the source width is known to be zero in gen_extend_imm_width_op()
1034 OUT(c, locp, " ", &res, " = 0;\n"); in gen_extend_imm_width_op()
1036 OUT(c, locp, "if (", src_width, " != 0) {\n"); in gen_extend_imm_width_op()
1038 OUT(c, locp, &res, " = ", sign_prefix, "extract", &dst_width); in gen_extend_imm_width_op()
1039 OUT(c, locp, "(", value, ", 0, ", src_width, ");\n"); in gen_extend_imm_width_op()
1041 OUT(c, locp, "}\n"); in gen_extend_imm_width_op()
1056 OUT(c, locp, "if (", src_width, " != 0) {\n"); in gen_extend_imm_width_op()
1058 OUT(c, locp, "tcg_gen_", sign_prefix, "extract_i", &dst_width); in gen_extend_imm_width_op()
1059 OUT(c, locp, "(", &res, ", ", value, ", 0, ", src_width, in gen_extend_imm_width_op()
1062 OUT(c, locp, "} else {\n"); in gen_extend_imm_width_op()
1063 OUT(c, locp, "tcg_gen_movi_i", &dst_width, "(", &res, in gen_extend_imm_width_op()
1065 OUT(c, locp, "}\n"); in gen_extend_imm_width_op()
1094 OUT(c, locp, "tcg_gen_subfi_i", &dst_width); in gen_extend_tcg_width_op()
1095 OUT(c, locp, "(", &shift, ", ", &dst_width, ", ", &src_width_m, ");\n"); in gen_extend_tcg_width_op()
1098 OUT(c, locp, "tcg_gen_shr_i", &dst_width, "(", in gen_extend_tcg_width_op()
1100 OUT(c, locp, "tcg_gen_and_i", &dst_width, "(", in gen_extend_tcg_width_op()
1103 OUT(c, locp, "tcg_gen_shl_i", &dst_width, "(", in gen_extend_tcg_width_op()
1105 OUT(c, locp, "tcg_gen_sar_i", &dst_width, "(", in gen_extend_tcg_width_op()
1108 OUT(c, locp, "tcg_gen_movcond_i", &dst_width, "(TCG_COND_EQ, ", &res, in gen_extend_tcg_width_op()
1110 OUT(c, locp, &src_width_m, ", ", &zero, ", ", &zero, ", ", &res, in gen_extend_tcg_width_op()
1212 OUT(c, locp, "tcg_gen_not_i", &dst->bit_width, "(", &mask, ", ", in gen_rdeposit_op()
1224 OUT(c, locp, "tcg_gen_movcond_i", &res.bit_width, "(TCG_COND_NE, ", in gen_rdeposit_op()
1226 OUT(c, locp, ", ", &width_m, ", ", &zero, ", ", &res, ", ", dst, in gen_rdeposit_op()
1259 OUT(c, locp, "tcg_gen_deposit_i", &bit_width, "(", dst, ", ", dst, ", "); in gen_deposit_op()
1260 OUT(c, locp, &value_m, ", ", index, " * ", &width, ", ", &width, ");\n"); in gen_deposit_op()
1271 OUT(c, locp, "tcg_gen_extract_i", &bit_width, "(", &res); in gen_rextract_op()
1272 OUT(c, locp, ", ", src, ", ", &begin, ", ", &width, ");\n"); in gen_rextract_op()
1294 OUT(c, locp, "tcg_gen_", sign_prefix, "extract_i", &bit_width, in gen_extract_op()
1296 OUT(c, locp, ", ", index, " * ", &width, ", ", &width, ");\n"); in gen_extract_op()
1303 OUT(c, locp, "tcg_gen_ext", sign_suffix, "_i32_i64(", in gen_extract_op()
1316 OUT(c, in gen_write_reg()
1352 OUT(c, locp, "tcg_gen_mov", imm_suffix, "_i", &bit_width, in gen_assign()
1372 OUT(c, locp, "tcg_gen_movcond_i", size, "(TCG_COND_EQ, ", &res); in gen_convround()
1373 OUT(c, locp, ", ", &and, ", ", &mask, ", "); in gen_convround()
1374 OUT(c, locp, &src_p1, ", ", &src_m, ");\n"); in gen_convround()
1390 OUT(c, locp, "tcg_gen_ext_i32_i64(", &res, ", ", a, ");\n"); in gen_convround_n_b()
1391 OUT(c, locp, "tcg_gen_shl_i32(", &tmp); in gen_convround_n_b()
1392 OUT(c, locp, ", ", &one, ", ", n, ");\n"); in gen_convround_n_b()
1393 OUT(c, locp, "tcg_gen_and_i32(", &tmp); in gen_convround_n_b()
1394 OUT(c, locp, ", ", &tmp, ", ", a, ");\n"); in gen_convround_n_b()
1395 OUT(c, locp, "tcg_gen_shri_i32(", &tmp); in gen_convround_n_b()
1396 OUT(c, locp, ", ", &tmp, ", 1);\n"); in gen_convround_n_b()
1397 OUT(c, locp, "tcg_gen_ext_i32_i64(", &tmp_64, ", ", &tmp, ");\n"); in gen_convround_n_b()
1398 OUT(c, locp, "tcg_gen_add_i64(", &res); in gen_convround_n_b()
1399 OUT(c, locp, ", ", &res, ", ", &tmp_64, ");\n"); in gen_convround_n_b()
1414 OUT(c, locp, "tcg_gen_ext_i32_i64(", &res, ", ", a, ");\n"); in gen_convround_n_c()
1415 OUT(c, locp, "tcg_gen_subi_i32(", &tmp); in gen_convround_n_c()
1416 OUT(c, locp, ", ", n, ", 1);\n"); in gen_convround_n_c()
1417 OUT(c, locp, "tcg_gen_shl_i32(", &tmp); in gen_convround_n_c()
1418 OUT(c, locp, ", ", &one, ", ", &tmp, ");\n"); in gen_convround_n_c()
1419 OUT(c, locp, "tcg_gen_ext_i32_i64(", &tmp_64, ", ", &tmp, ");\n"); in gen_convround_n_c()
1420 OUT(c, locp, "tcg_gen_add_i64(", &res); in gen_convround_n_c()
1421 OUT(c, locp, ", ", &res, ", ", &tmp_64, ");\n"); in gen_convround_n_c()
1464 OUT(c, locp, "tcg_gen_sub_i32(", &mask); in gen_convround_n()
1465 OUT(c, locp, ", ", &pos_casted, ", ", &l_32, ");\n"); in gen_convround_n()
1466 OUT(c, locp, "tcg_gen_shl_i32(", &mask); in gen_convround_n()
1467 OUT(c, locp, ", ", &l_32, ", ", &mask, ");\n"); in gen_convround_n()
1468 OUT(c, locp, "tcg_gen_sub_i32(", &mask); in gen_convround_n()
1469 OUT(c, locp, ", ", &mask, ", ", &l_32, ");\n"); in gen_convround_n()
1470 OUT(c, locp, "tcg_gen_and_i32(", &cond); in gen_convround_n()
1471 OUT(c, locp, ", ", &src_casted, ", ", &mask, ");\n"); in gen_convround_n()
1472 OUT(c, locp, "tcg_gen_extu_i32_i64(", &cond_64, ", ", &cond, ");\n"); in gen_convround_n()
1474 OUT(c, locp, "tcg_gen_ext_i32_i64(", &n_64, ", ", &pos_casted, ");\n"); in gen_convround_n()
1480 OUT(c, locp, "tcg_gen_movcond_i64"); in gen_convround_n()
1481 OUT(c, locp, "(TCG_COND_EQ, ", &res, ", ", &cond_64, ", ", &zero); in gen_convround_n()
1482 OUT(c, locp, ", ", &r2, ", ", &r3, ");\n"); in gen_convround_n()
1485 OUT(c, locp, "tcg_gen_movcond_i64"); in gen_convround_n()
1486 OUT(c, locp, "(TCG_COND_EQ, ", &res, ", ", &n_64, ", ", &zero); in gen_convround_n()
1487 OUT(c, locp, ", ", &r1, ", ", &res, ");\n"); in gen_convround_n()
1490 OUT(c, locp, "tcg_gen_shr_i64(", &res); in gen_convround_n()
1491 OUT(c, locp, ", ", &res, ", ", &n_64, ");\n"); in gen_convround_n()
1530 OUT(c, locp, "tcg_gen_movcond_i64"); in gen_round()
1531 OUT(c, locp, "(TCG_COND_EQ, ", &res, ", ", &b, ", ", &zero); in gen_round()
1532 OUT(c, locp, ", ", &a, ", ", &sum, ");\n"); in gen_round()
1546 OUT(c, in gen_circ_op()
1556 OUT(c, locp, ", CS);\n"); in gen_circ_op()
1568 OUT(c, locp, "tcg_gen_not_i", bit_suffix, "(", in gen_locnt_op()
1570 OUT(c, locp, "tcg_gen_clzi_i", bit_suffix, "(", &res, ", ", &res, ", "); in gen_locnt_op()
1571 OUT(c, locp, bit_suffix, ");\n"); in gen_locnt_op()
1583 OUT(c, locp, "tcg_gen_ctpop_i", bit_suffix, in gen_ctpop_op()
1601 OUT(c, locp, "tcg_gen_rotl_", suffix, "(", in gen_rotl()
1621 OUT(c, locp, "tcg_gen_add2_i64(", &res, ", ", &cf, ", ", &op1_m, ", ", in gen_carry_from_add()
1623 OUT(c, locp, ", ", &op3_m, ", ", &zero, ");\n"); in gen_carry_from_add()
1624 OUT(c, locp, "tcg_gen_add2_i64(", &res, ", ", &cf, ", ", &res, ", ", &cf); in gen_carry_from_add()
1625 OUT(c, locp, ", ", &op2_m, ", ", &zero, ");\n"); in gen_carry_from_add()
1638 OUT(c, locp, "gen_add_sat_i64(ctx, ", dst, ", ", &op1_m, ", ", in gen_addsat64()
1714 OUT(c, locp, "tcg_gen_andi_i32(", left_pred, ", ", &r, ", 0xff);\n"); in gen_pred_assign()
1716 OUT(c, locp, "gen_log_pred_write(ctx, ", pred_id, ", ", left_pred, in gen_pred_assign()
1723 OUT(c, locp, "gen_cancel(insn->slot);\n"); in gen_cancel()
1728 OUT(c, locp, "if (insn->slot == 0 && pkt->pkt_has_store_s1) {\n"); in gen_load_cancel()
1729 OUT(c, locp, "ctx->s1_store_processed = false;\n"); in gen_load_cancel()
1730 OUT(c, locp, "process_store(ctx, 1);\n"); in gen_load_cancel()
1731 OUT(c, locp, "}\n"); in gen_load_cancel()
1753 OUT(c, locp, "if (insn->slot == 0 && pkt->pkt_has_store_s1) {\n"); in gen_load()
1754 OUT(c, locp, "probe_noshuf_load(", ea, ", ", width, ", ctx->mem_idx);\n"); in gen_load()
1755 OUT(c, locp, "process_store(ctx, 1);\n"); in gen_load()
1756 OUT(c, locp, "}\n"); in gen_load()
1758 OUT(c, locp, "tcg_gen_qemu_ld_i", &dst_bit_width); in gen_load()
1759 OUT(c, locp, "("); in gen_load()
1760 OUT(c, locp, dst, ", ", ea, ", ctx->mem_idx, MO_", &src_bit_width); in gen_load()
1762 OUT(c, locp, " | MO_SIGN"); in gen_load()
1764 OUT(c, locp, " | MO_LE);\n"); in gen_load()
1776 OUT(c, locp, "gen_store", &mem_width, "(tcg_env, ", ea, ", ", &src_m); in gen_store()
1777 OUT(c, locp, ", insn->slot);\n"); in gen_store()
1808 OUT(c, locp, "tcg_gen_andi_i32(", &tmp, ", ", value, ", 1);\n"); in gen_setbits()
1810 OUT(c, locp, "tcg_gen_neg_i32(", &tmp, ", ", &tmp, ");\n"); in gen_setbits()
1811 OUT(c, locp, "tcg_gen_deposit_i32(", dst, ", ", dst, in gen_setbits()
1813 OUT(c, locp, lo, ", ", &len, ");\n"); in gen_setbits()
1820 OUT(c, locp, "TCGLabel *if_label_", &c->inst.if_count, in gen_if_cond()
1824 OUT(c, locp, "tcg_gen_brcondi_", bit_suffix, "(TCG_COND_EQ, ", cond, in gen_if_cond()
1833 OUT(c, locp, "TCGLabel *if_label_", &if_index, in gen_if_else()
1835 /* Jump out of the else statement */ in gen_if_else()
1836 OUT(c, locp, "tcg_gen_br(if_label_", &if_index, ");\n"); in gen_if_else()
1838 OUT(c, locp, "gen_set_label(if_label_", &index, ");\n"); in gen_if_else()
1844 /* Predicted instructions need to zero out result args */ in gen_rvalue_pred()
1853 OUT(c, locp, "tcg_gen_mov_i32(", pred, in gen_rvalue_pred()
1855 OUT(c, locp, pred_str, "]);\n"); in gen_rvalue_pred()
1857 OUT(c, locp, "gen_read_preg(", pred, ", ", pred_str, ");\n"); in gen_rvalue_pred()
1911 OUT(c, locp, " ", &res, " = ", c_code, "(", value, ");\n"); in gen_rvalue_simple_unary()
1914 OUT(c, locp, tcg_code, "_i", &bit_width, "(", &res, ", ", value, in gen_rvalue_simple_unary()
1933 OUT(c, locp, " ", &res, " = !(", value, ");\n"); in gen_rvalue_notl()
1938 OUT(c, locp, "tcg_gen_movcond_i", &bit_width); in gen_rvalue_notl()
1939 OUT(c, locp, "(TCG_COND_EQ, ", &res, ", ", value, ", ", &zero); in gen_rvalue_notl()
1940 OUT(c, locp, ", ", &one, ", ", &zero, ");\n"); in gen_rvalue_notl()
1967 OUT(c, locp, "gen_sat", unsigned_str, "_", bit_suffix, "_ovfl("); in gen_rvalue_sat()
1968 OUT(c, locp, &ovfl, ", ", &res, ", ", value, ", ", &width->imm.value, in gen_rvalue_sat()
1970 OUT(c, locp, "gen_set_usr_field_if(ctx, USR_OVF,", &ovfl, ");\n"); in gen_rvalue_sat()
1981 OUT(c, locp, "gen_read_reg(", &frame_key, ", HEX_REG_FRAMEKEY);\n"); in gen_rvalue_fscr()
1982 OUT(c, locp, "tcg_gen_concat_i32_i64(", in gen_rvalue_fscr()
1984 OUT(c, locp, "tcg_gen_xor_i64(", &res, ", ", value, ", ", &key, ");\n"); in gen_rvalue_fscr()
2005 OUT(c, locp, "gen_helper_fbrev(", &res, ", ", value, ");\n"); in gen_rvalue_brev()
2029 OUT(c, locp, "tcg_gen_movcond_i", &bit_width); in gen_rvalue_ternary()
2030 OUT(c, locp, "(TCG_COND_NE, ", &res, ", ", cond, ", ", &zero); in gen_rvalue_ternary()
2031 OUT(c, locp, ", ", true_branch, ", ", false_branch, ");\n"); in gen_rvalue_ternary()