brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.9 KiB · 2d58732 Raw
54 lines · plain
1// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve-aes2,+sve2p1 < %s \2// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST3// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve-aes2,+ssve-aes < %s \4// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST5// RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \6// RUN:        | FileCheck %s --check-prefix=CHECK-ERROR7// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve-aes2,+sve2p1 < %s \8// RUN:        | llvm-objdump -d --mattr=+sve-aes2,+sve2p1 --no-print-imm-hex - | FileCheck %s --check-prefix=CHECK-INST9// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve-aes2,+sve2p1 < %s \10// RUN:        | llvm-objdump -d --mattr=-sme2 --no-print-imm-hex - | FileCheck %s --check-prefix=CHECK-UNKNOWN11// Disassemble encoding and check the re-encoding (-show-encoding) matches.12// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve-aes2,+sve2p1 < %s \13// RUN:        | sed '/.text/d' | sed 's/.*encoding: //g' \14// RUN:        | llvm-mc -triple=aarch64 -mattr=+sve-aes2,+sve2p1 -disassemble -show-encoding \15// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST16 17// x218aesemc  {z0.b-z1.b}, {z0.b-z1.b}, z0.q[0]  // 01000101-00100011-11101000-0000000019// CHECK-INST: aesemc  { z0.b, z1.b }, { z0.b, z1.b }, z0.q[0]20// CHECK-ENCODING: [0x00,0xe8,0x23,0x45]21// CHECK-ERROR: instruction requires: sve or ssve-aes sve-aes222// CHECK-UNKNOWN: 4523e800 <unknown>23 24aesemc  {z22.b-z23.b}, {z22.b-z23.b}, z13.q[1]  // 01000101-00101011-11101001-1011011025// CHECK-INST: aesemc  { z22.b, z23.b }, { z22.b, z23.b }, z13.q[1]26// CHECK-ENCODING: [0xb6,0xe9,0x2b,0x45]27// CHECK-ERROR: instruction requires: sve or ssve-aes sve-aes228// CHECK-UNKNOWN: 452be9b6 <unknown>29 30aesemc  {z30.b-z31.b}, {z30.b-z31.b}, z31.q[3]  // 01000101-00111011-11101011-1111111031// CHECK-INST: aesemc  { z30.b, z31.b }, { z30.b, z31.b }, z31.q[3]32// CHECK-ENCODING: [0xfe,0xeb,0x3b,0x45]33// CHECK-ERROR: instruction requires: sve or ssve-aes sve-aes234// CHECK-UNKNOWN: 453bebfe <unknown>35 36// x437aesemc  {z0.b-z3.b}, {z0.b-z3.b}, z0.q[0]  // 01000101-00100111-11101000-0000000038// CHECK-INST: aesemc  { z0.b - z3.b }, { z0.b - z3.b }, z0.q[0]39// CHECK-ENCODING: [0x00,0xe8,0x27,0x45]40// CHECK-ERROR: instruction requires: sve or ssve-aes sve-aes241// CHECK-UNKNOWN: 4527e800 <unknown>42 43aesemc  {z20.b-z23.b}, {z20.b-z23.b}, z10.q[2]  // 01000101-00110111-11101001-0101010044// CHECK-INST: aesemc  { z20.b - z23.b }, { z20.b - z23.b }, z10.q[2]45// CHECK-ENCODING: [0x54,0xe9,0x37,0x45]46// CHECK-ERROR: instruction requires: sve or ssve-aes sve-aes247// CHECK-UNKNOWN: 4537e954 <unknown>48 49aesemc  {z28.b-z31.b}, {z28.b-z31.b}, z31.q[3]  // 01000101-00111111-11101011-1111110050// CHECK-INST: aesemc  { z28.b - z31.b }, { z28.b - z31.b }, z31.q[3]51// CHECK-ENCODING: [0xfc,0xeb,0x3f,0x45]52// CHECK-ERROR: instruction requires: sve or ssve-aes sve-aes253// CHECK-UNKNOWN: 453febfc <unknown>54