1 // RUN: not llvm-mc -triple aarch64 -mattr=+sve -show-encoding < %s 2>&1 | FileCheck %s --check-prefix=CHECK-SVE 2 // RUN: not llvm-mc -triple aarch64 -show-encoding < %s 2>&1 | FileCheck %s --check-prefix=CHECK-NOSVE 3 4 5 // --------------------------------------------------------------------------// 6 // ID_AA64ZFR0_EL1 is read-only 7 8 msr ID_AA64ZFR0_EL1, x3 9 // CHECK-SVE: error: expected writable system register or pstate 10 // CHECK-SVE-NEXT: msr ID_AA64ZFR0_EL1, x3 11 12 13 // --------------------------------------------------------------------------// 14 // Check that the other SVE registers are only readable/writable when 15 // the +sve attribute is set. 16 17 mrs x3, ID_AA64ZFR0_EL1 18 // CHECK-NOSVE: error: expected readable system register 19 // CHECK-NOSVE: mrs x3, ID_AA64ZFR0_EL1 20 21 mrs x3, ZCR_EL1 22 // CHECK-NOSVE: error: expected readable system register 23 // CHECK-NOSVE-NEXT: mrs x3, ZCR_EL1 24 25 mrs x3, ZCR_EL2 26 // CHECK-NOSVE: error: expected readable system register 27 // CHECK-NOSVE-NEXT: mrs x3, ZCR_EL2 28 29 mrs x3, ZCR_EL3 30 // CHECK-NOSVE: error: expected readable system register 31 // CHECK-NOSVE-NEXT: mrs x3, ZCR_EL3 32 33 mrs x3, ZCR_EL12 34 // CHECK-NOSVE: error: expected readable system register 35 // CHECK-NOSVE-NEXT: mrs x3, ZCR_EL12 36 37 msr ZCR_EL1, x3 38 // CHECK-NOSVE: error: expected writable system register or pstate 39 // CHECK-NOSVE-NEXT: msr ZCR_EL1, x3 40 41 msr ZCR_EL2, x3 42 // CHECK-NOSVE: error: expected writable system register or pstate 43 // CHECK-NOSVE-NEXT: msr ZCR_EL2, x3 44 45 msr ZCR_EL3, x3 46 // CHECK-NOSVE: error: expected writable system register or pstate 47 // CHECK-NOSVE-NEXT: msr ZCR_EL3, x3 48 49 msr ZCR_EL12, x3 50 // CHECK-NOSVE: error: expected writable system register or pstate 51 // CHECK-NOSVE-NEXT: msr ZCR_EL12, x3 52