[all-commits] [llvm/llvm-project] 19d028: [X86][AVX] Fold extract_subvector(VSRLI/VSHLI(x, 32...
Simon Pilgrim via All-commits
all-commits at lists.llvm.org
Wed Jan 20 06:35:54 PST 2021
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 19d02842ee56089b9208875ce4582e113e08fb6d
https://github.com/llvm/llvm-project/commit/19d02842ee56089b9208875ce4582e113e08fb6d
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2021-01-20 (Wed, 20 Jan 2021)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/combine-sra.ll
M llvm/test/CodeGen/X86/pmul.ll
M llvm/test/CodeGen/X86/vec-strict-inttofp-256.ll
Log Message:
-----------
[X86][AVX] Fold extract_subvector(VSRLI/VSHLI(x,32)) -> VSRLI/VSHLI(extract_subvector(x),32)
As discussed on D56387, if we're shifting to extract the upper/lower half of a vXi64 vector then we're actually better off performing this at the subvector level as its very likely to fold into something.
combineConcatVectorOps can perform this in reverse if necessary.
More information about the All-commits
mailing list