[llvm] 3821d2a - [X86] LowerRotate - pull out repeated is ISD::ROTL check. NFC.
Simon Pilgrim via llvm-commits
llvm-commits at lists.llvm.org
Thu Nov 18 09:03:39 PST 2021
Author: Simon Pilgrim
Date: 2021-11-18T17:03:19Z
New Revision: 3821d2ab3bec109a7a61335b75656f185f7a8957
URL: https://github.com/llvm/llvm-project/commit/3821d2ab3bec109a7a61335b75656f185f7a8957
DIFF: https://github.com/llvm/llvm-project/commit/3821d2ab3bec109a7a61335b75656f185f7a8957.diff
LOG: [X86] LowerRotate - pull out repeated is ISD::ROTL check. NFC.
Added:
Modified:
llvm/lib/Target/X86/X86ISelLowering.cpp
Removed:
################################################################################
diff --git a/llvm/lib/Target/X86/X86ISelLowering.cpp b/llvm/lib/Target/X86/X86ISelLowering.cpp
index bb5bc77b9e37b..520464a4056c8 100644
--- a/llvm/lib/Target/X86/X86ISelLowering.cpp
+++ b/llvm/lib/Target/X86/X86ISelLowering.cpp
@@ -29780,6 +29780,7 @@ static SDValue LowerRotate(SDValue Op, const X86Subtarget &Subtarget,
unsigned Opcode = Op.getOpcode();
unsigned EltSizeInBits = VT.getScalarSizeInBits();
int NumElts = VT.getVectorNumElements();
+ bool IsROTL = Opcode == ISD::ROTL;
// Check for constant splat rotation amount.
APInt CstSplatValue;
@@ -29793,7 +29794,7 @@ static SDValue LowerRotate(SDValue Op, const X86Subtarget &Subtarget,
if (Subtarget.hasAVX512() && 32 <= EltSizeInBits) {
// Attempt to rotate by immediate.
if (IsCstSplat) {
- unsigned RotOpc = (Opcode == ISD::ROTL ? X86ISD::VROTLI : X86ISD::VROTRI);
+ unsigned RotOpc = IsROTL ? X86ISD::VROTLI : X86ISD::VROTRI;
uint64_t RotAmt = CstSplatValue.urem(EltSizeInBits);
return DAG.getNode(RotOpc, DL, VT, R,
DAG.getTargetConstant(RotAmt, DL, MVT::i8));
@@ -29805,11 +29806,11 @@ static SDValue LowerRotate(SDValue Op, const X86Subtarget &Subtarget,
// AVX512 VBMI2 vXi16 - lower to funnel shifts.
if (Subtarget.hasVBMI2() && 16 == EltSizeInBits) {
- unsigned FunnelOpc = (Opcode == ISD::ROTL ? ISD::FSHL : ISD::FSHR);
+ unsigned FunnelOpc = IsROTL ? ISD::FSHL : ISD::FSHR;
return DAG.getNode(FunnelOpc, DL, VT, R, R, Amt);
}
- assert((Opcode == ISD::ROTL) && "Only ROTL supported");
+ assert(IsROTL && "Only ROTL supported");
// XOP has 128-bit vector variable + immediate rotates.
// +ve/-ve Amt = rotate left/right - just need to handle ISD::ROTL.
More information about the llvm-commits
mailing list