[all-commits] [llvm/llvm-project] e9015b: [X86][AVX] lowerShuffleAsBroadcast - MOVDDUP(SCALA...
Simon Pilgrim via All-commits
all-commits at lists.llvm.org
Wed Mar 24 04:32:24 PDT 2021
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: e9015bd59519e205c2205fa413c8af7e677cc65d
https://github.com/llvm/llvm-project/commit/e9015bd59519e205c2205fa413c8af7e677cc65d
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2021-03-24 (Wed, 24 Mar 2021)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/avx-intrinsics-fast-isel.ll
M llvm/test/CodeGen/X86/avx-splat.ll
M llvm/test/CodeGen/X86/bitcast-int-to-vector-bool-sext.ll
M llvm/test/CodeGen/X86/bitcast-int-to-vector-bool-zext.ll
M llvm/test/CodeGen/X86/combine-bitselect.ll
M llvm/test/CodeGen/X86/combine-pmuldq.ll
M llvm/test/CodeGen/X86/insertelement-var-index.ll
Log Message:
-----------
[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).
More information about the All-commits
mailing list