[ARM] Better OR's for MVE compares
[llvm-core.git] / test / MachineVerifier / test_g_extract.mir
blob62064ae80217858677988c48cb614c362061cc02
1 # RUN: not llc -march=aarch64 -o /dev/null -run-pass=none -verify-machineinstrs %s 2>&1 | FileCheck %s
2 # REQUIRES: global-isel, aarch64-registered-target
4 ---
5 name:            test_extract
6 legalized:       true
7 regBankSelected: false
8 selected:        false
9 tracksRegLiveness: true
10 liveins:
11 body:             |
12   bb.0:
14     ; CHECK: Bad machine code: Too few operands
15     %0:_(s32) = G_EXTRACT
17     ; CHECK: Bad machine code: Too few operands
18     %1:_(s32) = G_EXTRACT 0
20     ; CHECK: Bad machine code: extract source must be a register
21     %2:_(s32) = G_EXTRACT 0, 1
23     ; CHECK: Bad machine code: extract offset must be a constant
24     %3:_(s32) = G_IMPLICIT_DEF
25     %4:_(s32) = G_CONSTANT i32 0
26     %5:_(s16) = G_EXTRACT %3, %4
28     ; CHECK: Bad machine code: extract source must be larger than result
29     %6:_(s32) = G_IMPLICIT_DEF
30     %7:_(s32) = G_EXTRACT %6, 0
32     ; CHECK: Bad machine code: extract reads past end of register
33     %8:_(s1) = G_EXTRACT %6, 32
35 ...