[all-commits] [llvm/llvm-project] 45a9dc: [AArch64][GlobalISel] Form G_DUPLANE32 for <2 x s3...
Amara Emerson via All-commits
all-commits at lists.llvm.org
Tue Mar 9 11:37:09 PST 2021
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 45a9dca0150ec16e6365dfb9c270f11469337623
https://github.com/llvm/llvm-project/commit/45a9dca0150ec16e6365dfb9c270f11469337623
Author: Amara Emerson <amara at apple.com>
Date: 2021-03-09 (Tue, 09 Mar 2021)
Changed paths:
M llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerLowering.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-lowering-shuffle-duplane.mir
A llvm/test/CodeGen/AArch64/GlobalISel/select-fmul-indexed.mir
Log Message:
-----------
[AArch64][GlobalISel] Form G_DUPLANE32 for <2 x s32> shufflevectors in lowering.
For <2 x s32>, we can use G_DUPLANE32, but with a <4 x s32> source. To make it
work, we can just widen the original source with a concat_vectors.
Doing this allows <2 x float> indexed fmul instruction selection patterns to
fire, which gives a nice 0.3% code size saving on Bullet with -Os.
Differential Revision: https://reviews.llvm.org/D98059
More information about the All-commits
mailing list