xref: /llvm-project/llvm/test/MachineVerifier/test_g_store.mir (revision d20190e68413634b87f0f9426312a0e9d8456d18)
1# RUN: not --crash llc -o - -mtriple=arm64 -global-isel -run-pass=none -verify-machineinstrs %s 2>&1 | FileCheck %s
2# REQUIRES: aarch64-registered-target
3
4---
5name:            test_store
6legalized:       true
7regBankSelected: false
8selected:        false
9tracksRegLiveness: true
10liveins:
11body:             |
12  bb.0:
13
14    ; CHECK: Bad machine code: Generic memory instruction must access a pointer
15    %0:_(s64) = G_CONSTANT i32 0
16    %1:_(s32) = G_CONSTANT i32 1
17    G_STORE %1, %0 :: (store (s32))
18
19    %2:_(p0) = G_IMPLICIT_DEF
20    %3:_(s8) = G_IMPLICIT_DEF
21    ; CHECK: Bad machine code: store memory size cannot exceed value size
22    G_STORE %3, %2 :: (store (s16))
23
24    ; CHECK: Bad machine code: atomic store cannot use acquire ordering
25    G_STORE %1, %2 :: (store acquire (s32))
26
27    ; CHECK: Bad machine code: atomic store cannot use acquire ordering
28    G_STORE %1, %2 :: (store acq_rel (s32))
29
30...
31