brintos

brintos / llvm-project-archived public Read only

0
0
Text · 4.5 KiB · 10a4384 Raw
93 lines · plain
1// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sme2,+sve-bfscale < %s \2// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST3// RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \4// RUN:        | FileCheck %s --check-prefix=CHECK-ERROR5// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sme2,+sve-bfscale < %s \6// RUN:        | llvm-objdump -d --mattr=+sme2,+sve-bfscale - | FileCheck %s --check-prefix=CHECK-INST7// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sme2,+sve-bfscale < %s \8// RUN:        | llvm-objdump -d --mattr=-sme2 - | FileCheck %s --check-prefix=CHECK-UNKNOWN9// Disassemble encoding and check the re-encoding (-show-encoding) matches.10// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sme2,+sve-bfscale < %s \11// RUN:        | sed '/.text/d' | sed 's/.*encoding: //g' \12// RUN:        | llvm-mc -triple=aarch64 -mattr=+sme2,+sve-bfscale -disassemble -show-encoding \13// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST14 15// Multiple and single, 2 regs16 17bfmul   {z0.h-z1.h}, {z0.h-z1.h}, z0.h  // 11000001-00100000-11101000-0000000018// CHECK-INST: bfmul   { z0.h, z1.h }, { z0.h, z1.h }, z0.h19// CHECK-ENCODING: [0x00,0xe8,0x20,0xc1]20// CHECK-ERROR: instruction requires: sme2 sve-bfscale21// CHECK-UNKNOWN: c120e800 <unknown>22 23bfmul   {z20.h-z21.h}, {z10.h-z11.h}, z10.h  // 11000001-00110100-11101001-0101010024// CHECK-INST: bfmul   { z20.h, z21.h }, { z10.h, z11.h }, z10.h25// CHECK-ENCODING: [0x54,0xe9,0x34,0xc1]26// CHECK-ERROR: instruction requires: sme2 sve-bfscale27// CHECK-UNKNOWN: c134e954 <unknown>28 29bfmul   {z30.h-z31.h}, {z30.h-z31.h}, z15.h  // 11000001-00111110-11101011-1101111030// CHECK-INST: bfmul   { z30.h, z31.h }, { z30.h, z31.h }, z15.h31// CHECK-ENCODING: [0xde,0xeb,0x3e,0xc1]32// CHECK-ERROR: instruction requires: sme2 sve-bfscale33// CHECK-UNKNOWN: c13eebde <unknown>34 35// Multiple and single, 4 regs36 37bfmul   {z0.h-z3.h}, {z0.h-z3.h}, z0.h  // 11000001-00100001-11101000-0000000038// CHECK-INST: bfmul   { z0.h - z3.h }, { z0.h - z3.h }, z0.h39// CHECK-ENCODING: [0x00,0xe8,0x21,0xc1]40// CHECK-ERROR: instruction requires: sme2 sve-bfscale41// CHECK-UNKNOWN: c121e800 <unknown>42 43bfmul   {z20.h-z23.h}, {z8.h-z11.h}, z10.h  // 11000001-00110101-11101001-0001010044// CHECK-INST: bfmul   { z20.h - z23.h }, { z8.h - z11.h }, z10.h45// CHECK-ENCODING: [0x14,0xe9,0x35,0xc1]46// CHECK-ERROR: instruction requires: sme2 sve-bfscale47// CHECK-UNKNOWN: c135e914 <unknown>48 49bfmul   {z28.h-z31.h}, {z28.h-z31.h}, z15.h  // 11000001-00111111-11101011-1001110050// CHECK-INST: bfmul   { z28.h - z31.h }, { z28.h - z31.h }, z15.h51// CHECK-ENCODING: [0x9c,0xeb,0x3f,0xc1]52// CHECK-ERROR: instruction requires: sme2 sve-bfscale53// CHECK-UNKNOWN: c13feb9c <unknown>54 55// Multiple, 2 regs56bfmul   {z0.h-z1.h}, {z0.h-z1.h}, {z0.h-z1.h}  // 11000001-00100000-11100100-0000000057// CHECK-INST: bfmul   { z0.h, z1.h }, { z0.h, z1.h }, { z0.h, z1.h }58// CHECK-ENCODING: [0x00,0xe4,0x20,0xc1]59// CHECK-ERROR: instruction requires: sme2 sve-bfscale60// CHECK-UNKNOWN: c120e400 <unknown>61 62bfmul   {z20.h-z21.h}, {z10.h-z11.h}, {z20.h-z21.h}  // 11000001-00110100-11100101-0101010063// CHECK-INST: bfmul   { z20.h, z21.h }, { z10.h, z11.h }, { z20.h, z21.h }64// CHECK-ENCODING: [0x54,0xe5,0x34,0xc1]65// CHECK-ERROR: instruction requires: sme2 sve-bfscale66// CHECK-UNKNOWN: c134e554 <unknown>67 68bfmul   {z30.h-z31.h}, {z30.h-z31.h}, {z30.h-z31.h}  // 11000001-00111110-11100111-1101111069// CHECK-INST: bfmul   { z30.h, z31.h }, { z30.h, z31.h }, { z30.h, z31.h }70// CHECK-ENCODING: [0xde,0xe7,0x3e,0xc1]71// CHECK-ERROR: instruction requires: sme2 sve-bfscale72// CHECK-UNKNOWN: c13ee7de <unknown>73 74// Multiple, 4 regs75 76bfmul   {z0.h-z3.h}, {z0.h-z3.h}, {z0.h-z3.h}  // 11000001-00100001-11100100-0000000077// CHECK-INST: bfmul   { z0.h - z3.h }, { z0.h - z3.h }, { z0.h - z3.h }78// CHECK-ENCODING: [0x00,0xe4,0x21,0xc1]79// CHECK-ERROR: instruction requires: sme2 sve-bfscale80// CHECK-UNKNOWN: c121e400 <unknown>81 82bfmul   {z20.h-z23.h}, {z8.h-z11.h}, {z20.h-z23.h}  // 11000001-00110101-11100101-0001010083// CHECK-INST: bfmul   { z20.h - z23.h }, { z8.h - z11.h }, { z20.h - z23.h }84// CHECK-ENCODING: [0x14,0xe5,0x35,0xc1]85// CHECK-ERROR: instruction requires: sme2 sve-bfscale86// CHECK-UNKNOWN: c135e514 <unknown>87 88bfmul   {z28.h-z31.h}, {z28.h-z31.h}, {z28.h-z31.h}  // 11000001-00111101-11100111-1001110089// CHECK-INST: bfmul   { z28.h - z31.h }, { z28.h - z31.h }, { z28.h - z31.h }90// CHECK-ENCODING: [0x9c,0xe7,0x3d,0xc1]91// CHECK-ERROR: instruction requires: sme2 sve-bfscale92// CHECK-UNKNOWN: c13de79c <unknown>93