mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-02 15:23:53 -06:00
Hexagon (target/hexagon) more tcg_constant_*
Change additional tcg_const_tl to tcg_constant_tl Note that gen_pred_cancal had slot_mask initialized with tcg_const_tl. However, it is not constant throughout, so we initialize it with tcg_temp_new and replace the first use with the constant value. Inspired-by: Richard Henderson <richard.henderson@linaro.org> Inspired-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Signed-off-by: Taylor Simpson <tsimpson@quicinc.com>
This commit is contained in:
parent
c52d69e7db
commit
f448397a51
4 changed files with 9 additions and 21 deletions
|
@ -279,15 +279,12 @@ def gen_helper_call_opn(f, tag, regtype, regid, toss, numregs, i):
|
|||
print("Bad register parse: ",regtype,regid,toss,numregs)
|
||||
|
||||
def gen_helper_decl_imm(f,immlett):
|
||||
f.write(" TCGv tcgv_%s = tcg_const_tl(%s);\n" % \
|
||||
f.write(" TCGv tcgv_%s = tcg_constant_tl(%s);\n" % \
|
||||
(hex_common.imm_name(immlett), hex_common.imm_name(immlett)))
|
||||
|
||||
def gen_helper_call_imm(f,immlett):
|
||||
f.write(", tcgv_%s" % hex_common.imm_name(immlett))
|
||||
|
||||
def gen_helper_free_imm(f,immlett):
|
||||
f.write(" tcg_temp_free(tcgv_%s);\n" % hex_common.imm_name(immlett))
|
||||
|
||||
def genptr_dst_write_pair(f, tag, regtype, regid):
|
||||
if ('A_CONDEXEC' in hex_common.attribdict[tag]):
|
||||
f.write(" gen_log_predicated_reg_write_pair(%s%sN, %s%sV, insn->slot);\n" % \
|
||||
|
@ -401,7 +398,7 @@ def gen_tcg_func(f, tag, regs, imms):
|
|||
for immlett,bits,immshift in imms:
|
||||
gen_helper_decl_imm(f,immlett)
|
||||
if hex_common.need_part1(tag):
|
||||
f.write(" TCGv part1 = tcg_const_tl(insn->part1);\n")
|
||||
f.write(" TCGv part1 = tcg_constant_tl(insn->part1);\n")
|
||||
if hex_common.need_slot(tag):
|
||||
f.write(" TCGv slot = tcg_constant_tl(insn->slot);\n")
|
||||
f.write(" gen_helper_%s(" % (tag))
|
||||
|
@ -424,10 +421,6 @@ def gen_tcg_func(f, tag, regs, imms):
|
|||
if hex_common.need_slot(tag): f.write(", slot")
|
||||
if hex_common.need_part1(tag): f.write(", part1" )
|
||||
f.write(");\n")
|
||||
if hex_common.need_part1(tag):
|
||||
f.write(" tcg_temp_free(part1);\n")
|
||||
for immlett,bits,immshift in imms:
|
||||
gen_helper_free_imm(f,immlett)
|
||||
|
||||
## Write all the outputs
|
||||
for regtype,regid,toss,numregs in regs:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue