diff options
| -rw-r--r-- | i386-asm.c | 7 | ||||
| -rw-r--r-- | tests/asmtest.S | 1 | ||||
| -rw-r--r-- | x86_64-asm.h | 1 |
3 files changed, 1 insertions, 8 deletions
@@ -1042,13 +1042,6 @@ ST_FUNC void asm_opcode(TCCState *s1, int opcode) g(0xE0 + ops[i].reg); } #endif -#ifdef TCC_TARGET_X86_64 - } else if (v & (OP_REG32 | OP_REG64)) { - if (pa->instr_type & (OPC_JMP | OPC_SHORTJMP)) { - /* jmp $r */ - g(0xE0 + ops[i].reg); - } -#endif } } #ifdef I386_ASM_16 diff --git a/tests/asmtest.S b/tests/asmtest.S index 2a9f403..985d824 100644 --- a/tests/asmtest.S +++ b/tests/asmtest.S @@ -236,6 +236,7 @@ lcall *(%rax) #endif jmp 0x1000 +jmp *(%edi) #ifdef __i386__ jmp *%eax #else diff --git a/x86_64-asm.h b/x86_64-asm.h index 14e5969..4da5c0b 100644 --- a/x86_64-asm.h +++ b/x86_64-asm.h @@ -200,7 +200,6 @@ ALT(DEF_ASM_OP2(shrdw, 0x0fad, 0, OPC_MODRM | OPC_WLQ, OPT_REGW, OPT_EA | OPT_RE ALT(DEF_ASM_OP1(call, 0xff, 2, OPC_MODRM, OPT_INDIR)) ALT(DEF_ASM_OP1(call, 0xe8, 0, OPC_JMP, OPT_ADDR)) ALT(DEF_ASM_OP1(jmp, 0xff, 4, OPC_MODRM, OPT_INDIR)) -ALT(DEF_ASM_OP1(jmp, 0xff, 0, OPC_JMP | OPC_WL, OPT_REGW)) ALT(DEF_ASM_OP1(jmp, 0xeb, 0, OPC_SHORTJMP | OPC_JMP, OPT_ADDR)) ALT(DEF_ASM_OP1(lcall, 0xff, 3, OPC_MODRM, OPT_EA)) |
