mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-07 17:53:56 -06:00
tcg: Remove TCG_CT_REG
This wasn't actually used for anything, really. All variable operands must accept registers, and which are indicated by the set in TCGArgConstraint.regs. Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
parent
66792f90f1
commit
74a117906b
11 changed files with 4 additions and 49 deletions
|
@ -208,42 +208,33 @@ static const char *target_parse_constraint(TCGArgConstraint *ct,
|
|||
{
|
||||
switch(*ct_str++) {
|
||||
case 'a':
|
||||
ct->ct |= TCG_CT_REG;
|
||||
tcg_regset_set_reg(ct->regs, TCG_REG_EAX);
|
||||
break;
|
||||
case 'b':
|
||||
ct->ct |= TCG_CT_REG;
|
||||
tcg_regset_set_reg(ct->regs, TCG_REG_EBX);
|
||||
break;
|
||||
case 'c':
|
||||
ct->ct |= TCG_CT_REG;
|
||||
tcg_regset_set_reg(ct->regs, TCG_REG_ECX);
|
||||
break;
|
||||
case 'd':
|
||||
ct->ct |= TCG_CT_REG;
|
||||
tcg_regset_set_reg(ct->regs, TCG_REG_EDX);
|
||||
break;
|
||||
case 'S':
|
||||
ct->ct |= TCG_CT_REG;
|
||||
tcg_regset_set_reg(ct->regs, TCG_REG_ESI);
|
||||
break;
|
||||
case 'D':
|
||||
ct->ct |= TCG_CT_REG;
|
||||
tcg_regset_set_reg(ct->regs, TCG_REG_EDI);
|
||||
break;
|
||||
case 'q':
|
||||
/* A register that can be used as a byte operand. */
|
||||
ct->ct |= TCG_CT_REG;
|
||||
ct->regs = TCG_TARGET_REG_BITS == 64 ? 0xffff : 0xf;
|
||||
break;
|
||||
case 'Q':
|
||||
/* A register with an addressable second byte (e.g. %ah). */
|
||||
ct->ct |= TCG_CT_REG;
|
||||
ct->regs = 0xf;
|
||||
break;
|
||||
case 'r':
|
||||
/* A general register. */
|
||||
ct->ct |= TCG_CT_REG;
|
||||
ct->regs |= ALL_GENERAL_REGS;
|
||||
break;
|
||||
case 'W':
|
||||
|
@ -252,13 +243,11 @@ static const char *target_parse_constraint(TCGArgConstraint *ct,
|
|||
break;
|
||||
case 'x':
|
||||
/* A vector register. */
|
||||
ct->ct |= TCG_CT_REG;
|
||||
ct->regs |= ALL_VECTOR_REGS;
|
||||
break;
|
||||
|
||||
/* qemu_ld/st address constraint */
|
||||
case 'L':
|
||||
ct->ct |= TCG_CT_REG;
|
||||
ct->regs = TCG_TARGET_REG_BITS == 64 ? 0xffff : 0xff;
|
||||
tcg_regset_reset_reg(ct->regs, TCG_REG_L0);
|
||||
tcg_regset_reset_reg(ct->regs, TCG_REG_L1);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue