1// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \ 2// RUN: | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST 3// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sme < %s \ 4// RUN: | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST 5// RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \ 6// RUN: | FileCheck %s --check-prefix=CHECK-ERROR 7// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \ 8// RUN: | llvm-objdump --no-print-imm-hex -d --mattr=+sve - | FileCheck %s --check-prefix=CHECK-INST 9// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \ 10// RUN: | llvm-objdump --no-print-imm-hex -d --mattr=-sve - | FileCheck %s --check-prefix=CHECK-UNKNOWN 11 12 13ldr pn0, [x0] 14// CHECK-INST: ldr p0, [x0] 15// CHECK-ENCODING: [0x00,0x00,0x80,0x85] 16// CHECK-ERROR: instruction requires: sve or sme 17// CHECK-UNKNOWN: 85800000 <unknown> 18 19ldr pn5, [x10, #255, mul vl] 20// CHECK-INST: ldr p5, [x10, #255, mul vl] 21// CHECK-ENCODING: [0x45,0x1d,0x9f,0x85] 22// CHECK-ERROR: instruction requires: sve or sme 23// CHECK-UNKNOWN: 859f1d45 <unknown> 24 25 26str pn0, [x0] 27// CHECK-INST: str p0, [x0] 28// CHECK-ENCODING: [0x00,0x00,0x80,0xe5] 29// CHECK-ERROR: instruction requires: sve or sme 30// CHECK-UNKNOWN: e5800000 <unknown> 31 32str pn5, [x10, #255, mul vl] 33// CHECK-INST: str p5, [x10, #255, mul vl] 34// CHECK-ENCODING: [0x45,0x1d,0x9f,0xe5] 35// CHECK-ERROR: instruction requires: sve or sme 36// CHECK-UNKNOWN: e59f1d45 <unknown> 37 38 39mov pn0.b, pn0.b 40// CHECK-INST: mov p0.b, p0.b 41// CHECK-ENCODING: [0x00,0x40,0x80,0x25] 42// CHECK-ERROR: instruction requires: sve or sme 43// CHECK-UNKNOWN: 25804000 <unknown> 44 45 46pfalse pn15.b 47// CHECK-INST: pfalse p15.b 48// CHECK-ENCODING: [0x0f,0xe4,0x18,0x25] 49// CHECK-ERROR: instruction requires: sve or sme 50// CHECK-UNKNOWN: 2518e40f <unknown> 51