diff options
| author | Matt Arsenault <Matthew.Arsenault@amd.com> | 2019-07-01 18:01:35 +0000 |
|---|---|---|
| committer | Matt Arsenault <Matthew.Arsenault@amd.com> | 2019-07-01 18:01:35 +0000 |
| commit | 03ca176ab32d3683086a7ba2bd64f550f2a81fd6 (patch) | |
| tree | c1147d2686091dbe58cf561c7f709212d4ffee62 /llvm/test/MachineVerifier | |
| parent | 1023a2eca3f003c19532d5659f44bef169ab4519 (diff) | |
| download | bcm5719-llvm-03ca176ab32d3683086a7ba2bd64f550f2a81fd6.tar.gz bcm5719-llvm-03ca176ab32d3683086a7ba2bd64f550f2a81fd6.zip | |
GlobalISel: Verify G_MERGE_VALUES operand sizes
llvm-svn: 364822
Diffstat (limited to 'llvm/test/MachineVerifier')
| -rw-r--r-- | llvm/test/MachineVerifier/test_g_merge_values.mir | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/llvm/test/MachineVerifier/test_g_merge_values.mir b/llvm/test/MachineVerifier/test_g_merge_values.mir new file mode 100644 index 00000000000..4829e8f1317 --- /dev/null +++ b/llvm/test/MachineVerifier/test_g_merge_values.mir @@ -0,0 +1,28 @@ +# RUN: not llc -o - -march=arm64 -run-pass=none -verify-machineinstrs %s 2>&1 | FileCheck %s +# REQUIRES: aarch64-registered-target +--- +name: g_merge_values +tracksRegLiveness: true +liveins: +body: | + bb.0: + %0:_(s32) = IMPLICIT_DEF + %1:_(s32) = IMPLICIT_DEF + %2:_(<2 x s32>) = IMPLICIT_DEF + %3:_(<2 x s32>) = IMPLICIT_DEF + + ; CHECK: Bad machine code: G_MERGE_VALUES cannot operate on vectors + %4:_(<4 x s32>) = G_MERGE_VALUES %2, %3 + + ; CHECK: Bad machine code: G_MERGE_VALUES result size is inconsistent + %5:_(s64) = G_MERGE_VALUES %0 + + ; CHECK: Bad machine code: G_MERGE_VALUES result size is inconsistent + %6:_(s64) = G_MERGE_VALUES %0, %1, %1 + + %7:_(s16) = IMPLICIT_DEF + + ; CHECK: Bad machine code: G_MERGE_VALUES source types do not match + %8:_(s64) = G_MERGE_VALUES %0, %7 + +... |

