summaryrefslogtreecommitdiffstats
path: root/llvm/test/MachineVerifier
diff options
context:
space:
mode:
authorMatt Arsenault <Matthew.Arsenault@amd.com>2019-07-01 18:01:35 +0000
committerMatt Arsenault <Matthew.Arsenault@amd.com>2019-07-01 18:01:35 +0000
commit03ca176ab32d3683086a7ba2bd64f550f2a81fd6 (patch)
treec1147d2686091dbe58cf561c7f709212d4ffee62 /llvm/test/MachineVerifier
parent1023a2eca3f003c19532d5659f44bef169ab4519 (diff)
downloadbcm5719-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.mir28
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
+
+...
OpenPOWER on IntegriCloud