summaryrefslogtreecommitdiffstats
path: root/llvm/test/MachineVerifier/test_g_ptrtoint.mir
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/test/MachineVerifier/test_g_ptrtoint.mir')
-rw-r--r--llvm/test/MachineVerifier/test_g_ptrtoint.mir45
1 files changed, 45 insertions, 0 deletions
diff --git a/llvm/test/MachineVerifier/test_g_ptrtoint.mir b/llvm/test/MachineVerifier/test_g_ptrtoint.mir
new file mode 100644
index 00000000000..c6a969a9c37
--- /dev/null
+++ b/llvm/test/MachineVerifier/test_g_ptrtoint.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_ptrtoint
+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:_(s64) = G_PTRTOINT
+
+ ; CHECK: Bad machine code: Too few operands
+ ; CHECK: Bad machine code: Explicit definition marked as use
+ G_PTRTOINT %1
+
+ ; CHECK: Bad machine code: ptrtoint result type must not be a pointer
+ %5:_(p0) = G_PTRTOINT %1
+
+ ; CHECK: Bad machine code: ptrtoint result type must not be a pointer
+ %6:_(<2 x p0>) = G_PTRTOINT %0
+
+ ; CHECK: Bad machine code: ptrtoint source type must be a pointer
+ %7:_(<2 x s64>) = G_PTRTOINT %2
+
+ ; CHECK: Bad machine code: operand types must be all-vector or all-scalar
+ %8:_(s64) = G_PTRTOINT %3
+
+ ; CHECK: Bad machine code: operand types must preserve number of vector elements
+ %9:_(<4 x s64>) = G_INTTOPTR %3
+
+ ; CHECK: Bad machine code: operand types must preserve number of vector elements
+ %10:_(<4 x p0>) = G_IMPLICIT_DEF
+ %11:_(<2 x s64>) = G_PTRTOINT %10
+
+...
OpenPOWER on IntegriCloud