diff options
author | Thorsten Schütt <schuett@gmail.com> | 2024-11-16 08:00:21 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-11-16 08:00:21 +0100 |
commit | 2906fcadb8563a02949f852867cebc63e0539cb7 (patch) | |
tree | 4f9a79de7c52fd7707f41b5a72f932b0bcd513d1 /clang/lib/CodeGen/CodeGenFunction.cpp | |
parent | ec0a27f6589c5407e98efd9ffcc5edd17c63a108 (diff) | |
download | llvm-2906fcadb8563a02949f852867cebc63e0539cb7.zip llvm-2906fcadb8563a02949f852867cebc63e0539cb7.tar.gz llvm-2906fcadb8563a02949f852867cebc63e0539cb7.tar.bz2 |
[GlobalISel] Combine G_MERGE_VALUES of x and zero (#116283)
into zext x
LegalizerHelper has two padding strategies: undef or zero.
see LegalizerHelper:273
see LegalizerHelper:315
This PR is about zero sugar and Coke Zero.
; CHECK-NEXT: [[MV2:%[0-9]+]]:_(s64) = G_MERGE_VALUES %a(s32),
[[C]](s32)
Please continue padding merge values.
// %bits_8_15:(s8) = G_CONSTANT i8 0
// %0:(s16) = G_MERGE_VALUES %bits_0_7:(s8), %bits_8_15:(s8)
%bits_8_15 is defined by zero. For optimization, we pick zext.
// %0:_(s16) = G_ZEXT %bits_0_7:(s8)
The upper bits of %0 are zero and the lower bits come from %bits_0_7.
Diffstat (limited to 'clang/lib/CodeGen/CodeGenFunction.cpp')
0 files changed, 0 insertions, 0 deletions