llvm/llvm/test/MC/AArch64/SVE2p1/ptrue.s

// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sme2 < %s \
// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2p1 < %s \
// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
// RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
// RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sme2 < %s \
// RUN:        | llvm-objdump -d --mattr=+sme2 - | FileCheck %s --check-prefix=CHECK-INST
// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sme2 < %s \
// RUN:        | llvm-objdump -d --mattr=-sme2,-sve2p1 - | FileCheck %s --check-prefix=CHECK-UNKNOWN
// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sme2 < %s \
// RUN:        | sed '/.text/d' | sed 's/.*encoding: //g' \
// RUN:        | llvm-mc -triple=aarch64 -mattr=+sme2 -disassemble -show-encoding \
// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST

ptrue   pn8.h  // 00100101-01100000-01111000-00010000
// CHECK-INST: ptrue   pn8.h
// CHECK-ENCODING: [0x10,0x78,0x60,0x25]
// CHECK-ERROR: instruction requires: sme2 or sve2p1
// CHECK-UNKNOWN: 25607810 <unknown>

ptrue   pn13.h  // 00100101-01100000-01111000-00010101
// CHECK-INST: ptrue   pn13.h
// CHECK-ENCODING: [0x15,0x78,0x60,0x25]
// CHECK-ERROR: instruction requires: sme2 or sve2p1
// CHECK-UNKNOWN: 25607815 <unknown>

ptrue   pn15.h  // 00100101-01100000-01111000-00010111
// CHECK-INST: ptrue   pn15.h
// CHECK-ENCODING: [0x17,0x78,0x60,0x25]
// CHECK-ERROR: instruction requires: sme2 or sve2p1
// CHECK-UNKNOWN: 25607817 <unknown>

ptrue   pn9.h  // 00100101-01100000-01111000-00010001
// CHECK-INST: ptrue   pn9.h
// CHECK-ENCODING: [0x11,0x78,0x60,0x25]
// CHECK-ERROR: instruction requires: sme2 or sve2p1
// CHECK-UNKNOWN: 25607811 <unknown>

ptrue   pn8.s  // 00100101-10100000-01111000-00010000
// CHECK-INST: ptrue   pn8.s
// CHECK-ENCODING: [0x10,0x78,0xa0,0x25]
// CHECK-ERROR: instruction requires: sme2 or sve2p1
// CHECK-UNKNOWN: 25a07810 <unknown>

ptrue   pn13.s  // 00100101-10100000-01111000-00010101
// CHECK-INST: ptrue   pn13.s
// CHECK-ENCODING: [0x15,0x78,0xa0,0x25]
// CHECK-ERROR: instruction requires: sme2 or sve2p1
// CHECK-UNKNOWN: 25a07815 <unknown>

ptrue   pn15.s  // 00100101-10100000-01111000-00010111
// CHECK-INST: ptrue   pn15.s
// CHECK-ENCODING: [0x17,0x78,0xa0,0x25]
// CHECK-ERROR: instruction requires: sme2 or sve2p1
// CHECK-UNKNOWN: 25a07817 <unknown>

ptrue   pn9.s  // 00100101-10100000-01111000-00010001
// CHECK-INST: ptrue   pn9.s
// CHECK-ENCODING: [0x11,0x78,0xa0,0x25]
// CHECK-ERROR: instruction requires: sme2 or sve2p1
// CHECK-UNKNOWN: 25a07811 <unknown>

ptrue   pn8.d  // 00100101-11100000-01111000-00010000
// CHECK-INST: ptrue   pn8.d
// CHECK-ENCODING: [0x10,0x78,0xe0,0x25]
// CHECK-ERROR: instruction requires: sme2 or sve2p1
// CHECK-UNKNOWN: 25e07810 <unknown>

ptrue   pn13.d  // 00100101-11100000-01111000-00010101
// CHECK-INST: ptrue   pn13.d
// CHECK-ENCODING: [0x15,0x78,0xe0,0x25]
// CHECK-ERROR: instruction requires: sme2 or sve2p1
// CHECK-UNKNOWN: 25e07815 <unknown>

ptrue   pn15.d  // 00100101-11100000-01111000-00010111
// CHECK-INST: ptrue   pn15.d
// CHECK-ENCODING: [0x17,0x78,0xe0,0x25]
// CHECK-ERROR: instruction requires: sme2 or sve2p1
// CHECK-UNKNOWN: 25e07817 <unknown>

ptrue   pn9.d  // 00100101-11100000-01111000-00010001
// CHECK-INST: ptrue   pn9.d
// CHECK-ENCODING: [0x11,0x78,0xe0,0x25]
// CHECK-ERROR: instruction requires: sme2 or sve2p1
// CHECK-UNKNOWN: 25e07811 <unknown>

ptrue   pn8.b  // 00100101-00100000-01111000-00010000
// CHECK-INST: ptrue   pn8.b
// CHECK-ENCODING: [0x10,0x78,0x20,0x25]
// CHECK-ERROR: instruction requires: sme2 or sve2p1
// CHECK-UNKNOWN: 25207810 <unknown>

ptrue   pn13.b  // 00100101-00100000-01111000-00010101
// CHECK-INST: ptrue   pn13.b
// CHECK-ENCODING: [0x15,0x78,0x20,0x25]
// CHECK-ERROR: instruction requires: sme2 or sve2p1
// CHECK-UNKNOWN: 25207815 <unknown>

ptrue   pn15.b  // 00100101-00100000-01111000-00010111
// CHECK-INST: ptrue   pn15.b
// CHECK-ENCODING: [0x17,0x78,0x20,0x25]
// CHECK-ERROR: instruction requires: sme2 or sve2p1
// CHECK-UNKNOWN: 25207817 <unknown>

ptrue   pn9.b  // 00100101-00100000-01111000-00010001
// CHECK-INST: ptrue   pn9.b
// CHECK-ENCODING: [0x11,0x78,0x20,0x25]
// CHECK-ERROR: instruction requires: sme2 or sve2p1
// CHECK-UNKNOWN: 25207811 <unknown>