summaryrefslogtreecommitdiffstats
path: root/llvm/test/MachineVerifier/test_g_ptrtoint.mir
diff options
context:
space:
mode:
authorMatt Arsenault <Matthew.Arsenault@amd.com>2019-02-15 15:24:31 +0000
committerMatt Arsenault <Matthew.Arsenault@amd.com>2019-02-15 15:24:31 +0000
commit4673fdc5311334da6bd1d0638e2cdb3e1424b0b5 (patch)
tree4498a5dee6c3a672709db2d06190ffd325b45e09 /llvm/test/MachineVerifier/test_g_ptrtoint.mir
parentfb4df68f48702377845a471fddcd1f67a3889ae4 (diff)
downloadbcm5719-llvm-4673fdc5311334da6bd1d0638e2cdb3e1424b0b5.tar.gz
bcm5719-llvm-4673fdc5311334da6bd1d0638e2cdb3e1424b0b5.zip
Try to organize MachineVerifier tests
The Verifier is separate from the MachineVerifier, so move it to a different directory. Some other verifier tests were scattered in target codegen tests as well (although I'm sure I missed some). Work towards using a more consistent naming scheme to make it clearer where the gaps still are for generic instructions. llvm-svn: 354138
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