Fix a misencoding of CBW and CWD. This fixes PR1030.
authorChris Lattner <sabre@nondot.org>
Wed, 24 Jan 2007 18:31:00 +0000 (18:31 +0000)
committerChris Lattner <sabre@nondot.org>
Wed, 24 Jan 2007 18:31:00 +0000 (18:31 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33486 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/X86/X86InstrInfo.td

index 605e178177473dfa7502e80be0ed75b8585bfd5c..8518e67337a6ac5658b5488da430db4532e76636 100644 (file)
@@ -2394,12 +2394,12 @@ def MOVZX32rm16: I<0xB7, MRMSrcMem, (ops GR32:$dst, i16mem:$src),
                    [(set GR32:$dst, (zextloadi32i16 addr:$src))]>, TB;
 
 def CBW : I<0x98, RawFrm, (ops),
-            "{cbtw|cbw}", []>, Imp<[AL],[AX]>;   // AX = signext(AL)
+            "{cbtw|cbw}", []>, Imp<[AL],[AX]>, OpSize;   // AX = signext(AL)
 def CWDE : I<0x98, RawFrm, (ops),
             "{cwtl|cwde}", []>, Imp<[AX],[EAX]>;   // EAX = signext(AX)
 
 def CWD : I<0x99, RawFrm, (ops),
-            "{cwtd|cwd}", []>, Imp<[AX],[AX,DX]>;   // DX:AX = signext(AX)
+            "{cwtd|cwd}", []>, Imp<[AX],[AX,DX]>, OpSize; // DX:AX = signext(AX)
 def CDQ : I<0x99, RawFrm, (ops),
             "{cltd|cdq}", []>, Imp<[EAX],[EAX,EDX]>; // EDX:EAX = signext(EAX)