summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/X86/InstPrinter/X86ATTInstPrinter.cpp
diff options
context:
space:
mode:
authorElena Demikhovsky <elena.demikhovsky@intel.com>2014-01-13 12:55:03 +0000
committerElena Demikhovsky <elena.demikhovsky@intel.com>2014-01-13 12:55:03 +0000
commitb19c9dc1a16768621781c66aad3f3d48349f7d12 (patch)
treea4eef62d1dc69b5931a6327c8276a4d339372da6 /llvm/lib/Target/X86/InstPrinter/X86ATTInstPrinter.cpp
parentdb9120a037a2c3936f273485af2f1732d71120e0 (diff)
downloadbcm5719-llvm-b19c9dc1a16768621781c66aad3f3d48349f7d12.tar.gz
bcm5719-llvm-b19c9dc1a16768621781c66aad3f3d48349f7d12.zip
AVX-512: Embedded Rounding Control - encoding and printing
Changed intrinsics for vrcp14/vrcp28 vrsqrt14/vrsqrt28 - aligned with GCC. llvm-svn: 199102
Diffstat (limited to 'llvm/lib/Target/X86/InstPrinter/X86ATTInstPrinter.cpp')
-rw-r--r--llvm/lib/Target/X86/InstPrinter/X86ATTInstPrinter.cpp4
1 files changed, 1 insertions, 3 deletions
diff --git a/llvm/lib/Target/X86/InstPrinter/X86ATTInstPrinter.cpp b/llvm/lib/Target/X86/InstPrinter/X86ATTInstPrinter.cpp
index e214e9b5879..8c2bb0f9e9f 100644
--- a/llvm/lib/Target/X86/InstPrinter/X86ATTInstPrinter.cpp
+++ b/llvm/lib/Target/X86/InstPrinter/X86ATTInstPrinter.cpp
@@ -125,14 +125,12 @@ void X86ATTInstPrinter::printAVXCC(const MCInst *MI, unsigned Op,
void X86ATTInstPrinter::printRoundingControl(const MCInst *MI, unsigned Op,
raw_ostream &O) {
- int64_t Imm = MI->getOperand(Op).getImm() & 0x1f;
+ int64_t Imm = MI->getOperand(Op).getImm() & 0x3;
switch (Imm) {
case 0: O << "{rn-sae}"; break;
case 1: O << "{rd-sae}"; break;
case 2: O << "{ru-sae}"; break;
case 3: O << "{rz-sae}"; break;
-
- default: llvm_unreachable("Invalid AVX-512 rounding control argument!");
}
}
/// printPCRelImm - This is used to print an immediate value that ends up
OpenPOWER on IntegriCloud