diff --git a/src/code/amd64.c b/src/code/amd64.c index 1b431664be6123002ca499e4c782e0ada202977c..5fad0a848ec041b7a40a1fd816416bcfc80d23ed 100644 --- a/src/code/amd64.c +++ b/src/code/amd64.c @@ -665,6 +665,11 @@ static void test_reg32( enum amd64_reg reg1 ) static void cmp_reg_imm( enum amd64_reg reg, int imm32 ) { + if(!imm32) + { + test_reg( reg ); + return; + } rex(1, 0, 0, reg); if( imm32 > 0x7f || imm32 < -0x80 ) { @@ -690,6 +695,11 @@ static void cmp_reg_imm( enum amd64_reg reg, int imm32 ) static void cmp_reg32_imm( enum amd64_reg reg, int imm32 ) { + if(!imm32) + { + test_reg( reg ); + return; + } rex(0, 0, 0, reg); if( imm32 > 0x7f || imm32 < -0x80 ) {