Ver código fonte

* AES instruction change information fixed

florian 3 anos atrás
pai
commit
c785fa4435

+ 7 - 7
compiler/i386/i386prop.inc

@@ -677,15 +677,15 @@
 (Ch: [Ch_Rop3, Ch_Rop2, Ch_WXMM0]),
 (Ch: [Ch_Mop2, Ch_Rop1]),
 (Ch: [Ch_Wop2, Ch_Rop1]),
-(Ch: [Ch_All]),
-(Ch: [Ch_All]),
-(Ch: [Ch_All]),
-(Ch: [Ch_All]),
-(Ch: [Ch_All]),
-(Ch: [Ch_All]),
+(Ch: [Ch_Mop2, Ch_Rop1]),
+(Ch: [Ch_Mop2, Ch_Rop1]),
+(Ch: [Ch_Mop2, Ch_Rop1]),
+(Ch: [Ch_Mop2, Ch_Rop1]),
+(Ch: [Ch_Wop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2]),
 (Ch: [Ch_WEAX, Ch_WEDX]),
 (Ch: [Ch_Rop1, Ch_Wop2]),
-(Ch: [Ch_All]),
+(Ch: [Ch_Mop3, Ch_Rop2]),
 (Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
 (Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
 (Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),

+ 7 - 7
compiler/i8086/i8086prop.inc

@@ -677,15 +677,15 @@
 (Ch: [Ch_Rop3, Ch_Rop2, Ch_WXMM0]),
 (Ch: [Ch_Mop2, Ch_Rop1]),
 (Ch: [Ch_Wop2, Ch_Rop1]),
-(Ch: [Ch_All]),
-(Ch: [Ch_All]),
-(Ch: [Ch_All]),
-(Ch: [Ch_All]),
-(Ch: [Ch_All]),
-(Ch: [Ch_All]),
+(Ch: [Ch_Mop2, Ch_Rop1]),
+(Ch: [Ch_Mop2, Ch_Rop1]),
+(Ch: [Ch_Mop2, Ch_Rop1]),
+(Ch: [Ch_Mop2, Ch_Rop1]),
+(Ch: [Ch_Wop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2]),
 (Ch: [Ch_WEAX, Ch_WEDX]),
 (Ch: [Ch_Rop1, Ch_Wop2]),
-(Ch: [Ch_All]),
+(Ch: [Ch_Mop3, Ch_Rop2]),
 (Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
 (Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
 (Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),

+ 7 - 9
compiler/x86/x86ins.dat

@@ -3537,27 +3537,27 @@ reg64,rm64             \333\320\2\x0F\xB8\110              386,SM,SSE4,X86_64
 ;Use SSE4, but need special flag for AES insructions set
 
 [AESENC]
-(Ch_All)
+(Ch_Mop2, Ch_Rop1)
 xmmreg,xmmrm          \361\3\x0F\x38\xDC\110               SSE4,SM
 
 [AESENCLAST]
-(Ch_All)
+(Ch_Mop2, Ch_Rop1)
 xmmreg,xmmrm          \361\3\x0F\x38\xDD\110               SSE4,SM
 
 [AESDEC]
-(Ch_All)
+(Ch_Mop2, Ch_Rop1)
 xmmreg,xmmrm          \361\3\x0F\x38\xDE\110               SSE4,SM
 
 [AESDECLAST]
-(Ch_All)
+(Ch_Mop2, Ch_Rop1)
 xmmreg,xmmrm          \361\3\x0F\x38\xDF\110               SSE4,SM
 
 [AESIMC]
-(Ch_All)
+(Ch_Wop2, Ch_Rop1)
 xmmreg,xmmrm          \361\3\x0F\x38\xDB\110               SSE4,SM
 
 [AESKEYGENASSIST]
-(Ch_All)
+(Ch_Wop3, Ch_Rop2)
 xmmreg,xmmrm,imm      \361\3\x0F\x3A\xDF\110\26            SSE4,SB,AR2
 
 ;*******************************************************************************
@@ -3588,16 +3588,14 @@ void                   \326\1\xA7                                    X86_64
 reg16|32|64,mem16|32|64              \320\3\xf\x38\xf0\110           MOVBE,SM
 mem16|32|64,reg16|32|64              \321\3\xf\x38\xf1\101           MOVBE,SM
 
-
 ;*******************************************************************************
 ;********* CLMUL ***************************************************************
 ;*******************************************************************************
 
 [PCLMULQDQ]
-(Ch_All)
+(Ch_Mop3, Ch_Rop2)
 xmmreg,xmmrm,imm8                    \361\3\xf\x3A\x44\110\26        CLMUL,SANDYBRIDGE
 
-
 ;*******************************************************************************
 ;****** AVX I ******************************************************************
 ;*******************************************************************************

+ 7 - 7
compiler/x86_64/x8664pro.inc

@@ -670,18 +670,18 @@
 (Ch: [Ch_Rop3, Ch_Rop2, Ch_WXMM0]),
 (Ch: [Ch_Mop2, Ch_Rop1]),
 (Ch: [Ch_Wop2, Ch_Rop1]),
-(Ch: [Ch_All]),
-(Ch: [Ch_All]),
-(Ch: [Ch_All]),
-(Ch: [Ch_All]),
-(Ch: [Ch_All]),
-(Ch: [Ch_All]),
+(Ch: [Ch_Mop2, Ch_Rop1]),
+(Ch: [Ch_Mop2, Ch_Rop1]),
+(Ch: [Ch_Mop2, Ch_Rop1]),
+(Ch: [Ch_Mop2, Ch_Rop1]),
+(Ch: [Ch_Wop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2]),
 (Ch: [Ch_WEAX, Ch_WEDX]),
 (Ch: [Ch_RRAX, Ch_WMemEDI, Ch_RWRDI, Ch_RDirFlag]),
 (Ch: [Ch_WRAX, Ch_RWRSI, Ch_RDirFlag]),
 (Ch: [Ch_RWRSI, Ch_RMemEDI, Ch_RWRDI, Ch_RDirFlag, Ch_WOverflowFlag, Ch_WSignFlag, Ch_WZeroFlag, Ch_WAuxiliaryFlag, Ch_WCarryFlag, Ch_WParityFlag]),
 (Ch: [Ch_Rop1, Ch_Wop2]),
-(Ch: [Ch_All]),
+(Ch: [Ch_Mop3, Ch_Rop2]),
 (Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
 (Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
 (Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),