[all-commits] [llvm/llvm-project] 17dd1a: [X86] lowerShuffleAsElementInsertion - fold to or(...
Simon Pilgrim via All-commits
all-commits at lists.llvm.org
Sun May 7 12:58:33 PDT 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 17dd1ad14be77c722f7c7c1e4fa273c6f170abea
https://github.com/llvm/llvm-project/commit/17dd1ad14be77c722f7c7c1e4fa273c6f170abea
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2023-05-07 (Sun, 07 May 2023)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/insert-into-constant-vector.ll
Log Message:
-----------
[X86] lowerShuffleAsElementInsertion - fold to or(vzext_movl(scalar_to_vector(zext(x))), and(constant, mask))
The logic in this function is a bit of a mess, but masking a vector constant should allow us to OR the zero-extended i8/i16 scalar value in place.
We can do more here - reusing the OR pattern if the relevant unused elements are known zero etc. but this is enough to address a regression from D127115.
More information about the All-commits
mailing list