diff options
| author | Craig Topper <craig.topper@gmail.com> | 2011-11-29 07:49:05 +0000 |
|---|---|---|
| committer | Craig Topper <craig.topper@gmail.com> | 2011-11-29 07:49:05 +0000 |
| commit | c16db840bea5caf60b3f0cc81c92b90193ea494b (patch) | |
| tree | 3613de0576c98f011170809bfb6f430e3dca08a3 /llvm/lib/Target/X86/X86ISelLowering.cpp | |
| parent | 64404a3b2c62db01c3a4459a2c15c37496ed9f65 (diff) | |
| download | bcm5719-llvm-c16db840bea5caf60b3f0cc81c92b90193ea494b.tar.gz bcm5719-llvm-c16db840bea5caf60b3f0cc81c92b90193ea494b.zip | |
Fix issues in shuffle decoding around VPERM* instructions. Fix shuffle decoding for VSHUFPS/D for 256-bit types. Add pattern matching for memory forms of VPERMILPS/VPERMILPD.
llvm-svn: 145390
Diffstat (limited to 'llvm/lib/Target/X86/X86ISelLowering.cpp')
| -rw-r--r-- | llvm/lib/Target/X86/X86ISelLowering.cpp | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/llvm/lib/Target/X86/X86ISelLowering.cpp b/llvm/lib/Target/X86/X86ISelLowering.cpp index cde20c3cb37..7626db0441c 100644 --- a/llvm/lib/Target/X86/X86ISelLowering.cpp +++ b/llvm/lib/Target/X86/X86ISelLowering.cpp @@ -4567,9 +4567,8 @@ static SDValue getShuffleScalarElt(SDNode *N, int Index, SelectionDAG &DAG, case X86ISD::SHUFPS: case X86ISD::SHUFPD: ImmN = N->getOperand(N->getNumOperands()-1); - DecodeSHUFPSMask(NumElems, - cast<ConstantSDNode>(ImmN)->getZExtValue(), - ShuffleMask); + DecodeSHUFPMask(VT, cast<ConstantSDNode>(ImmN)->getZExtValue(), + ShuffleMask); break; case X86ISD::PUNPCKH: DecodePUNPCKHMask(NumElems, ShuffleMask); |

