diff options
author | Simon Pilgrim <llvm-dev@redking.me.uk> | 2021-03-24 11:31:35 +0000 |
---|---|---|
committer | Simon Pilgrim <llvm-dev@redking.me.uk> | 2021-03-24 11:31:56 +0000 |
commit | e9015bd59519e205c2205fa413c8af7e677cc65d (patch) | |
tree | a73d64a38af97c471cfd28b48d9bc9c246675789 /clang/lib/Frontend | |
parent | 97a00b7b20832cdf9d426f1911c8ac5bd67f040d (diff) | |
download | llvm-e9015bd59519e205c2205fa413c8af7e677cc65d.zip llvm-e9015bd59519e205c2205fa413c8af7e677cc65d.tar.gz llvm-e9015bd59519e205c2205fa413c8af7e677cc65d.tar.bz2 |
[X86][AVX] lowerShuffleAsBroadcast - MOVDDUP(SCALAR_TO_VECTOR(X)) -> BROADCAST(X)
Prefer broadcast from scalar on AVX targets as this makes it easier for later folds to strip away bitcasts etc.
This helps a lot with the AVX1 poor codegen from PR49658.
There's a trivial regression in bitcast-int-to-vector-bool-*ext.ll tests due to SimplifyDemandedBits not being able to see a multi-use case, but there's bigger existing codegen issues to be addressed first in those tests (unnecessary NOTs).
Diffstat (limited to 'clang/lib/Frontend')
0 files changed, 0 insertions, 0 deletions