llvm/llvm/test/MC/AArch64/trace-regs-diagnostics.s

// RUN: not llvm-mc -triple aarch64-none-linux-gnu < %s 2>&1 | FileCheck %s
        // Write-only
        mrs x12, trcoslar
        mrs x10, trclar
// CHECK: error: expected readable system register
// CHECK-NEXT:         mrs x12, trcoslar
// CHECK-NEXT:                  ^
// CHECK-NEXT: error: expected readable system register
// CHECK-NEXT:         mrs x10, trclar
// CHECK-NEXT:                  ^

        // Read-only
        msr trcstatr, x0
        msr trcidr8, x13
        msr trcidr9, x25
        msr trcidr10, x2
        msr trcidr11, x19
        msr trcidr12, x15
        msr trcidr13, x24
        msr trcidr0, x20
        msr trcidr1, x5
        msr trcidr2, x18
        msr trcidr3, x10
        msr trcidr4, x1
        msr trcidr5, x10
        msr trcidr6, x4
        msr trcidr7, x0
        msr trcoslsr, x23
        msr trcpdsr, x21
        msr trcdevaff0, x4
        msr trcdevaff1, x17
        msr trclsr, x18
        msr trcauthstatus, x10
        msr trcdevarch, x8
        msr trcdevid, x11
        msr trcdevtype, x1
        msr trcpidr4, x2
        msr trcpidr5, x7
        msr trcpidr6, x17
        msr trcpidr7, x5
        msr trcpidr0, x0
        msr trcpidr1, x16
        msr trcpidr2, x29
        msr trcpidr3, x1
        msr trccidr0, x27
        msr trccidr1, x1
        msr trccidr2, x24
        msr trccidr3, x8
// CHECK: error: expected writable system register or pstate
// CHECK-NEXT:         msr trcstatr, x0
// CHECK-NEXT:             ^
// CHECK-NEXT: error: expected writable system register or pstate
// CHECK-NEXT:         msr trcidr8, x13
// CHECK-NEXT:             ^
// CHECK-NEXT: error: expected writable system register or pstate
// CHECK-NEXT:         msr trcidr9, x25
// CHECK-NEXT:             ^
// CHECK-NEXT: error: expected writable system register or pstate
// CHECK-NEXT:         msr trcidr10, x2
// CHECK-NEXT:             ^
// CHECK-NEXT: error: expected writable system register or pstate
// CHECK-NEXT:         msr trcidr11, x19
// CHECK-NEXT:             ^
// CHECK-NEXT: error: expected writable system register or pstate
// CHECK-NEXT:         msr trcidr12, x15
// CHECK-NEXT:             ^
// CHECK-NEXT: error: expected writable system register or pstate
// CHECK-NEXT:         msr trcidr13, x24
// CHECK-NEXT:             ^
// CHECK-NEXT: error: expected writable system register or pstate
// CHECK-NEXT:         msr trcidr0, x20
// CHECK-NEXT:             ^
// CHECK-NEXT: error: expected writable system register or pstate
// CHECK-NEXT:         msr trcidr1, x5
// CHECK-NEXT:             ^
// CHECK-NEXT: error: expected writable system register or pstate
// CHECK-NEXT:         msr trcidr2, x18
// CHECK-NEXT:             ^
// CHECK-NEXT: error: expected writable system register or pstate
// CHECK-NEXT:         msr trcidr3, x10
// CHECK-NEXT:             ^
// CHECK-NEXT: error: expected writable system register or pstate
// CHECK-NEXT:         msr trcidr4, x1
// CHECK-NEXT:             ^
// CHECK-NEXT: error: expected writable system register or pstate
// CHECK-NEXT:         msr trcidr5, x10
// CHECK-NEXT:             ^
// CHECK-NEXT: error: expected writable system register or pstate
// CHECK-NEXT:         msr trcidr6, x4
// CHECK-NEXT:             ^
// CHECK-NEXT: error: expected writable system register or pstate
// CHECK-NEXT:         msr trcidr7, x0
// CHECK-NEXT:             ^
// CHECK-NEXT: error: expected writable system register or pstate
// CHECK-NEXT:         msr trcoslsr, x23
// CHECK-NEXT:             ^
// CHECK-NEXT: error: expected writable system register or pstate
// CHECK-NEXT:         msr trcpdsr, x21
// CHECK-NEXT:             ^
// CHECK-NEXT: error: expected writable system register or pstate
// CHECK-NEXT:         msr trcdevaff0, x4
// CHECK-NEXT:             ^
// CHECK-NEXT: error: expected writable system register or pstate
// CHECK-NEXT:         msr trcdevaff1, x17
// CHECK-NEXT:             ^
// CHECK-NEXT: error: expected writable system register or pstate
// CHECK-NEXT:         msr trclsr, x18
// CHECK-NEXT:             ^
// CHECK-NEXT: error: expected writable system register or pstate
// CHECK-NEXT:         msr trcauthstatus, x10
// CHECK-NEXT:             ^
// CHECK-NEXT: error: expected writable system register or pstate
// CHECK-NEXT:         msr trcdevarch, x8
// CHECK-NEXT:             ^
// CHECK-NEXT: error: expected writable system register or pstate
// CHECK-NEXT:         msr trcdevid, x11
// CHECK-NEXT:             ^
// CHECK-NEXT: error: expected writable system register or pstate
// CHECK-NEXT:         msr trcdevtype, x1
// CHECK-NEXT:             ^
// CHECK-NEXT: error: expected writable system register or pstate
// CHECK-NEXT:         msr trcpidr4, x2
// CHECK-NEXT:             ^
// CHECK-NEXT: error: expected writable system register or pstate
// CHECK-NEXT:         msr trcpidr5, x7
// CHECK-NEXT:             ^
// CHECK-NEXT: error: expected writable system register or pstate
// CHECK-NEXT:         msr trcpidr6, x17
// CHECK-NEXT:             ^
// CHECK-NEXT: error: expected writable system register or pstate
// CHECK-NEXT:         msr trcpidr7, x5
// CHECK-NEXT:             ^
// CHECK-NEXT: error: expected writable system register or pstate
// CHECK-NEXT:         msr trcpidr0, x0
// CHECK-NEXT:             ^
// CHECK-NEXT: error: expected writable system register or pstate
// CHECK-NEXT:         msr trcpidr1, x16
// CHECK-NEXT:             ^
// CHECK-NEXT: error: expected writable system register or pstate
// CHECK-NEXT:         msr trcpidr2, x29
// CHECK-NEXT:             ^
// CHECK-NEXT: error: expected writable system register or pstate
// CHECK-NEXT:         msr trcpidr3, x1
// CHECK-NEXT:             ^
// CHECK-NEXT: error: expected writable system register or pstate
// CHECK-NEXT:         msr trccidr0, x27
// CHECK-NEXT:             ^
// CHECK-NEXT: error: expected writable system register or pstate
// CHECK-NEXT:         msr trccidr1, x1
// CHECK-NEXT:             ^
// CHECK-NEXT: error: expected writable system register or pstate
// CHECK-NEXT:         msr trccidr2, x24
// CHECK-NEXT:             ^
// CHECK-NEXT: error: expected writable system register or pstate
// CHECK-NEXT:         msr trccidr3, x8
// CHECK-NEXT:             ^