diff --git a/src/arch/x86/isa/decoder/one_byte_opcodes.isa b/src/arch/x86/isa/decoder/one_byte_opcodes.isa index b5f77cd31e..04b3adce1f 100644 --- a/src/arch/x86/isa/decoder/one_byte_opcodes.isa +++ b/src/arch/x86/isa/decoder/one_byte_opcodes.isa @@ -483,7 +483,7 @@ 0x0: LOOPNE(Jb); 0x1: LOOPE(Jb); 0x2: LOOP(Jb); - 0x3: JRCX(Jb); + 0x3: JRCXZ(Jb); 0x4: IN(rAb,Ib); 0x5: IN(rAv,Iv); 0x6: OUT(Ib,rAb); diff --git a/src/arch/x86/isa/insts/general_purpose/control_transfer/conditional_jump.py b/src/arch/x86/isa/insts/general_purpose/control_transfer/conditional_jump.py index 390a08b3c3..d0fa31a5a6 100644 --- a/src/arch/x86/isa/insts/general_purpose/control_transfer/conditional_jump.py +++ b/src/arch/x86/isa/insts/general_purpose/control_transfer/conditional_jump.py @@ -210,8 +210,10 @@ def macroop JNO_I wrip t1, t2, flags=(nCOF,) }; -def macroop JRCX_I +def macroop JRCXZ_I { + # Make the default data size of jumps 64 bits in 64 bit mode + .adjust_env oszIn64Override .control_direct rdip t1