diff options
author | Ahmed Bougacha <ahmed.bougacha@gmail.com> | 2015-06-24 00:07:16 +0000 |
---|---|---|
committer | Ahmed Bougacha <ahmed.bougacha@gmail.com> | 2015-06-24 00:07:16 +0000 |
commit | dd5da3e7eda28296f538127129c8bcd6be7f8846 (patch) | |
tree | 74d9c1fb546c658eb7bef87f3683fa5a6cc30e06 /llvm/lib/Object/MachOObjectFile.cpp | |
parent | c7b685d9975140eec0a66b1b6e7c9ca3fef36a5d (diff) | |
download | llvm-dd5da3e7eda28296f538127129c8bcd6be7f8846.zip llvm-dd5da3e7eda28296f538127129c8bcd6be7f8846.tar.gz llvm-dd5da3e7eda28296f538127129c8bcd6be7f8846.tar.bz2 |
[X86] Don't generate vbroadcasti128 for v4i64 splats from memory.
We used to erroneously match:
(v4i64 shuffle (v2i64 load), <0,0,0,0>)
Whereas vbroadcasti128 is more like:
(v4i64 shuffle (v2i64 load), <0,1,0,1>)
This problem doesn't exist for vbroadcastf128, which kept matching
the intrinsic after r231182. We should perhaps re-introduce the
intrinsic here as well, but that's a separate issue still being
discussed.
While there, add some proper vbroadcastf128 tests. We don't currently
match those, like for loading vbroadcastsd/ss on AVX (the reg-reg
broadcasts where added in AVX2).
Fixes PR23886.
llvm-svn: 240488
Diffstat (limited to 'llvm/lib/Object/MachOObjectFile.cpp')
0 files changed, 0 insertions, 0 deletions