Browse Source

CMOV now modifies rather than writes to the destination register so RegUsedAfterInstruction behaves properly

J. Gareth "Curious Kit" Moreton 3 years ago
parent
commit
f8e04aad03

+ 1 - 1
compiler/i386/i386prop.inc

@@ -389,7 +389,7 @@
 (Ch: [Ch_All]),
 (Ch: [Ch_All]),
 (Ch: [Ch_All]),
-(Ch: [Ch_ROp1, Ch_WOp2, Ch_RFLAGScc]),
+(Ch: [Ch_ROp1, Ch_MOp2, Ch_RFLAGScc]),
 (Ch: [Ch_RFLAGScc]),
 (Ch: [Ch_RFLAGScc, Ch_WOp1]),
 (Ch: [Ch_RWESI, Ch_WMemEDI, Ch_RWEDI, Ch_RDirFlag]),

+ 1 - 1
compiler/i8086/i8086prop.inc

@@ -389,7 +389,7 @@
 (Ch: [Ch_All]),
 (Ch: [Ch_All]),
 (Ch: [Ch_All]),
-(Ch: [Ch_ROp1, Ch_WOp2, Ch_RFLAGScc]),
+(Ch: [Ch_ROp1, Ch_MOp2, Ch_RFLAGScc]),
 (Ch: [Ch_RFLAGScc]),
 (Ch: [Ch_RFLAGScc, Ch_WOp1]),
 (Ch: [Ch_RWESI, Ch_WMemEDI, Ch_RWEDI, Ch_RDirFlag]),

+ 1 - 1
compiler/x86/x86ins.dat

@@ -2165,7 +2165,7 @@ void                  \333\3\x0F\xA7\xE0              P6,CYRIX
 void                  \333\3\x0F\xA7\xE8              P6,CYRIX
 
 [CMOVcc,cmovCCX]
-(Ch_ROp1, Ch_WOp2, Ch_RFLAGScc)
+(Ch_ROp1, Ch_MOp2, Ch_RFLAGScc)
 reg16|32|64,regmem    \320\1\x0F\13\x40\110          P6,SM
 
 [Jcc]

+ 1 - 1
compiler/x86_64/x8664pro.inc

@@ -375,7 +375,7 @@
 (Ch: [Ch_All]),
 (Ch: [Ch_All]),
 (Ch: [Ch_All]),
-(Ch: [Ch_ROp1, Ch_WOp2, Ch_RFLAGScc]),
+(Ch: [Ch_ROp1, Ch_MOp2, Ch_RFLAGScc]),
 (Ch: [Ch_RFLAGScc]),
 (Ch: [Ch_RFLAGScc, Ch_WOp1]),
 (Ch: [Ch_RWESI, Ch_WMemEDI, Ch_RWEDI, Ch_RDirFlag]),