summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorCraig Topper <craig.topper@gmail.com>2016-06-11 03:27:37 +0000
committerCraig Topper <craig.topper@gmail.com>2016-06-11 03:27:37 +0000
commitb9b86fcfff63bac596714ed7979599714c436cf5 (patch)
tree4de25cf813117d97bf2f34ffbcefa76f64d9792c /llvm/lib
parent334aa07915cf1f70f3389a4c4801f77a746b0a93 (diff)
downloadbcm5719-llvm-b9b86fcfff63bac596714ed7979599714c436cf5.tar.gz
bcm5719-llvm-b9b86fcfff63bac596714ed7979599714c436cf5.zip
[AVX512] No need to check for BWI being enabled before lowering v32i16 and v64i8 shuffles. If we get this far the types are already legal which means BWI must be enabled.
llvm-svn: 272449
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/Target/X86/X86ISelLowering.cpp11
1 files changed, 2 insertions, 9 deletions
diff --git a/llvm/lib/Target/X86/X86ISelLowering.cpp b/llvm/lib/Target/X86/X86ISelLowering.cpp
index d15cfecebfb..521008c50ca 100644
--- a/llvm/lib/Target/X86/X86ISelLowering.cpp
+++ b/llvm/lib/Target/X86/X86ISelLowering.cpp
@@ -11889,20 +11889,13 @@ static SDValue lower512BitVectorShuffle(SDValue Op, SDValue V1, SDValue V2,
case MVT::v16i32:
return lowerV16I32VectorShuffle(Op, V1, V2, Subtarget, DAG);
case MVT::v32i16:
- if (Subtarget.hasBWI())
- return lowerV32I16VectorShuffle(Op, V1, V2, Subtarget, DAG);
- break;
+ return lowerV32I16VectorShuffle(Op, V1, V2, Subtarget, DAG);
case MVT::v64i8:
- if (Subtarget.hasBWI())
- return lowerV64I8VectorShuffle(Op, V1, V2, Subtarget, DAG);
- break;
+ return lowerV64I8VectorShuffle(Op, V1, V2, Subtarget, DAG);
default:
llvm_unreachable("Not a valid 512-bit x86 vector type!");
}
-
- // Otherwise fall back on splitting.
- return splitAndLowerVectorShuffle(DL, VT, V1, V2, Mask, DAG);
}
// Lower vXi1 vector shuffles.
OpenPOWER on IntegriCloud