diff options
| author | Craig Topper <craig.topper@intel.com> | 2017-12-05 04:47:12 +0000 |
|---|---|---|
| committer | Craig Topper <craig.topper@intel.com> | 2017-12-05 04:47:12 +0000 |
| commit | e1ba2450c2ec7954911fa7c7234c4b3f3be9f9ec (patch) | |
| tree | b0a9fcce9afe12b30ef37a29ec281cd0136f3da2 /llvm/lib/Target | |
| parent | 7700912976a5948d31a0e34fe9f8c1059afabcac (diff) | |
| download | bcm5719-llvm-e1ba2450c2ec7954911fa7c7234c4b3f3be9f9ec.tar.gz bcm5719-llvm-e1ba2450c2ec7954911fa7c7234c4b3f3be9f9ec.zip | |
[X86] Fix a crash if avx512bw and xop are both enabled when the IR contrains a v32i8 bitreverse.
llvm-svn: 319737
Diffstat (limited to 'llvm/lib/Target')
| -rw-r--r-- | llvm/lib/Target/X86/X86ISelLowering.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/llvm/lib/Target/X86/X86ISelLowering.cpp b/llvm/lib/Target/X86/X86ISelLowering.cpp index eae3800f86b..8e440743814 100644 --- a/llvm/lib/Target/X86/X86ISelLowering.cpp +++ b/llvm/lib/Target/X86/X86ISelLowering.cpp @@ -23792,12 +23792,13 @@ static SDValue LowerBITREVERSE_XOP(SDValue Op, SelectionDAG &DAG) { static SDValue LowerBITREVERSE(SDValue Op, const X86Subtarget &Subtarget, SelectionDAG &DAG) { - if (Subtarget.hasXOP()) + MVT VT = Op.getSimpleValueType(); + + if (Subtarget.hasXOP() && !VT.is512BitVector()) return LowerBITREVERSE_XOP(Op, DAG); assert(Subtarget.hasSSSE3() && "SSSE3 required for BITREVERSE"); - MVT VT = Op.getSimpleValueType(); SDValue In = Op.getOperand(0); SDLoc DL(Op); |

