brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.5 KiB · c655488 Raw
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