[all-commits] [llvm/llvm-project] c0a41c: [AArch64][GlobalISel] Improve legalization for odd...
Jessica Paquette via All-commits
all-commits at lists.llvm.org
Wed Jul 28 15:32:03 PDT 2021
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: c0a41c3d3b53b0d64286947cf11751ff6889be30
https://github.com/llvm/llvm-project/commit/c0a41c3d3b53b0d64286947cf11751ff6889be30
Author: Jessica Paquette <jpaquette at apple.com>
Date: 2021-07-28 (Wed, 28 Jul 2021)
Changed paths:
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-cmp.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-constant.mir
Log Message:
-----------
[AArch64][GlobalISel] Improve legalization for odd-sized G_ICMP/G_CONSTANT
We were handing types like s88 like
1) clamp to the range
2) widen to the next power of 2
This isn't desirable because it causes an odd breakdown for types like s88.
If we widen to the next power of 2 (s128) first, then we get a clean breakdown
when we clamp back to s64.
Differential Revision: https://reviews.llvm.org/D106998
More information about the All-commits
mailing list