llvm/llvm/test/MC/AArch64/armv8.8a-nmi-error.s

// RUN: not llvm-mc -triple aarch64 -show-encoding -mattr=+nmi   < %s 2>&1 | FileCheck %s
// RUN: not llvm-mc -triple aarch64 -show-encoding -mattr=+v8.8a < %s 2>&1 | FileCheck %s
// RUN: not llvm-mc -triple aarch64 -show-encoding               < %s 2>&1 | FileCheck %s --check-prefix=NO_NMI
// RUN: not llvm-mc -triple aarch64 -show-encoding -mattr=-nmi   < %s 2>&1 | FileCheck %s --check-prefix=NO_NMI

msr ALLINT, #1
msr ALLINT, #2
msr ALLINT, x3
mrs x2, ALLINT
mrs x11, icc_nmiar1_el1
msr icc_nmiar1_el1, x12

// CHECK:         error: immediate must be an integer in range [0, 1].
// CHECK-NEXT:    msr ALLINT, #2
// CHECK-NEXT:    ^
// CHECK-NEXT:         error: expected writable system register or pstate
// CHECK-NEXT:    msr icc_nmiar1_el1, x12
// CHECK-NEXT:    ^

// NO_NMI:      error: expected writable system register or pstate
// NO_NMI-NEXT: msr {{allint|ALLINT}}, #1
// NO_NMI-NEXT: ^
// NO_NMI-NEXT: error: expected writable system register or pstate
// NO_NMI-NEXT: msr {{allint|ALLINT}}, #2
// NO_NMI-NEXT: ^
// NO_NMI-NEXT: error: expected writable system register or pstate
// NO_NMI-NEXT: msr {{allint|ALLINT}}, x3
// NO_NMI-NEXT: ^
// NO_NMI-NEXT: error: expected readable system register
// NO_NMI-NEXT: mrs x2, {{allint|ALLINT}}
// NO_NMI-NEXT: ^
// NO_NMI-NEXT: error: expected readable system register
// NO_NMI-NEXT: mrs x11, {{icc_nmiar1_el1|ICC_NMIAR1_EL1}}
// NO_NMI-NEXT: ^
// NO_NMI-NEXT: error: expected writable system register or pstate
// NO_NMI-NEXT: msr {{icc_nmiar1_el1|ICC_NMIAR1_EL1}}, x12