diff options
| author | Craig Topper <craig.topper@intel.com> | 2018-11-16 01:16:59 +0000 |
|---|---|---|
| committer | Craig Topper <craig.topper@intel.com> | 2018-11-16 01:16:59 +0000 |
| commit | 5802b82b408dbe784ca4d09817a78924fa7ab4c3 (patch) | |
| tree | 1c67ad0ebe1422e928e8686a6a87631027503133 /llvm/lib | |
| parent | 1acafd863f53810c21cf73603f767314992aa27b (diff) | |
| download | bcm5719-llvm-5802b82b408dbe784ca4d09817a78924fa7ab4c3.tar.gz bcm5719-llvm-5802b82b408dbe784ca4d09817a78924fa7ab4c3.zip | |
[X86] Use ANY_EXTEND instead of SIGN_EXTEND in the AVX2 and later path for legalizing vXi8 multiply.
We aren't going to use the upper bits of the multiply result that the extend would effect. So we don't need a specific type of extend.
This makes some reduction test cases shorter because we were previously trying to sign_extend a truncate which we can't eliminate.
llvm-svn: 347011
Diffstat (limited to 'llvm/lib')
| -rw-r--r-- | llvm/lib/Target/X86/X86ISelLowering.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/llvm/lib/Target/X86/X86ISelLowering.cpp b/llvm/lib/Target/X86/X86ISelLowering.cpp index b496a1fb8cf..f5ce73a69ba 100644 --- a/llvm/lib/Target/X86/X86ISelLowering.cpp +++ b/llvm/lib/Target/X86/X86ISelLowering.cpp @@ -23359,8 +23359,8 @@ static SDValue LowerMUL(SDValue Op, const X86Subtarget &Subtarget, return DAG.getNode( ISD::TRUNCATE, dl, VT, DAG.getNode(ISD::MUL, dl, ExVT, - DAG.getNode(ISD::SIGN_EXTEND, dl, ExVT, A), - DAG.getNode(ISD::SIGN_EXTEND, dl, ExVT, B))); + DAG.getNode(ISD::ANY_EXTEND, dl, ExVT, A), + DAG.getNode(ISD::ANY_EXTEND, dl, ExVT, B))); } assert(VT == MVT::v16i8 && |

