git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139014
91177308-0d34-0410-b5e6-
96231b3b80d8
# CHECK: crc32b %al, %eax
0xf2 0x0f 0x38 0xf0 0xc0
# CHECK: crc32b %al, %eax
0xf2 0x0f 0x38 0xf0 0xc0
+
+# CHECK: crc32w %ax, %eax
+0x66 0xf2 0x0f 0x38 0xf1 0xc0
Operands = &insn.Operands.OperandList;
Operands = &insn.Operands.OperandList;
- IsSSE = HasOpSizePrefix && (Name.find("16") == Name.npos);
+ IsSSE = (HasOpSizePrefix && (Name.find("16") == Name.npos)) ||
+ (Name.find("CRC32") != Name.npos);
HasFROperands = hasFROperands();
HasVEX_LPrefix = has256BitOperands() || Rec->getValueAsBit("hasVEX_L");
HasFROperands = hasFROperands();
HasVEX_LPrefix = has256BitOperands() || Rec->getValueAsBit("hasVEX_L");
else
insnContext = IC_64BIT;
} else {
else
insnContext = IC_64BIT;
} else {
+ if (HasOpSizePrefix && Prefix == X86Local::TF)
+ insnContext = IC_XD;
+ else if (HasOpSizePrefix)
insnContext = IC_OPSIZE;
else if (Prefix == X86Local::XD)
insnContext = IC_XD;
insnContext = IC_OPSIZE;
else if (Prefix == X86Local::XD)
insnContext = IC_XD;