[X86] Classify the AVX512 rounding control operand as X86::OPERAND_ROUNDING_CONTROL...
authorCraig Topper <craig.topper@intel.com>
Mon, 1 Apr 2019 19:08:15 +0000 (19:08 +0000)
committerCraig Topper <craig.topper@intel.com>
Mon, 1 Apr 2019 19:08:15 +0000 (19:08 +0000)
commit4307172b8413fd40a63cd9adf54973e641a891ba
treee12d1d74c061a1f66fe8bbf8307d7d744bf7afef
parentf2baddb0fc48708ce1deb1428c89dd3504636f18
[X86] Classify the AVX512 rounding control operand as X86::OPERAND_ROUNDING_CONTROL instead of MCOI::OPERAND_IMMEDIATE. Add an assert on legal values of rounding control in the encoder and remove an explicit mask.

This should allow llvm-exegesis to intelligently constrain the rounding mode.

The mask in the encoder shouldn't be necessary any more. We used to allow codegen to use 8-11 for rounding mode and the assembler would use 0-3 to mean the same thing so we masked here and in the printer. Codegen now matches the assembler and the printer was updated, but I forgot to update the encoder.

llvm-svn: 357419
llvm/lib/Target/X86/MCTargetDesc/X86BaseInfo.h
llvm/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp
llvm/lib/Target/X86/X86InstrInfo.td