1// RUN: llvm-mc -triple aarch64 -show-encoding -mattr=+fgt < %s | FileCheck %s 2// RUN: llvm-mc -triple aarch64 -show-encoding -mattr=+v8.6a < %s | FileCheck %s 3// RUN: not llvm-mc -triple aarch64 -show-encoding < %s 2>&1 | FileCheck %s --check-prefix=NOFGT 4 5msr HFGRTR_EL2, x0 6msr HFGWTR_EL2, x5 7msr HFGITR_EL2, x10 8msr HDFGRTR_EL2, x15 9msr HDFGWTR_EL2, x20 10msr HAFGRTR_EL2, x25 11// CHECK: msr HFGRTR_EL2, x0 // encoding: [0x80,0x11,0x1c,0xd5] 12// CHECK: msr HFGWTR_EL2, x5 // encoding: [0xa5,0x11,0x1c,0xd5] 13// CHECK: msr HFGITR_EL2, x10 // encoding: [0xca,0x11,0x1c,0xd5] 14// CHECK: msr HDFGRTR_EL2, x15 // encoding: [0x8f,0x31,0x1c,0xd5] 15// CHECK: msr HDFGWTR_EL2, x20 // encoding: [0xb4,0x31,0x1c,0xd5] 16// CHECK: msr HAFGRTR_EL2, x25 // encoding: [0xd9,0x31,0x1c,0xd5] 17// NOFGT: error: expected writable system register or pstate 18// NOFGT: error: expected writable system register or pstate 19// NOFGT: error: expected writable system register or pstate 20// NOFGT: error: expected writable system register or pstate 21// NOFGT: error: expected writable system register or pstate 22// NOFGT: error: expected writable system register or pstate 23 24mrs x30, HFGRTR_EL2 25mrs x25, HFGWTR_EL2 26mrs x20, HFGITR_EL2 27mrs x15, HDFGRTR_EL2 28mrs x10, HDFGWTR_EL2 29mrs x5, HAFGRTR_EL2 30// CHECK: mrs x30, HFGRTR_EL2 // encoding: [0x9e,0x11,0x3c,0xd5] 31// CHECK: mrs x25, HFGWTR_EL2 // encoding: [0xb9,0x11,0x3c,0xd5] 32// CHECK: mrs x20, HFGITR_EL2 // encoding: [0xd4,0x11,0x3c,0xd5] 33// CHECK: mrs x15, HDFGRTR_EL2 // encoding: [0x8f,0x31,0x3c,0xd5] 34// CHECK: mrs x10, HDFGWTR_EL2 // encoding: [0xaa,0x31,0x3c,0xd5] 35// CHECK: mrs x5, HAFGRTR_EL2 // encoding: [0xc5,0x31,0x3c,0xd5] 36// NOFGT: error: expected readable system register 37// NOFGT: error: expected readable system register 38// NOFGT: error: expected readable system register 39// NOFGT: error: expected readable system register 40// NOFGT: error: expected readable system register 41// NOFGT: error: expected readable system register 42 43 44mrs x3, HDFGRTR2_EL2 45mrs x3, HDFGWTR2_EL2 46mrs x3, HFGRTR2_EL2 47mrs x3, HFGWTR2_EL2 48mrs x3, HFGITR2_EL2 49// CHECK: mrs x3, HDFGRTR2_EL2 // encoding: [0x03,0x31,0x3c,0xd5] 50// CHECK: mrs x3, HDFGWTR2_EL2 // encoding: [0x23,0x31,0x3c,0xd5] 51// CHECK: mrs x3, HFGRTR2_EL2 // encoding: [0x43,0x31,0x3c,0xd5] 52// CHECK: mrs x3, HFGWTR2_EL2 // encoding: [0x63,0x31,0x3c,0xd5] 53// CHECK: mrs x3, HFGITR2_EL2 // encoding: [0xe3,0x31,0x3c,0xd5] 54// NOFGT: error: expected readable system register 55// NOFGT: error: expected readable system register 56// NOFGT: error: expected readable system register 57// NOFGT: error: expected readable system register 58// NOFGT: error: expected readable system register 59 60 61msr HDFGRTR2_EL2, x3 62msr HDFGWTR2_EL2, x3 63msr HFGRTR2_EL2, x3 64msr HFGWTR2_EL2, x3 65msr HFGITR2_EL2, x3 66// CHECK: msr HDFGRTR2_EL2, x3 // encoding: [0x03,0x31,0x1c,0xd5] 67// CHECK: msr HDFGWTR2_EL2, x3 // encoding: [0x23,0x31,0x1c,0xd5] 68// CHECK: msr HFGRTR2_EL2, x3 // encoding: [0x43,0x31,0x1c,0xd5] 69// CHECK: msr HFGWTR2_EL2, x3 // encoding: [0x63,0x31,0x1c,0xd5] 70// CHECK: msr HFGITR2_EL2, x3 // encoding: [0xe3,0x31,0x1c,0xd5] 71// NOFGT: error: expected writable system register 72// NOFGT: error: expected writable system register 73// NOFGT: error: expected writable system register 74// NOFGT: error: expected writable system register 75// NOFGT: error: expected writable system register 76