Skip to content

Commit

Permalink
Define int3 and ud2 instructions for breakpoints and invalid opcodes
Browse files Browse the repository at this point in the history
Signed-off-by: BradleyWood <bradley.wood@ibm.com>
  • Loading branch information
BradleyWood committed Jul 7, 2021
1 parent a6162a0 commit dda2fa5
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 0 deletions.
2 changes: 2 additions & 0 deletions compiler/x/codegen/OMRInstOpCode.enum
Original file line number Diff line number Diff line change
Expand Up @@ -456,6 +456,7 @@
INC2Mem,
INC4Mem,
INC8Mem,
INT3,
JA1,
JAE1,
JB1,
Expand Down Expand Up @@ -924,6 +925,7 @@
TEST2MemReg,
TEST4MemReg,
TEST8MemReg,
UD2,
XABORT,
XBEGIN2,
XBEGIN4,
Expand Down
8 changes: 8 additions & 0 deletions compiler/x/codegen/X86Ops.ins
Original file line number Diff line number Diff line change
Expand Up @@ -1758,6 +1758,10 @@ INSTRUCTION(INC8Mem, inc,
BINARY(VEX_L___, VEX_vNONE, PREFIX___, REX_W, ESCAPE_____, 0xff, 0, ModRM_EXT_, Immediate_0),
PROPERTY0(IA32OpProp_ModifiesTarget | IA32OpProp_ModifiesOverflowFlag | IA32OpProp_ModifiesSignFlag | IA32OpProp_ModifiesZeroFlag | IA32OpProp_ModifiesParityFlag | IA32OpProp_UsesTarget),
PROPERTY1(IA32OpProp1_SetsCCForTest | IA32OpProp1_SetsCCForCompare | IA32OpProp1_SupportsLockPrefix | IA32OpProp1_LongTarget)),
INSTRUCTION(INT3, int3,
BINARY(VEX_L___, VEX_vNONE, PREFIX___, REX__, ESCAPE_____, 0xcc, 0, ModRM_NONE, Immediate_0),
PROPERTY0(0),
PROPERTY1(0)),
INSTRUCTION(JA1, ja,
BINARY(VEX_L___, VEX_vNONE, PREFIX___, REX__, ESCAPE_____, 0x77, 0, ModRM_NONE, Immediate_1),
PROPERTY0(IA32OpProp_BranchOp | IA32OpProp_TestsZeroFlag | IA32OpProp_TestsCarryFlag | IA32OpProp_ByteImmediate),
Expand Down Expand Up @@ -3630,6 +3634,10 @@ INSTRUCTION(TEST8MemReg, test,
BINARY(VEX_L___, VEX_vNONE, PREFIX___, REX_W, ESCAPE_____, 0x85, 0, ModRM_MR__, Immediate_0),
PROPERTY0(IA32OpProp_ModifiesOverflowFlag | IA32OpProp_ModifiesSignFlag | IA32OpProp_ModifiesZeroFlag | IA32OpProp_ModifiesParityFlag | IA32OpProp_ModifiesCarryFlag | IA32OpProp_UsesTarget),
PROPERTY1(IA32OpProp1_LongSource | IA32OpProp1_LongTarget | IA32OpProp1_FusableCompare)),
INSTRUCTION(UD2, ud2,
BINARY(VEX_L___, VEX_vNONE, PREFIX___, REX__, ESCAPE_0F__, 0x0b, 0, ModRM_NONE, Immediate_0),
PROPERTY0(0),
PROPERTY1(0)),
INSTRUCTION(XABORT, xabort,
BINARY(VEX_L___, VEX_vNONE, PREFIX___, REX__, ESCAPE_____, 0xc6, 7, ModRM_EXT_, Immediate_1),
PROPERTY0(IA32OpProp_ByteImmediate),
Expand Down

0 comments on commit dda2fa5

Please sign in to comment.