[ARM] Better OR's for MVE compares
[llvm-core.git] / test / MachineVerifier / test_g_add.mir
blob9cd990bb8cc116aa33a431f165b39a0ce7c6eec2
1 #RUN: not llc -march=aarch64 -o - -global-isel -run-pass=none -verify-machineinstrs %s 2>&1 | FileCheck %s
2 # REQUIRES: global-isel, aarch64-registered-target
4 ---
5 name:            test_add
6 legalized:       true
7 regBankSelected: false
8 selected:        false
9 tracksRegLiveness: true
10 liveins:
11 body:             |
12   bb.0:
14     %0:_(s32) = G_CONSTANT i32 0
15     %1:_(s32) = G_CONSTANT i32 1
17     ; CHECK: Bad machine code: Too few operands
18     %2:_(s32) = G_ADD
20     ; CHECK: Bad machine code: Too few operands
21     %3:_(s32) = G_ADD %0
22     %4:_(s32) = G_ADD %0, %1
24     ; CHECK: Bad machine code: Too few operands
25     ; CHECK: Bad machine code: Explicit definition marked as use
26     G_ADD %0, %1
28     ; CHECK: Bad machine code: generic instruction must use register operands
29     %5:_(s32) = G_ADD %0, 1
31     %6:_(s64) = G_CONSTANT i64 0
33     ; CHECK: Bad machine code: Type mismatch in generic instruction
34     ; CHECK: Bad machine code: Generic virtual register does not allow subregister index
35     %8:_(s32) = G_ADD %6.sub_32:_(s64), %0
37 ...