Skip to content

Commit

Permalink
codegen_xchg_rAX_Reg: Preserve RAX[63:16] in xchg AX, r16 (#62)
Browse files Browse the repository at this point in the history
  • Loading branch information
mborgerson authored Sep 9, 2024
1 parent a3f558b commit 54fca3e
Showing 1 changed file with 3 additions and 3 deletions.
6 changes: 3 additions & 3 deletions priv/guest_amd64_toIR.c
Original file line number Diff line number Diff line change
Expand Up @@ -8550,17 +8550,17 @@ void codegen_xchg_rAX_Reg ( Prefix pfx, Int sz, UInt regLo3 )
if (sz == 8) {
assign( t1, getIReg64(R_RAX) );
assign( t2, getIRegRexB(8, pfx, regLo3) );
putIReg64( R_RAX, mkexpr(t2) );
putIRegRAX( 8, mkexpr(t2) );
putIRegRexB(8, pfx, regLo3, mkexpr(t1) );
} else if (sz == 4) {
assign( t1, getIReg32(R_RAX) );
assign( t2, getIRegRexB(4, pfx, regLo3) );
putIReg32( R_RAX, mkexpr(t2) );
putIRegRAX( 4, mkexpr(t2) );
putIRegRexB(4, pfx, regLo3, mkexpr(t1) );
} else {
assign( t1, getIReg16(R_RAX) );
assign( t2, getIRegRexB(2, pfx, regLo3) );
putIReg16( R_RAX, mkexpr(t2) );
putIRegRAX( 2, mkexpr(t2) );
putIRegRexB(2, pfx, regLo3, mkexpr(t1) );
}
DIP("xchg%c %s, %s\n",
Expand Down

0 comments on commit 54fca3e

Please sign in to comment.