summaryrefslogtreecommitdiffstats
path: root/llvm/test/MachineVerifier/test_g_inttoptr.mir
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/test/MachineVerifier/test_g_inttoptr.mir')
-rw-r--r--llvm/test/MachineVerifier/test_g_inttoptr.mir45
1 files changed, 45 insertions, 0 deletions
diff --git a/llvm/test/MachineVerifier/test_g_inttoptr.mir b/llvm/test/MachineVerifier/test_g_inttoptr.mir
new file mode 100644
index 00000000000..f3a201147f1
--- /dev/null
+++ b/llvm/test/MachineVerifier/test_g_inttoptr.mir
@@ -0,0 +1,45 @@
+#RUN: not llc -o - -run-pass=none -verify-machineinstrs %s 2>&1 | FileCheck %s
+# REQUIRES: global-isel, aarch64-registered-target
+
+---
+name: test_inttoptr
+legalized: true
+regBankSelected: false
+selected: false
+tracksRegLiveness: true
+liveins:
+body: |
+ bb.0:
+
+ %0:_(s64) = G_IMPLICIT_DEF
+ %1:_(p0) = G_IMPLICIT_DEF
+ %2:_(<2 x s64>) = G_IMPLICIT_DEF
+ %3:_(<2 x p0>) = G_IMPLICIT_DEF
+
+ ; CHECK: Bad machine code: Too few operands
+ %4:_(p0) = G_INTTOPTR
+
+ ; CHECK: Bad machine code: Too few operands
+ ; CHECK: Bad machine code: Explicit definition marked as use
+ G_INTTOPTR %0
+
+ ; CHECK: Bad machine code: inttoptr result type must be a pointer
+ %5:_(s64) = G_INTTOPTR %0
+
+ ; CHECK: Bad machine code: inttoptr result type must be a pointer
+ %6:_(<2 x s64>) = G_INTTOPTR %2
+
+ ; CHECK: Bad machine code: operand types must be all-vector or all-scalar
+ %7:_(<2 x p0>) = G_INTTOPTR %0
+
+ ; CHECK: Bad machine code: operand types must be all-vector or all-scalar
+ %8:_(p0) = G_INTTOPTR %2
+
+ ; CHECK: Bad machine code: operand types must preserve number of vector elements
+ %9:_(<4 x p0>) = G_INTTOPTR %2
+
+ ; CHECK: Bad machine code: operand types must preserve number of vector elements
+ %10:_(<4 x s64>) = G_IMPLICIT_DEF
+ %11:_(<2 x p0>) = G_INTTOPTR %10
+
+...
OpenPOWER on IntegriCloud