brintos

brintos / llvm-project-archived public Read only

0
0
Text · 15.2 KiB · 222df6d Raw
363 lines · plain
1// RUN: llvm-mc -triple aarch64-none-linux-gnu -show-encoding -mattr=+v8.3a -o - %s 2>&1 | \2// RUN: FileCheck --check-prefixes=CHECK,ALL %s3 4// RUN: not llvm-mc -triple aarch64-none-linux-gnu -show-encoding %s -o - > %t.1 2>%t.25// RUN: FileCheck --check-prefixes=NO83,ALL %s < %t.16// RUN: FileCheck --check-prefix=CHECK-REQ %s < %t.27 8.text9  mrs x0, apiakeylo_el110  mrs x0, apiakeyhi_el111  mrs x0, apibkeylo_el112  mrs x0, apibkeyhi_el113  mrs x0, apdakeylo_el114  mrs x0, apdakeyhi_el115  mrs x0, apdbkeylo_el116  mrs x0, apdbkeyhi_el117  mrs x0, apgakeylo_el118  mrs x0, apgakeyhi_el119// ALL: .text20// CHECK-NEXT: mrs x0, APIAKeyLo_EL1     // encoding: [0x00,0x21,0x38,0xd5]21// CHECK-NEXT: mrs x0, APIAKeyHi_EL1     // encoding: [0x20,0x21,0x38,0xd5]22// CHECK-NEXT: mrs x0, APIBKeyLo_EL1     // encoding: [0x40,0x21,0x38,0xd5]23// CHECK-NEXT: mrs x0, APIBKeyHi_EL1     // encoding: [0x60,0x21,0x38,0xd5]24// CHECK-NEXT: mrs x0, APDAKeyLo_EL1     // encoding: [0x00,0x22,0x38,0xd5]25// CHECK-NEXT: mrs x0, APDAKeyHi_EL1     // encoding: [0x20,0x22,0x38,0xd5]26// CHECK-NEXT: mrs x0, APDBKeyLo_EL1     // encoding: [0x40,0x22,0x38,0xd5]27// CHECK-NEXT: mrs x0, APDBKeyHi_EL1     // encoding: [0x60,0x22,0x38,0xd5]28// CHECK-NEXT: mrs x0, APGAKeyLo_EL1     // encoding: [0x00,0x23,0x38,0xd5]29// CHECK-NEXT: mrs x0, APGAKeyHi_EL1     // encoding: [0x20,0x23,0x38,0xd5]30 31// CHECK-REQ: error: expected readable system register32// CHECK-REQ-NEXT: mrs x0, apiakeylo_el133// CHECK-REQ: error: expected readable system register34// CHECK-REQ-NEXT: mrs x0, apiakeyhi_el135// CHECK-REQ: error: expected readable system register36// CHECK-REQ-NEXT: mrs x0, apibkeylo_el137// CHECK-REQ: error: expected readable system register38// CHECK-REQ-NEXT: mrs x0, apibkeyhi_el139// CHECK-REQ: error: expected readable system register40// CHECK-REQ-NEXT: mrs x0, apdakeylo_el141// CHECK-REQ: error: expected readable system register42// CHECK-REQ-NEXT: mrs x0, apdakeyhi_el143// CHECK-REQ: error: expected readable system register44// CHECK-REQ-NEXT: mrs x0, apdbkeylo_el145// CHECK-REQ: error: expected readable system register46// CHECK-REQ-NEXT: mrs x0, apdbkeyhi_el147// CHECK-REQ: error: expected readable system register48// CHECK-REQ-NEXT: mrs x0, apgakeylo_el149// CHECK-REQ: error: expected readable system register50// CHECK-REQ-NEXT: mrs x0, apgakeyhi_el151 52  msr apiakeylo_el1, x053  msr apiakeyhi_el1, x054  msr apibkeylo_el1, x055  msr apibkeyhi_el1, x056  msr apdakeylo_el1, x057  msr apdakeyhi_el1, x058  msr apdbkeylo_el1, x059  msr apdbkeyhi_el1, x060  msr apgakeylo_el1, x061  msr apgakeyhi_el1, x062// ALL-EMPTY:63// ALL-EMPTY:64// CHECK-NEXT: msr APIAKeyLo_EL1, x0     // encoding: [0x00,0x21,0x18,0xd5]65// CHECK-NEXT: msr APIAKeyHi_EL1, x0     // encoding: [0x20,0x21,0x18,0xd5]66// CHECK-NEXT: msr APIBKeyLo_EL1, x0     // encoding: [0x40,0x21,0x18,0xd5]67// CHECK-NEXT: msr APIBKeyHi_EL1, x0     // encoding: [0x60,0x21,0x18,0xd5]68// CHECK-NEXT: msr APDAKeyLo_EL1, x0     // encoding: [0x00,0x22,0x18,0xd5]69// CHECK-NEXT: msr APDAKeyHi_EL1, x0     // encoding: [0x20,0x22,0x18,0xd5]70// CHECK-NEXT: msr APDBKeyLo_EL1, x0     // encoding: [0x40,0x22,0x18,0xd5]71// CHECK-NEXT: msr APDBKeyHi_EL1, x0     // encoding: [0x60,0x22,0x18,0xd5]72// CHECK-NEXT: msr APGAKeyLo_EL1, x0     // encoding: [0x00,0x23,0x18,0xd5]73// CHECK-NEXT: msr APGAKeyHi_EL1, x0     // encoding: [0x20,0x23,0x18,0xd5]74 75// CHECK-REQ: error: expected writable system register or pstate76// CHECK-REQ-NEXT:  msr apiakeylo_el1, x077// CHECK-REQ: error: expected writable system register or pstate78// CHECK-REQ-NEXT:  msr apiakeyhi_el1, x079// CHECK-REQ: error: expected writable system register or pstate80// CHECK-REQ-NEXT:  msr apibkeylo_el1, x081// CHECK-REQ: error: expected writable system register or pstate82// CHECK-REQ-NEXT:  msr apibkeyhi_el1, x083// CHECK-REQ: error: expected writable system register or pstate84// CHECK-REQ-NEXT:  msr apdakeylo_el1, x085// CHECK-REQ: error: expected writable system register or pstate86// CHECK-REQ-NEXT:  msr apdakeyhi_el1, x087// CHECK-REQ: error: expected writable system register or pstate88// CHECK-REQ-NEXT:  msr apdbkeylo_el1, x089// CHECK-REQ: error: expected writable system register or pstate90// CHECK-REQ-NEXT:  msr apdbkeyhi_el1, x091// CHECK-REQ: error: expected writable system register or pstate92// CHECK-REQ-NEXT:  msr apgakeylo_el1, x093// CHECK-REQ: error: expected writable system register or pstate94// CHECK-REQ-NEXT:  msr apgakeyhi_el1, x095 96// ALL-EMPTY:97// ALL-EMPTY:98  hint #799  xpaclri100// CHECK-NEXT: xpaclri        // encoding: [0xff,0x20,0x03,0xd5]101// CHECK-NEXT: xpaclri        // encoding: [0xff,0x20,0x03,0xd5]102// NO83-NEXT: hint #7         // encoding: [0xff,0x20,0x03,0xd5]103// NO83-NEXT: hint #7         // encoding: [0xff,0x20,0x03,0xd5]104  hint #8105  pacia1716106// CHECK-NEXT: pacia1716      // encoding: [0x1f,0x21,0x03,0xd5]107// CHECK-NEXT: pacia1716      // encoding: [0x1f,0x21,0x03,0xd5]108// NO83-NEXT: hint #8         // encoding: [0x1f,0x21,0x03,0xd5]109// NO83-NEXT: hint #8         // encoding: [0x1f,0x21,0x03,0xd5]110  hint #10111  pacib1716112// CHECK-NEXT: pacib1716      // encoding: [0x5f,0x21,0x03,0xd5]113// CHECK-NEXT: pacib1716      // encoding: [0x5f,0x21,0x03,0xd5]114// NO83-NEXT: hint #10        // encoding: [0x5f,0x21,0x03,0xd5]115// NO83-NEXT: hint #10        // encoding: [0x5f,0x21,0x03,0xd5]116  hint #12117  autia1716118// CHECK-NEXT: autia1716      // encoding: [0x9f,0x21,0x03,0xd5]119// CHECK-NEXT: autia1716      // encoding: [0x9f,0x21,0x03,0xd5]120// NO83-NEXT: hint #12        // encoding: [0x9f,0x21,0x03,0xd5]121// NO83-NEXT: hint #12        // encoding: [0x9f,0x21,0x03,0xd5]122  hint #14123  autib1716124// CHECK-NEXT: autib1716      // encoding: [0xdf,0x21,0x03,0xd5]125// CHECK-NEXT: autib1716      // encoding: [0xdf,0x21,0x03,0xd5]126// NO83-NEXT: hint #14        // encoding: [0xdf,0x21,0x03,0xd5]127// NO83-NEXT: hint #14        // encoding: [0xdf,0x21,0x03,0xd5]128  hint #24129  paciaz130// CHECK-NEXT: paciaz         // encoding: [0x1f,0x23,0x03,0xd5]131// CHECK-NEXT: paciaz         // encoding: [0x1f,0x23,0x03,0xd5]132// NO83-NEXT: hint #24        // encoding: [0x1f,0x23,0x03,0xd5]133// NO83-NEXT: hint #24        // encoding: [0x1f,0x23,0x03,0xd5]134  hint #25135  paciasp136// CHECK-NEXT: paciasp        // encoding: [0x3f,0x23,0x03,0xd5]137// CHECK-NEXT: paciasp        // encoding: [0x3f,0x23,0x03,0xd5]138// NO83-NEXT: hint #25        // encoding: [0x3f,0x23,0x03,0xd5]139// NO83-NEXT: hint #25        // encoding: [0x3f,0x23,0x03,0xd5]140  hint #26141  pacibz142// CHECK-NEXT: pacibz         // encoding: [0x5f,0x23,0x03,0xd5]143// CHECK-NEXT: pacibz         // encoding: [0x5f,0x23,0x03,0xd5]144// NO83-NEXT: hint #26        // encoding: [0x5f,0x23,0x03,0xd5]145// NO83-NEXT: hint #26        // encoding: [0x5f,0x23,0x03,0xd5]146  hint #27147  pacibsp148// CHECK-NEXT: pacibsp        // encoding: [0x7f,0x23,0x03,0xd5]149// CHECK-NEXT: pacibsp        // encoding: [0x7f,0x23,0x03,0xd5]150// NO83-NEXT: hint #27        // encoding: [0x7f,0x23,0x03,0xd5]151// NO83-NEXT: hint #27        // encoding: [0x7f,0x23,0x03,0xd5]152  hint #28153  autiaz154// CHECK-NEXT: autiaz         // encoding: [0x9f,0x23,0x03,0xd5]155// CHECK-NEXT: autiaz         // encoding: [0x9f,0x23,0x03,0xd5]156// NO83-NEXT: hint #28        // encoding: [0x9f,0x23,0x03,0xd5]157// NO83-NEXT: hint #28        // encoding: [0x9f,0x23,0x03,0xd5]158  hint #29159  autiasp160// CHECK-NEXT: autiasp        // encoding: [0xbf,0x23,0x03,0xd5]161// CHECK-NEXT: autiasp        // encoding: [0xbf,0x23,0x03,0xd5]162// NO83-NEXT: hint #29        // encoding: [0xbf,0x23,0x03,0xd5]163// NO83-NEXT: hint #29        // encoding: [0xbf,0x23,0x03,0xd5]164  hint #30165  autibz166// CHECK-NEXT: autibz         // encoding: [0xdf,0x23,0x03,0xd5]167// CHECK-NEXT: autibz         // encoding: [0xdf,0x23,0x03,0xd5]168// NO83-NEXT: hint #30        // encoding: [0xdf,0x23,0x03,0xd5]169// NO83-NEXT: hint #30        // encoding: [0xdf,0x23,0x03,0xd5]170  hint #31171  autibsp172// CHECK-NEXT: autibsp        // encoding: [0xff,0x23,0x03,0xd5]173// CHECK-NEXT: autibsp        // encoding: [0xff,0x23,0x03,0xd5]174// NO83-NEXT: hint #31        // encoding: [0xff,0x23,0x03,0xd5]175// NO83-NEXT: hint #31        // encoding: [0xff,0x23,0x03,0xd5]176 177// ALL-EMPTY:178  pacia x0, x1179// CHECK-NEXT: pacia x0, x1     // encoding: [0x20,0x00,0xc1,0xda]180// CHECK-REQ-NEXT:      ^181// CHECK-REQ-NEXT: error: instruction requires: pa182// CHECK-REQ-NEXT: pacia x0, x1183  autia x0, x1184// CHECK-NEXT: autia x0, x1     // encoding: [0x20,0x10,0xc1,0xda]185// CHECK-REQ: error: instruction requires: pa186// CHECK-REQ-NEXT: autia x0, x1187  pacda x0, x1188// CHECK-NEXT: pacda x0, x1     // encoding: [0x20,0x08,0xc1,0xda]189// CHECK-REQ: error: instruction requires: pa190// CHECK-REQ-NEXT:  pacda x0, x1191  autda x0, x1192// CHECK-NEXT: autda x0, x1     // encoding: [0x20,0x18,0xc1,0xda]193// CHECK-REQ: error: instruction requires: pa194// CHECK-REQ-NEXT:  autda x0, x1195  pacib x0, x1196// CHECK-NEXT: pacib x0, x1     // encoding: [0x20,0x04,0xc1,0xda]197// CHECK-REQ: error: instruction requires: pa198// CHECK-REQ-NEXT:  pacib x0, x1199  autib x0, x1200// CHECK-NEXT: autib x0, x1     // encoding: [0x20,0x14,0xc1,0xda]201// CHECK-REQ: error: instruction requires: pa202// CHECK-REQ-NEXT:  autib x0, x1203  pacdb x0, x1204// CHECK-NEXT: pacdb x0, x1     // encoding: [0x20,0x0c,0xc1,0xda]205// CHECK-REQ: error: instruction requires: pa206// CHECK-REQ-NEXT:  pacdb x0, x1207  autdb x0, x1208// CHECK-NEXT: autdb x0, x1     // encoding: [0x20,0x1c,0xc1,0xda]209// CHECK-REQ: error: instruction requires: pa210// CHECK-REQ-NEXT:  autdb x0, x1211  pacga x0, x1, x2212// CHECK-NEXT: pacga x0, x1, x2  // encoding: [0x20,0x30,0xc2,0x9a]213// CHECK-REQ: error: instruction requires: pa214// CHECK-REQ-NEXT:  pacga x0, x1, x2215  paciza x0216// CHECK-NEXT: paciza x0         // encoding: [0xe0,0x23,0xc1,0xda]217// CHECK-REQ: error: instruction requires: pa218// CHECK-REQ-NEXT:  paciza x0219  autiza x0220// CHECK-NEXT: autiza x0         // encoding: [0xe0,0x33,0xc1,0xda]221// CHECK-REQ: error: instruction requires: pa222// CHECK-REQ-NEXT:  autiza x0223  pacdza x0224// CHECK-NEXT: pacdza x0         // encoding: [0xe0,0x2b,0xc1,0xda]225// CHECK-REQ: error: instruction requires: pa226// CHECK-REQ-NEXT:  pacdza x0227  autdza x0228// CHECK-NEXT: autdza x0         // encoding: [0xe0,0x3b,0xc1,0xda]229// CHECK-REQ: error: instruction requires: pa230// CHECK-REQ-NEXT:  autdza x0231  pacizb x0232// CHECK-NEXT: pacizb x0         // encoding: [0xe0,0x27,0xc1,0xda]233// CHECK-REQ: error: instruction requires: pa234// CHECK-REQ-NEXT:  pacizb x0235  autizb x0236// CHECK-NEXT: autizb x0         // encoding: [0xe0,0x37,0xc1,0xda]237// CHECK-REQ: error: instruction requires: pa238// CHECK-REQ-NEXT:  autizb x0239  pacdzb x0240// CHECK-NEXT: pacdzb x0         // encoding: [0xe0,0x2f,0xc1,0xda]241// CHECK-REQ: error: instruction requires: pa242// CHECK-REQ-NEXT:  pacdzb x0243  autdzb x0244// CHECK-NEXT: autdzb x0         // encoding: [0xe0,0x3f,0xc1,0xda]245// CHECK-REQ: error: instruction requires: pa246// CHECK-REQ-NEXT:  autdzb x0247  xpaci x0248// CHECK-NEXT: xpaci x0          // encoding: [0xe0,0x43,0xc1,0xda]249// CHECK-REQ: error: instruction requires: pa250// CHECK-REQ-NEXT:  xpaci x0251  xpacd x0252// CHECK-NEXT: xpacd x0          // encoding: [0xe0,0x47,0xc1,0xda]253// CHECK-REQ: error: instruction requires: pa254// CHECK-REQ-NEXT:  xpacd x0255 256  braa x0, x1257// CHECK-EMPTY:258// CHECK-NEXT: braa x0, x1       // encoding: [0x01,0x08,0x1f,0xd7]259// CHECK-REQ: error: instruction requires: pa260// CHECK-REQ-NEXT:  braa x0, x1261  brab x0, x1262// CHECK-NEXT: brab x0, x1       // encoding: [0x01,0x0c,0x1f,0xd7]263// CHECK-REQ: error: instruction requires: pa264// CHECK-REQ-NEXT:  brab x0, x1265  blraa x0, x1266// CHECK-NEXT: blraa x0, x1      // encoding: [0x01,0x08,0x3f,0xd7]267// CHECK-REQ: error: instruction requires: pa268// CHECK-REQ-NEXT:  blraa x0, x1269  blrab x0, x1270// CHECK-NEXT: blrab x0, x1      // encoding: [0x01,0x0c,0x3f,0xd7]271// CHECK-REQ: error: instruction requires: pa272// CHECK-REQ-NEXT:  blrab x0, x1273 274  braaz x0275// CHECK-EMPTY:276// CHECK-NEXT: braaz x0          // encoding: [0x1f,0x08,0x1f,0xd6]277// CHECK-REQ: error: instruction requires: pa278// CHECK-REQ-NEXT:  braaz x0279  brabz x0280// CHECK-NEXT: brabz x0          // encoding: [0x1f,0x0c,0x1f,0xd6]281// CHECK-REQ: error: instruction requires: pa282// CHECK-REQ-NEXT:  brabz x0283  blraaz x0284// CHECK-NEXT: blraaz x0         // encoding: [0x1f,0x08,0x3f,0xd6]285// CHECK-REQ: error: instruction requires: pa286// CHECK-REQ-NEXT:  blraaz x0287  blrabz x0288// CHECK-NEXT: blrabz x0         // encoding: [0x1f,0x0c,0x3f,0xd6]289// CHECK-REQ: error: instruction requires: pa290// CHECK-REQ-NEXT:  blrabz x0291  retaa292// CHECK-NEXT: retaa             // encoding: [0xff,0x0b,0x5f,0xd6]293// CHECK-REQ: error: instruction requires: pa294// CHECK-REQ-NEXT:  retaa295  retab296// CHECK-NEXT: retab             // encoding: [0xff,0x0f,0x5f,0xd6]297// CHECK-REQ: error: instruction requires: pa298// CHECK-REQ-NEXT:  retab299  eretaa300// CHECK-NEXT: eretaa            // encoding: [0xff,0x0b,0x9f,0xd6]301// CHECK-REQ: error: instruction requires: pa302// CHECK-REQ-NEXT:  eretaa303  eretab304// CHECK-NEXT: eretab            // encoding: [0xff,0x0f,0x9f,0xd6]305// CHECK-REQ: error: instruction requires: pa306// CHECK-REQ-NEXT:  eretab307  ldraa x0, [x1, 4088]308// CHECK-NEXT: ldraa x0, [x1, #4088]  // encoding: [0x20,0xf4,0x3f,0xf8]309// CHECK-REQ: error: instruction requires: pa310// CHECK-REQ-NEXT:  ldraa x0, [x1, 4088]311  ldraa x0, [x1, -4096]312// CHECK-NEXT: ldraa x0, [x1, #-4096] // encoding: [0x20,0x04,0x60,0xf8]313// CHECK-REQ: error: instruction requires: pa314// CHECK-REQ-NEXT:  ldraa x0, [x1, -4096]315  ldrab x0, [x1, 4088]316// CHECK-NEXT: ldrab x0, [x1, #4088]  // encoding: [0x20,0xf4,0xbf,0xf8]317// CHECK-REQ: error: instruction requires: pa318// CHECK-REQ-NEXT:  ldrab x0, [x1, 4088]319  ldrab x0, [x1, -4096]320// CHECK-NEXT: ldrab x0, [x1, #-4096] // encoding: [0x20,0x04,0xe0,0xf8]321// CHECK-REQ: error: instruction requires: pa322// CHECK-REQ-NEXT:  ldrab x0, [x1, -4096]323  ldraa x0, [x1, 4088]!324// CHECK-NEXT: ldraa x0, [x1, #4088]!  // encoding: [0x20,0xfc,0x3f,0xf8]325// CHECK-REQ: error: instruction requires: pa326// CHECK-REQ-NEXT:  ldraa x0, [x1, 4088]!327  ldraa x0, [x1, -4096]!328// CHECK-NEXT: ldraa x0, [x1, #-4096]! // encoding: [0x20,0x0c,0x60,0xf8]329// CHECK-REQ: error: instruction requires: pa330// CHECK-REQ-NEXT:  ldraa x0, [x1, -4096]!331  ldrab x0, [x1, 4088]!332// CHECK-NEXT: ldrab x0, [x1, #4088]!  // encoding: [0x20,0xfc,0xbf,0xf8]333// CHECK-REQ: error: instruction requires: pa334// CHECK-REQ-NEXT:  ldrab x0, [x1, 4088]!335  ldrab x0, [x1, -4096]!336// CHECK-NEXT: ldrab x0, [x1, #-4096]! // encoding: [0x20,0x0c,0xe0,0xf8]337// CHECK-REQ: error: instruction requires: pa338// CHECK-REQ-NEXT:  ldrab x0, [x1, -4096]!339  ldraa x0, [x1]340// CHECK-NEXT: ldraa x0, [x1]  // encoding: [0x20,0x04,0x20,0xf8]341// CHECK-REQ: error: instruction requires: pa342// CHECK-REQ-NEXT:  ldraa x0, [x1]343  ldrab x0, [x1]344// CHECK-NEXT: ldrab x0, [x1]  // encoding: [0x20,0x04,0xa0,0xf8]345// CHECK-REQ: error: instruction requires: pa346// CHECK-REQ-NEXT:  ldrab x0, [x1]347  ldraa x0, [x1]!348// CHECK-NEXT: ldraa x0, [x1, #0]!  // encoding: [0x20,0x0c,0x20,0xf8]349// CHECK-REQ: error: instruction requires: pa350// CHECK-REQ-NEXT:  ldraa x0, [x1]!351  ldrab x0, [x1]!352// CHECK-NEXT: ldrab x0, [x1, #0]!  // encoding: [0x20,0x0c,0xa0,0xf8]353// CHECK-REQ: error: instruction requires: pa354// CHECK-REQ-NEXT:  ldrab x0, [x1]!355  ldraa xzr, [sp, -4096]!356// CHECK-NEXT: ldraa xzr, [sp, #-4096]!  // encoding: [0xff,0x0f,0x60,0xf8]357// CHECK-REQ: error: instruction requires: pa358// CHECK-REQ-NEXT:  ldraa xzr, [sp, -4096]!359  ldrab xzr, [sp, -4096]!360// CHECK-NEXT: ldrab xzr, [sp, #-4096]!  // encoding: [0xff,0x0f,0xe0,0xf8]361// CHECK-REQ: error: instruction requires: pa362// CHECK-REQ-NEXT:  ldrab xzr, [sp, -4096]!363