My previous commit broke the jit. The shift instructions always take
authorAlkis Evlogimenos <alkis@evlogimenos.com>
Sat, 28 Feb 2004 02:56:26 +0000 (02:56 +0000)
committerAlkis Evlogimenos <alkis@evlogimenos.com>
Sat, 28 Feb 2004 02:56:26 +0000 (02:56 +0000)
commit2eae37938830aa1b68f3fb1e75d4de22ee3175c0
tree5ef33122af9c122e13fcbfcf93eeab6f1b43caaf
parent9f78bf2ff75f0267a2263be83828d93d09f2c806
My previous commit broke the jit. The shift instructions always take
an 8-bit immediate. So mark the shifts that take immediates as taking
an 8-bit argument. The rest with the implicit use of CL are marked
appropriately.

A bug still exists:

def SHLDmri32  : I2A8 <"shld", 0xA4, MRMDestMem>, TB;           // [mem32] <<= [mem32],R32 imm8

The immediate in the above instruction is 8-bit but the memory
reference is 32-bit. The printer prints this as an 8-bit reference
which confuses the assembler. Same with SHRDmri32.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11931 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/X86/X86InstrInfo.td