diff options
author | Simon Pilgrim <llvm-dev@redking.me.uk> | 2022-03-04 16:47:20 +0000 |
---|---|---|
committer | Simon Pilgrim <llvm-dev@redking.me.uk> | 2022-03-04 16:47:35 +0000 |
commit | 147cfcbef1255ba2b4875b76708dab1a685085f5 (patch) | |
tree | 1360dbbf7bef84d5850bcaa91cbc66855ef4f756 /lldb/source/Plugins/ScriptInterpreter/Python/SWIGPythonBridge.h | |
parent | 85c53c7092176e5f611fe620867eb2b82a30c80d (diff) | |
download | llvm-147cfcbef1255ba2b4875b76708dab1a685085f5.zip llvm-147cfcbef1255ba2b4875b76708dab1a685085f5.tar.gz llvm-147cfcbef1255ba2b4875b76708dab1a685085f5.tar.bz2 |
[X86] LowerShiftByScalarVariable - find splat patterns with getSplatSourceVector instead of getSplatValue
This completes the removal of uses of SelectionDAG::getSplatValue started in D119090 - by avoiding extracting the splatted element we make it a lot easier to zero-extend the bottom 64-bits of the shift amount and fixes issues we had on 32-bit targets where i64 isn't legal.
I've removed the old version of getTargetVShiftNode that took the scalar shift amount argument and LowerRotate can finally efficiently handle vXi16 rotates-by-scalar (using the same code as general funnel-shifts).
The only regression we see is in the X86-AVX2 PR52719 test case in vector-shift-ashr-256.ll - this is now hitting the same problem as the X86-AVX1 case (failure to simplify a multi-use X86ISD::VBROADCAST_LOAD) which I intend to address in a follow up patch.
Diffstat (limited to 'lldb/source/Plugins/ScriptInterpreter/Python/SWIGPythonBridge.h')
0 files changed, 0 insertions, 0 deletions