Assertion failure in Assembler relating to REX prefix on CMP instruction

Description

Observed this failure when running a local core test against r15083. Failure happened on both prototype-opt and development images running SPECjbb2000

– Stack –
at Lorg/jikesrvm/VM; sysFail(Ljava/lang/StringV at line 2130
at Lorg/jikesrvm/VM; _assertionFailure(Ljava/lang/String;Ljava/lang/StringV at line 634
at Lorg/jikesrvm/VM; _assert(ZLjava/lang/String;Ljava/lang/StringV at line 617
at Lorg/jikesrvm/VM; _assert(Z)V at line 595
at Lorg/jikesrvm/compilers/common/assembler/ia32/Assembler; generateREXprefix(ZLorg/jikesrvm/ia32/RegisterConstants$MachineRegister;Lorg/jike
srvm/ia32/RegisterConstants$MachineRegister;Lorg/jikesrvm/ia32/RegisterConstants$MachineRegisterV at line 478
at Lorg/jikesrvm/compilers/common/assembler/ia32/Assembler; emitCMP_Reg_RegDisp_Quad(Lorg/jikesrvm/ia32/RegisterConstants$GPR;Lorg/jikesrvm/i
a32/RegisterConstants$GPR;Lorg/vmmagic/unboxed/OffsetV at line 7718
at Lorg/jikesrvm/compilers/opt/mir2mc/ia32/AssemblerOpt; doCMP(Lorg/jikesrvm/compilers/opt/ir/InstructionV at line 8660
at Lorg/jikesrvm/compilers/opt/mir2mc/ia32/AssemblerOpt; doInst(Lorg/jikesrvm/compilers/opt/ir/InstructionV at line 17016
at Lorg/jikesrvm/compilers/opt/mir2mc/ia32/AssemblerBase; generateCode(Lorg/jikesrvm/compilers/opt/ir/IR;Z)I at line 1066
at Lorg/jikesrvm/compilers/opt/mir2mc/AssemblerDriver; perform(Lorg/jikesrvm/compilers/opt/ir/IRV at line 60
at Lorg/jikesrvm/compilers/opt/driver/CompilerPhase; performPhase(Lorg/jikesrvm/compilers/opt/ir/IRV at line 205
at Lorg/jikesrvm/compilers/opt/driver/OptimizationPlanAtomicElement; perform(Lorg/jikesrvm/compilers/opt/ir/IRV at line 89
at Lorg/jikesrvm/compilers/opt/driver/OptimizationPlanCompositeElement; perform(Lorg/jikesrvm/compilers/opt/ir/IRV at line 143
at Lorg/jikesrvm/compilers/opt/driver/CompilationPlan; execute()Lorg/jikesrvm/compilers/opt/ir/IR; at line 131
at Lorg/jikesrvm/compilers/opt/driver/OptimizingCompiler; compile(Lorg/jikesrvm/compilers/opt/driver/CompilationPlanLorg/jikesrvm/compilers
/common/CompiledMethod; at line 224
at Lorg/jikesrvm/compilers/common/RuntimeCompiler; optCompile(Lorg/jikesrvm/classloader/NormalMethod;Lorg/jikesrvm/compilers/opt/driver/Compi
lationPlanLorg/jikesrvm/compilers/common/CompiledMethod; at line 358
at Lorg/jikesrvm/compilers/common/RuntimeCompiler; recompileWithOpt(Lorg/jikesrvm/compilers/opt/driver/CompilationPlanI at line 537
at Lorg/jikesrvm/adaptive/controller/ControllerPlan; doRecompile()Lorg/jikesrvm/compilers/common/CompiledMethod; at line 179
at Lorg/jikesrvm/adaptive/recompilation/CompilationThread; run()V at line 55
at Lorg/jikesrvm/scheduler/RVMThread; startoff()V at line 647

Environment

None

Assignee

Ian Rogers

Reporter

DaveG

Labels

None

Fix versions

Priority

Medium
Configure