[PATCH] D39823: GlobalISel: Enable the legalization of G_MERGE_VALUES and G_UNMERGE_VALUES
Volkan Keles via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Nov 29 22:49:53 PST 2017
volkan marked 3 inline comments as done.
volkan added inline comments.
================
Comment at: test/CodeGen/AArch64/GlobalISel/legalize-nonpowerof2eltsvec.mir:23-33
; CHECK-LABEL: name: test_legalize_merge_v3s32
- ; CHECK: [[COPY:%[0-9]+]]:_(s32) = COPY %w0
- ; CHECK: [[COPY1:%[0-9]+]]:_(s32) = COPY %w1
- ; CHECK: [[COPY2:%[0-9]+]]:_(s32) = COPY %w2
- ; CHECK: %w0 = COPY [[COPY]](s32)
- ; CHECK: %w1 = COPY [[COPY1]](s32)
- ; CHECK: %w2 = COPY [[COPY2]](s32)
- %0(s32) = COPY %w0
- %1(s32) = COPY %w1
- %2(s32) = COPY %w2
- %3(<3 x s32>) = G_MERGE_VALUES %0(s32), %1(s32), %2(s32)
- %4:_(s32), %5:_(s32), %6:_(s32) = G_UNMERGE_VALUES %3
- %w0 = COPY %4
- %w1 = COPY %5
- %w2 = COPY %6
+ ; CHECK: [[COPY:%[0-9]+]]:_(s64) = COPY %x0
+ ; CHECK: [[MV:%[0-9]+]]:_(<3 x s64>) = G_MERGE_VALUES [[COPY]](s64), [[COPY]](s64), [[COPY]](s64)
+ ; CHECK: [[COPY1:%[0-9]+]]:_(<3 x s64>) = COPY [[MV]](<3 x s64>)
+ ; CHECK: [[UV:%[0-9]+]]:_(s64), [[UV1:%[0-9]+]]:_(s64), [[UV2:%[0-9]+]]:_(s64) = G_UNMERGE_VALUES [[COPY1]](<3 x s64>)
+ ; CHECK: %x0 = COPY [[UV]](s64)
+ %0(s64) = COPY %x0
----------------
dsanders wrote:
> I'm not sure why this test has changed from s32's to s64's. Could you explain?
>
> Also, the name is inconsistent with the types used
> I'm not sure why this test has changed from s32's to s64's. Could you explain?
It's because <3 x s32> is not legal.
https://reviews.llvm.org/D39823
More information about the llvm-commits
mailing list