Lines Matching refs:TCGv

35 TCGv gen_read_reg(TCGv result, int num)  in gen_read_reg()
41 TCGv gen_read_preg(TCGv pred, uint8_t num) in gen_read_preg()
59 static inline void gen_masked_reg_write(TCGv new_val, TCGv cur_val, in gen_masked_reg_write()
63 TCGv tmp = tcg_temp_new(); in gen_masked_reg_write()
72 TCGv get_result_gpr(DisasContext *ctx, int rnum) in get_result_gpr()
97 void gen_log_reg_write(DisasContext *ctx, int rnum, TCGv val) in gen_log_reg_write()
107 TCGv val32 = tcg_temp_new(); in gen_log_reg_write_pair()
118 TCGv get_result_pred(DisasContext *ctx, int pnum) in get_result_pred()
131 void gen_log_pred_write(DisasContext *ctx, int pnum, TCGv val) in gen_log_pred_write()
133 TCGv pred = get_result_pred(ctx, pnum); in gen_log_pred_write()
134 TCGv base_val = tcg_temp_new(); in gen_log_pred_write()
153 static inline void gen_read_p3_0(TCGv control_reg) in gen_read_p3_0()
171 TCGv dest) in gen_read_ctrl_reg()
195 TCGv p3_0 = tcg_temp_new(); in gen_read_ctrl_reg_pair()
199 TCGv pc = tcg_constant_tl(ctx->base.pc_next); in gen_read_ctrl_reg_pair()
202 TCGv pkt_cnt = tcg_temp_new(); in gen_read_ctrl_reg_pair()
203 TCGv insn_cnt = tcg_temp_new(); in gen_read_ctrl_reg_pair()
210 TCGv hvx_cnt = tcg_temp_new(); in gen_read_ctrl_reg_pair()
221 static void gen_write_p3_0(DisasContext *ctx, TCGv control_reg) in gen_write_p3_0()
223 TCGv hex_p8 = tcg_temp_new(); in gen_write_p3_0()
238 TCGv val) in gen_write_ctrl_reg()
260 TCGv result = get_result_gpr(ctx, reg_num + 1); in gen_write_ctrl_reg_pair()
261 TCGv val32 = tcg_temp_new(); in gen_write_ctrl_reg_pair()
278 TCGv gen_get_byte(TCGv result, int N, TCGv src, bool sign) in gen_get_byte()
288 TCGv gen_get_byte_i64(TCGv result, int N, TCGv_i64 src, bool sign) in gen_get_byte_i64()
301 TCGv gen_get_half(TCGv result, int N, TCGv src, bool sign) in gen_get_half()
311 void gen_set_half(int N, TCGv result, TCGv src) in gen_set_half()
316 void gen_set_half_i64(int N, TCGv_i64 result, TCGv src) in gen_set_half_i64()
323 void gen_set_byte_i64(int N, TCGv_i64 result, TCGv src) in gen_set_byte_i64()
330 static inline void gen_load_locked4u(TCGv dest, TCGv vaddr, int mem_index) in gen_load_locked4u()
337 static inline void gen_load_locked8u(TCGv_i64 dest, TCGv vaddr, int mem_index) in gen_load_locked8u()
345 TCGv pred, TCGv vaddr, TCGv src) in gen_store_conditional4()
349 TCGv one, zero, tmp; in gen_store_conditional4()
370 TCGv pred, TCGv vaddr, TCGv_i64 src) in gen_store_conditional8()
396 static TCGv gen_slotval(DisasContext *ctx) in gen_slotval()
403 void gen_store32(TCGv vaddr, TCGv src, int width, uint32_t slot) in gen_store32()
410 void gen_store1(TCGv_env tcg_env, TCGv vaddr, TCGv src, uint32_t slot) in gen_store1()
415 void gen_store1i(TCGv_env tcg_env, TCGv vaddr, int32_t src, uint32_t slot) in gen_store1i()
417 TCGv tmp = tcg_constant_tl(src); in gen_store1i()
421 void gen_store2(TCGv_env tcg_env, TCGv vaddr, TCGv src, uint32_t slot) in gen_store2()
426 void gen_store2i(TCGv_env tcg_env, TCGv vaddr, int32_t src, uint32_t slot) in gen_store2i()
428 TCGv tmp = tcg_constant_tl(src); in gen_store2i()
432 void gen_store4(TCGv_env tcg_env, TCGv vaddr, TCGv src, uint32_t slot) in gen_store4()
437 void gen_store4i(TCGv_env tcg_env, TCGv vaddr, int32_t src, uint32_t slot) in gen_store4i()
439 TCGv tmp = tcg_constant_tl(src); in gen_store4i()
443 void gen_store8(TCGv_env tcg_env, TCGv vaddr, TCGv_i64 src, uint32_t slot) in gen_store8()
450 void gen_store8i(TCGv_env tcg_env, TCGv vaddr, int64_t src, uint32_t slot) in gen_store8i()
456 TCGv gen_8bitsof(TCGv result, TCGv value) in gen_8bitsof()
458 TCGv zero = tcg_constant_tl(0); in gen_8bitsof()
459 TCGv ones = tcg_constant_tl(0xff); in gen_8bitsof()
465 static void gen_write_new_pc_addr(DisasContext *ctx, TCGv addr, in gen_write_new_pc_addr()
466 TCGCond cond, TCGv pred) in gen_write_new_pc_addr()
490 TCGCond cond, TCGv pred) in gen_write_new_pc_pcrel()
506 void gen_set_usr_field(DisasContext *ctx, int field, TCGv val) in gen_set_usr_field()
508 TCGv usr = get_result_gpr(ctx, HEX_REG_USR); in gen_set_usr_field()
517 TCGv usr = get_result_gpr(ctx, HEX_REG_USR); in gen_set_usr_fieldi()
525 TCGv val = tcg_constant_tl(x); in gen_set_usr_fieldi()
530 static void gen_compare(TCGCond cond, TCGv res, TCGv arg1, TCGv arg2) in gen_compare()
532 TCGv one = tcg_constant_tl(0xff); in gen_compare()
533 TCGv zero = tcg_constant_tl(0); in gen_compare()
539 static inline void gen_loop0r(DisasContext *ctx, TCGv RsV, int riV) in gen_loop0r()
553 static inline void gen_loop1r(DisasContext *ctx, TCGv RsV, int riV) in gen_loop1r()
566 static void gen_ploopNsr(DisasContext *ctx, int N, TCGv RsV, int riV) in gen_ploopNsr()
581 static inline void gen_comparei(TCGCond cond, TCGv res, TCGv arg1, int arg2) in gen_comparei()
587 static void gen_cond_jumpr(DisasContext *ctx, TCGv dst_pc, in gen_cond_jumpr()
588 TCGCond cond, TCGv pred) in gen_cond_jumpr()
593 static void gen_cond_jumpr31(DisasContext *ctx, TCGCond cond, TCGv pred) in gen_cond_jumpr31()
595 TCGv LSB = tcg_temp_new(); in gen_cond_jumpr31()
600 static void gen_cond_jump(DisasContext *ctx, TCGCond cond, TCGv pred, in gen_cond_jump()
607 int pnum, TCGCond cond1, TCGv arg1, TCGv arg2, in gen_cmpnd_cmp_jmp()
611 TCGv pred = tcg_temp_new(); in gen_cmpnd_cmp_jmp()
615 TCGv pred = tcg_temp_new(); in gen_cmpnd_cmp_jmp()
622 int pnum, TCGCond cond, TCGv arg1, TCGv arg2, in gen_cmpnd_cmp_jmp_t()
629 int pnum, TCGCond cond, TCGv arg1, TCGv arg2, in gen_cmpnd_cmp_jmp_f()
636 int pnum, TCGCond cond, TCGv arg1, int arg2, in gen_cmpnd_cmpi_jmp_t()
639 TCGv tmp = tcg_constant_tl(arg2); in gen_cmpnd_cmpi_jmp_t()
644 int pnum, TCGCond cond, TCGv arg1, int arg2, in gen_cmpnd_cmpi_jmp_f()
647 TCGv tmp = tcg_constant_tl(arg2); in gen_cmpnd_cmpi_jmp_f()
652 TCGv arg, int pc_off) in gen_cmpnd_cmp_n1_jmp_t()
658 TCGv arg, int pc_off) in gen_cmpnd_cmp_n1_jmp_f()
664 int pnum, TCGv arg, TCGCond cond, int pc_off) in gen_cmpnd_tstbit0_jmp()
667 TCGv pred = tcg_temp_new(); in gen_cmpnd_tstbit0_jmp()
672 TCGv pred = tcg_temp_new(); in gen_cmpnd_tstbit0_jmp()
679 TCGv arg, TCGCond cond, int pc_off) in gen_testbit0_jumpnv()
681 TCGv pred = tcg_temp_new(); in gen_testbit0_jumpnv()
691 static void gen_jumpr(DisasContext *ctx, TCGv new_pc) in gen_jumpr()
698 TCGv lr = get_result_gpr(ctx, HEX_REG_LR); in gen_call()
703 static void gen_callr(DisasContext *ctx, TCGv new_pc) in gen_callr()
705 TCGv lr = get_result_gpr(ctx, HEX_REG_LR); in gen_callr()
710 static void gen_cond_call(DisasContext *ctx, TCGv pred, in gen_cond_call()
713 TCGv lr = get_result_gpr(ctx, HEX_REG_LR); in gen_cond_call()
714 TCGv lsb = tcg_temp_new(); in gen_cond_call()
724 TCGCond cond, TCGv pred, TCGv new_pc) in gen_cond_callr()
726 TCGv lsb = tcg_temp_new(); in gen_cond_callr()
739 TCGv tmp = tcg_temp_new(); in gen_frame_scramble()
755 static void gen_load_frame(DisasContext *ctx, TCGv_i64 frame, TCGv EA) in gen_load_frame()
764 static void gen_framecheck(TCGv EA, int framesize) in gen_framecheck()
773 static void gen_allocframe(DisasContext *ctx, TCGv r29, int framesize) in gen_allocframe()
775 TCGv r30 = tcg_temp_new(); in gen_allocframe()
785 static void gen_deallocframe(DisasContext *ctx, TCGv_i64 r31_30, TCGv r30) in gen_deallocframe()
787 TCGv r29 = tcg_temp_new(); in gen_deallocframe()
797 static void gen_return(DisasContext *ctx, TCGv_i64 dst, TCGv src) in gen_return()
806 TCGv r31 = tcg_temp_new(); in gen_return()
807 TCGv r29 = get_result_gpr(ctx, HEX_REG_SP); in gen_return()
818 static void gen_cond_return(DisasContext *ctx, TCGv_i64 dst, TCGv src, in gen_cond_return()
819 TCGv pred, TCGCond cond) in gen_cond_return()
821 TCGv LSB = tcg_temp_new(); in gen_cond_return()
831 static void gen_cond_return_subinsn(DisasContext *ctx, TCGCond cond, TCGv pred) in gen_cond_return_subinsn()
840 TCGv lpcfg = tcg_temp_new(); in gen_endloop0()
883 TCGv lc0 = get_result_gpr(ctx, HEX_REG_LC0); in gen_endloop0()
902 TCGv lc1 = get_result_gpr(ctx, HEX_REG_LC1); in gen_endloop1()
911 TCGv lpcfg = tcg_temp_new(); in gen_endloop01()
953 TCGv lc0 = get_result_gpr(ctx, HEX_REG_LC0); in gen_endloop01()
961 TCGv lc1 = get_result_gpr(ctx, HEX_REG_LC1); in gen_endloop01()
969 TCGCond cond, TCGv val, TCGv src, int pc_off) in gen_cmp_jumpnv()
971 TCGv pred = tcg_temp_new(); in gen_cmp_jumpnv()
977 TCGCond cond, TCGv val, int src, int pc_off) in gen_cmpi_jumpnv()
979 TCGv pred = tcg_temp_new(); in gen_cmpi_jumpnv()
985 static void gen_shl_sat(DisasContext *ctx, TCGv dst, TCGv src, TCGv shift_amt) in gen_shl_sat()
987 TCGv tmp = tcg_temp_new(); /* In case dst == src */ in gen_shl_sat()
988 TCGv usr = get_result_gpr(ctx, HEX_REG_USR); in gen_shl_sat()
989 TCGv sh32 = tcg_temp_new(); in gen_shl_sat()
990 TCGv dst_sar = tcg_temp_new(); in gen_shl_sat()
991 TCGv ovf = tcg_temp_new(); in gen_shl_sat()
992 TCGv satval = tcg_temp_new(); in gen_shl_sat()
993 TCGv min = tcg_constant_tl(0x80000000); in gen_shl_sat()
994 TCGv max = tcg_constant_tl(0x7fffffff); in gen_shl_sat()
1025 static void gen_sar(TCGv dst, TCGv src, TCGv shift_amt) in gen_sar()
1031 TCGv tmp = tcg_temp_new(); in gen_sar()
1037 static void gen_asr_r_r_sat(DisasContext *ctx, TCGv RdV, TCGv RsV, TCGv RtV) in gen_asr_r_r_sat()
1039 TCGv shift_amt = tcg_temp_new(); in gen_asr_r_r_sat()
1059 static void gen_asl_r_r_sat(DisasContext *ctx, TCGv RdV, TCGv RsV, TCGv RtV) in gen_asl_r_r_sat()
1061 TCGv shift_amt = tcg_temp_new(); in gen_asl_r_r_sat()
1080 static void gen_insert_rp(DisasContext *ctx, TCGv RxV, TCGv RsV, TCGv_i64 RttV) in gen_insert_rp()
1094 TCGv width = tcg_temp_new(); in gen_insert_rp()
1095 TCGv offset = tcg_temp_new(); in gen_insert_rp()
1130 static void gen_asr_r_svw_trun(DisasContext *ctx, TCGv RdV, in gen_asr_r_svw_trun()
1131 TCGv_i64 RssV, TCGv RtV) in gen_asr_r_svw_trun()
1140 TCGv shift_amt32 = tcg_temp_new(); in gen_asr_r_svw_trun()
1143 TCGv tmp32 = tcg_temp_new(); in gen_asr_r_svw_trun()
1225 static void gen_vreg_load(DisasContext *ctx, intptr_t dstoff, TCGv src, in gen_vreg_load()
1239 static void gen_vreg_store(DisasContext *ctx, TCGv EA, intptr_t srcoff, in gen_vreg_store()
1246 TCGv sl = tcg_constant_tl(slot); in gen_vreg_store()
1266 static void gen_vreg_masked_store(DisasContext *ctx, TCGv EA, intptr_t srcoff, in gen_vreg_masked_store()
1310 void probe_noshuf_load(TCGv va, int s, int mi) in probe_noshuf_load()
1312 TCGv size = tcg_constant_tl(s); in probe_noshuf_load()
1313 TCGv mem_idx = tcg_constant_tl(mi); in probe_noshuf_load()
1321 void gen_set_usr_field_if(DisasContext *ctx, int field, TCGv val) in gen_set_usr_field_if()
1325 TCGv usr = get_result_gpr(ctx, HEX_REG_USR); in gen_set_usr_field_if()
1326 TCGv tmp = tcg_temp_new(); in gen_set_usr_field_if()
1338 void gen_sat_i32(TCGv dest, TCGv source, int width) in gen_sat_i32()
1340 TCGv max_val = tcg_constant_tl((1 << (width - 1)) - 1); in gen_sat_i32()
1341 TCGv min_val = tcg_constant_tl(-(1 << (width - 1))); in gen_sat_i32()
1346 void gen_sat_i32_ovfl(TCGv ovfl, TCGv dest, TCGv source, int width) in gen_sat_i32_ovfl()
1348 TCGv tmp = tcg_temp_new(); /* In case dest == source */ in gen_sat_i32_ovfl()
1354 void gen_satu_i32(TCGv dest, TCGv source, int width) in gen_satu_i32()
1356 TCGv tmp = tcg_temp_new(); /* In case dest == source */ in gen_satu_i32()
1357 TCGv max_val = tcg_constant_tl((1 << width) - 1); in gen_satu_i32()
1358 TCGv zero = tcg_constant_tl(0); in gen_satu_i32()
1364 void gen_satu_i32_ovfl(TCGv ovfl, TCGv dest, TCGv source, int width) in gen_satu_i32_ovfl()
1366 TCGv tmp = tcg_temp_new(); /* In case dest == source */ in gen_satu_i32_ovfl()
1380 void gen_sat_i64_ovfl(TCGv ovfl, TCGv_i64 dest, TCGv_i64 source, int width) in gen_sat_i64_ovfl()
1401 void gen_satu_i64_ovfl(TCGv ovfl, TCGv_i64 dest, TCGv_i64 source, int width) in gen_satu_i64_ovfl()