[InstCombine] Signed saturation patterns
[llvm-core.git] / test / MachineVerifier / test_g_ptrtoint.mir
blobc9a50bbded714edfef61bf87646b829a8dd3e5fc
1 #RUN: not llc -o - -march=arm64 -run-pass=none -verify-machineinstrs %s 2>&1 | FileCheck %s
2 # REQUIRES: global-isel, aarch64-registered-target
4 ---
5 name:            test_ptrtoint
6 legalized:       true
7 regBankSelected: false
8 selected:        false
9 tracksRegLiveness: true
10 liveins:
11 body:             |
12   bb.0:
14     %0:_(s64) = G_IMPLICIT_DEF
15     %1:_(p0) = G_IMPLICIT_DEF
16     %2:_(<2 x s64>) = G_IMPLICIT_DEF
17     %3:_(<2 x p0>) = G_IMPLICIT_DEF
19     ; CHECK: Bad machine code: Too few operands
20     %4:_(s64) = G_PTRTOINT
22     ; CHECK: Bad machine code: Too few operands
23     ; CHECK: Bad machine code: Explicit definition marked as use
24     G_PTRTOINT %1
26     ; CHECK: Bad machine code: ptrtoint result type must not be a pointer
27     %5:_(p0) = G_PTRTOINT %1
29     ; CHECK: Bad machine code: ptrtoint result type must not be a pointer
30     %6:_(<2 x p0>) = G_PTRTOINT %0
32     ; CHECK: Bad machine code: ptrtoint source type must be a pointer
33     %7:_(<2 x s64>) = G_PTRTOINT %2
35     ; CHECK: Bad machine code: operand types must be all-vector or all-scalar
36     %8:_(s64) = G_PTRTOINT %3
38     ; CHECK: Bad machine code: operand types must preserve number of vector elements
39     %9:_(<4 x s64>) = G_INTTOPTR %3
41     ; CHECK: Bad machine code: operand types must preserve number of vector elements
42     %10:_(<4 x p0>) = G_IMPLICIT_DEF
43     %11:_(<2 x s64>) = G_PTRTOINT %10
45 ...