51 lines · plain
1// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve,+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=+sve,+sve-bfscale < %s \6// RUN: | llvm-objdump -d --mattr=+sve,+sve-bfscale - | FileCheck %s --check-prefix=CHECK-INST7// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve,+sve-bfscale < %s \8// RUN: | llvm-objdump -d --mattr=-sve-bfscale - | 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=+sve,+sve-bfscale < %s \11// RUN: | sed '/.text/d' | sed 's/.*encoding: //g' \12// RUN: | llvm-mc -triple=aarch64 -mattr=+sve,+sve-bfscale -disassemble -show-encoding \13// RUN: | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST14 15bfscale z0.h, p0/m, z0.h, z0.h // 01100101-00001001-10000000-0000000016// CHECK-INST: bfscale z0.h, p0/m, z0.h, z0.h17// CHECK-ENCODING: [0x00,0x80,0x09,0x65]18// CHECK-ERROR: instruction requires: sve-bfscale19// CHECK-UNKNOWN: 65098000 <unknown>20 21bfscale z21.h, p5/m, z21.h, z10.h // 01100101-00001001-10010101-0101010122// CHECK-INST: bfscale z21.h, p5/m, z21.h, z10.h23// CHECK-ENCODING: [0x55,0x95,0x09,0x65]24// CHECK-ERROR: instruction requires: sve-bfscale25// CHECK-UNKNOWN: 65099555 <unknown>26 27bfscale z31.h, p7/m, z31.h, z31.h // 01100101-00001001-10011111-1111111128// CHECK-INST: bfscale z31.h, p7/m, z31.h, z31.h29// CHECK-ENCODING: [0xff,0x9f,0x09,0x65]30// CHECK-ERROR: instruction requires: sve-bfscale31// CHECK-UNKNOWN: 65099fff <unknown>32 33// --------------------------------------------------------------------------//34// Test compatibility with MOVPRFX instruction.35 36movprfx z23.h, p3/m, z31.h37bfscale z23.h, p3/m, z23.h, z13.h // 01100101-00001001-10001101-1011011138// CHECK-INST: movprfx z23.h, p3/m, z31.h39// CHECK-INST: bfscale z23.h, p3/m, z23.h, z13.h40// CHECK-ENCODING: [0xb7,0x8d,0x09,0x65]41// CHECK-ERROR: instruction requires: sve-bfscale42// CHECK-UNKNOWN: 65098db7 <unknown>43 44movprfx z23, z3145bfscale z23.h, p3/m, z23.h, z13.h // 01100101-00001001-10001101-1011011146// CHECK-INST: movprfx z23, z3147// CHECK-INST: bfscale z23.h, p3/m, z23.h, z13.h48// CHECK-ENCODING: [0xb7,0x8d,0x09,0x65]49// CHECK-ERROR: instruction requires: sve-bfscale50// CHECK-UNKNOWN: 65098db7 <unknown>51