1// RUN: not llvm-mc -triple aarch64-none-linux-gnu -show-encoding -mattr=+v8.4a < %s 2> %t | FileCheck %s --check-prefix=CHECK 2// RUN: FileCheck --check-prefix=CHECK-RO < %t %s 3// RUN: not llvm-mc -triple aarch64-none-linux-gnu -show-encoding -mattr=-v8.4a < %s 2>&1 | FileCheck %s --check-prefix=CHECK-ERROR 4 5//------------------------------------------------------------------------------ 6// ARMV8.4-A MPAM Extensions 7//------------------------------------------------------------------------------ 8 9msr MPAM0_EL1, x0 10msr MPAM1_EL1, x0 11msr MPAM2_EL2, x0 12msr MPAM3_EL3, x0 13msr MPAM1_EL12, x0 14msr MPAMHCR_EL2, x0 15msr MPAMVPMV_EL2, x0 16msr MPAMVPM0_EL2, x0 17msr MPAMVPM1_EL2, x0 18msr MPAMVPM2_EL2, x0 19msr MPAMVPM3_EL2, x0 20msr MPAMVPM4_EL2, x0 21msr MPAMVPM5_EL2, x0 22msr MPAMVPM6_EL2, x0 23msr MPAMVPM7_EL2, x0 24msr MPAMIDR_EL1, x0 25 26mrs x0, MPAM0_EL1 27mrs x0, MPAM1_EL1 28mrs x0, MPAM2_EL2 29mrs x0, MPAM3_EL3 30mrs x0, MPAM1_EL12 31mrs x0, MPAMHCR_EL2 32mrs x0, MPAMVPMV_EL2 33mrs x0, MPAMVPM0_EL2 34mrs x0, MPAMVPM1_EL2 35mrs x0, MPAMVPM2_EL2 36mrs x0, MPAMVPM3_EL2 37mrs x0, MPAMVPM4_EL2 38mrs x0, MPAMVPM5_EL2 39mrs x0, MPAMVPM6_EL2 40mrs x0, MPAMVPM7_EL2 41mrs x0, MPAMIDR_EL1 42 43//CHECK: msr MPAM0_EL1, x0 // encoding: [0x20,0xa5,0x18,0xd5] 44//CHECK: msr MPAM1_EL1, x0 // encoding: [0x00,0xa5,0x18,0xd5] 45//CHECK: msr MPAM2_EL2, x0 // encoding: [0x00,0xa5,0x1c,0xd5] 46//CHECK: msr MPAM3_EL3, x0 // encoding: [0x00,0xa5,0x1e,0xd5] 47//CHECK: msr MPAM1_EL12, x0 // encoding: [0x00,0xa5,0x1d,0xd5] 48//CHECK: msr MPAMHCR_EL2, x0 // encoding: [0x00,0xa4,0x1c,0xd5] 49//CHECK: msr MPAMVPMV_EL2, x0 // encoding: [0x20,0xa4,0x1c,0xd5] 50//CHECK: msr MPAMVPM0_EL2, x0 // encoding: [0x00,0xa6,0x1c,0xd5] 51//CHECK: msr MPAMVPM1_EL2, x0 // encoding: [0x20,0xa6,0x1c,0xd5] 52//CHECK: msr MPAMVPM2_EL2, x0 // encoding: [0x40,0xa6,0x1c,0xd5] 53//CHECK: msr MPAMVPM3_EL2, x0 // encoding: [0x60,0xa6,0x1c,0xd5] 54//CHECK: msr MPAMVPM4_EL2, x0 // encoding: [0x80,0xa6,0x1c,0xd5] 55//CHECK: msr MPAMVPM5_EL2, x0 // encoding: [0xa0,0xa6,0x1c,0xd5] 56//CHECK: msr MPAMVPM6_EL2, x0 // encoding: [0xc0,0xa6,0x1c,0xd5] 57//CHECK: msr MPAMVPM7_EL2, x0 // encoding: [0xe0,0xa6,0x1c,0xd5] 58 59//CHECK-RO: error: expected writable system register or pstate 60//CHECK-RO: msr MPAMIDR_EL1, x0 61//CHECK-RO: ^ 62 63//CHECK: mrs x0, MPAM0_EL1 // encoding: [0x20,0xa5,0x38,0xd5] 64//CHECK: mrs x0, MPAM1_EL1 // encoding: [0x00,0xa5,0x38,0xd5] 65//CHECK: mrs x0, MPAM2_EL2 // encoding: [0x00,0xa5,0x3c,0xd5] 66//CHECK: mrs x0, MPAM3_EL3 // encoding: [0x00,0xa5,0x3e,0xd5] 67//CHECK: mrs x0, MPAM1_EL12 // encoding: [0x00,0xa5,0x3d,0xd5] 68//CHECK: mrs x0, MPAMHCR_EL2 // encoding: [0x00,0xa4,0x3c,0xd5] 69//CHECK: mrs x0, MPAMVPMV_EL2 // encoding: [0x20,0xa4,0x3c,0xd5] 70//CHECK: mrs x0, MPAMVPM0_EL2 // encoding: [0x00,0xa6,0x3c,0xd5] 71//CHECK: mrs x0, MPAMVPM1_EL2 // encoding: [0x20,0xa6,0x3c,0xd5] 72//CHECK: mrs x0, MPAMVPM2_EL2 // encoding: [0x40,0xa6,0x3c,0xd5] 73//CHECK: mrs x0, MPAMVPM3_EL2 // encoding: [0x60,0xa6,0x3c,0xd5] 74//CHECK: mrs x0, MPAMVPM4_EL2 // encoding: [0x80,0xa6,0x3c,0xd5] 75//CHECK: mrs x0, MPAMVPM5_EL2 // encoding: [0xa0,0xa6,0x3c,0xd5] 76//CHECK: mrs x0, MPAMVPM6_EL2 // encoding: [0xc0,0xa6,0x3c,0xd5] 77//CHECK: mrs x0, MPAMVPM7_EL2 // encoding: [0xe0,0xa6,0x3c,0xd5] 78//CHECK: mrs x0, MPAMIDR_EL1 // encoding: [0x80,0xa4,0x38,0xd5] 79 80//CHECK-ERROR: error: expected writable system register or pstate 81//CHECK-ERROR: msr MPAM0_EL1, x0 82//CHECK-ERROR: ^ 83//CHECK-ERROR: error: expected writable system register or pstate 84//CHECK-ERROR: msr MPAM1_EL1, x0 85//CHECK-ERROR: ^ 86//CHECK-ERROR: error: expected writable system register or pstate 87//CHECK-ERROR: msr MPAM2_EL2, x0 88//CHECK-ERROR: ^ 89//CHECK-ERROR: error: expected writable system register or pstate 90//CHECK-ERROR: msr MPAM3_EL3, x0 91//CHECK-ERROR: ^ 92//CHECK-ERROR: error: expected writable system register or pstate 93//CHECK-ERROR: msr MPAM1_EL12, x0 94//CHECK-ERROR: ^ 95//CHECK-ERROR: error: expected writable system register or pstate 96//CHECK-ERROR: msr MPAMHCR_EL2, x0 97//CHECK-ERROR: ^ 98//CHECK-ERROR: error: expected writable system register or pstate 99//CHECK-ERROR: msr MPAMVPMV_EL2, x0 100//CHECK-ERROR: ^ 101//CHECK-ERROR: error: expected writable system register or pstate 102//CHECK-ERROR: msr MPAMVPM0_EL2, x0 103//CHECK-ERROR: ^ 104//CHECK-ERROR: error: expected writable system register or pstate 105//CHECK-ERROR: msr MPAMVPM1_EL2, x0 106//CHECK-ERROR: ^ 107//CHECK-ERROR: error: expected writable system register or pstate 108//CHECK-ERROR: msr MPAMVPM2_EL2, x0 109//CHECK-ERROR: ^ 110//CHECK-ERROR: error: expected writable system register or pstate 111//CHECK-ERROR: msr MPAMVPM3_EL2, x0 112//CHECK-ERROR: ^ 113//CHECK-ERROR: error: expected writable system register or pstate 114//CHECK-ERROR: msr MPAMVPM4_EL2, x0 115//CHECK-ERROR: ^ 116//CHECK-ERROR: error: expected writable system register or pstate 117//CHECK-ERROR: msr MPAMVPM5_EL2, x0 118//CHECK-ERROR: ^ 119//CHECK-ERROR: error: expected writable system register or pstate 120//CHECK-ERROR: msr MPAMVPM6_EL2, x0 121//CHECK-ERROR: ^ 122//CHECK-ERROR: error: expected writable system register or pstate 123//CHECK-ERROR: msr MPAMVPM7_EL2, x0 124//CHECK-ERROR: ^ 125//CHECK-ERROR: error: expected writable system register or pstate 126//CHECK-ERROR: msr MPAMIDR_EL1, x0 127//CHECK-ERROR: ^ 128 129//CHECK-ERROR: error: expected readable system register 130//CHECK-ERROR: mrs x0, MPAM0_EL1 131//CHECK-ERROR: ^ 132//CHECK-ERROR: error: expected readable system register 133//CHECK-ERROR: mrs x0, MPAM1_EL1 134//CHECK-ERROR: ^ 135//CHECK-ERROR: error: expected readable system register 136//CHECK-ERROR: mrs x0, MPAM2_EL2 137//CHECK-ERROR: ^ 138//CHECK-ERROR: error: expected readable system register 139//CHECK-ERROR: mrs x0, MPAM3_EL3 140//CHECK-ERROR: ^ 141//CHECK-ERROR: error: expected readable system register 142//CHECK-ERROR: mrs x0, MPAM1_EL12 143//CHECK-ERROR: ^ 144//CHECK-ERROR: error: expected readable system register 145//CHECK-ERROR: mrs x0, MPAMHCR_EL2 146//CHECK-ERROR: ^ 147//CHECK-ERROR: error: expected readable system register 148//CHECK-ERROR: mrs x0, MPAMVPMV_EL2 149//CHECK-ERROR: ^ 150//CHECK-ERROR: error: expected readable system register 151//CHECK-ERROR: mrs x0, MPAMVPM0_EL2 152//CHECK-ERROR: ^ 153//CHECK-ERROR: error: expected readable system register 154//CHECK-ERROR: mrs x0, MPAMVPM1_EL2 155//CHECK-ERROR: ^ 156//CHECK-ERROR: error: expected readable system register 157//CHECK-ERROR: mrs x0, MPAMVPM2_EL2 158//CHECK-ERROR: ^ 159//CHECK-ERROR: error: expected readable system register 160//CHECK-ERROR: mrs x0, MPAMVPM3_EL2 161//CHECK-ERROR: ^ 162//CHECK-ERROR: error: expected readable system register 163//CHECK-ERROR: mrs x0, MPAMVPM4_EL2 164//CHECK-ERROR: ^ 165//CHECK-ERROR: error: expected readable system register 166//CHECK-ERROR: mrs x0, MPAMVPM5_EL2 167//CHECK-ERROR: ^ 168//CHECK-ERROR: error: expected readable system register 169//CHECK-ERROR: mrs x0, MPAMVPM6_EL2 170//CHECK-ERROR: ^ 171//CHECK-ERROR: error: expected readable system register 172//CHECK-ERROR: mrs x0, MPAMVPM7_EL2 173//CHECK-ERROR: ^ 174//CHECK-ERROR: error: expected readable system register 175//CHECK-ERROR: mrs x0, MPAMIDR_EL1 176//CHECK-ERROR: ^ 177