57 lines · plain
1// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2p2 < %s \2// RUN: | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST3// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sme2p2 < %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=+sve2p2 < %s \8// RUN: | llvm-objdump -d --mattr=+sve2p2 - | FileCheck %s --check-prefix=CHECK-INST9// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2p2 < %s \10// RUN: | llvm-objdump -d --mattr=-sve2p2 - | 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=+sve2p2 < %s \13// RUN: | sed '/.text/d' | sed 's/.*encoding: //g' \14// RUN: | llvm-mc -triple=aarch64 -mattr=+sve2p2 -disassemble -show-encoding \15// RUN: | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST16 17// convert to half18 19fcvt z0.h, p0/z, z0.s // 01100100-10011010-10000000-0000000020// CHECK-INST: fcvt z0.h, p0/z, z0.s21// CHECK-ENCODING: [0x00,0x80,0x9a,0x64]22// CHECK-ERROR: instruction requires: sme2p2 or sve2p223// CHECK-UNKNOWN: 649a8000 <unknown>24 25fcvt z23.h, p3/z, z13.d // 01100100-11011010-10001101-1011011126// CHECK-INST: fcvt z23.h, p3/z, z13.d27// CHECK-ENCODING: [0xb7,0x8d,0xda,0x64]28// CHECK-ERROR: instruction requires: sme2p2 or sve2p229// CHECK-UNKNOWN: 64da8db7 <unknown>30 31// convert to single32 33fcvt z0.s, p0/z, z0.h // 01100100-10011010-10100000-0000000034// CHECK-INST: fcvt z0.s, p0/z, z0.h35// CHECK-ENCODING: [0x00,0xa0,0x9a,0x64]36// CHECK-ERROR: instruction requires: sme2p2 or sve2p237// CHECK-UNKNOWN: 649aa000 <unknown>38 39fcvt z31.s, p7/z, z31.d // 01100100-11011010-11011111-1111111140// CHECK-INST: fcvt z31.s, p7/z, z31.d41// CHECK-ENCODING: [0xff,0xdf,0xda,0x64]42// CHECK-ERROR: instruction requires: sme2p2 or sve2p243// CHECK-UNKNOWN: 64dadfff <unknown>44 45// convert to double46 47fcvt z21.d, p5/z, z10.h // 01100100-11011010-10110101-0101010148// CHECK-INST: fcvt z21.d, p5/z, z10.h49// CHECK-ENCODING: [0x55,0xb5,0xda,0x64]50// CHECK-ERROR: instruction requires: sme2p2 or sve2p251// CHECK-UNKNOWN: 64dab555 <unknown>52 53fcvt z31.d, p7/z, z31.s // 01100100-11011010-11111111-1111111154// CHECK-INST: fcvt z31.d, p7/z, z31.s55// CHECK-ENCODING: [0xff,0xff,0xda,0x64]56// CHECK-ERROR: instruction requires: sme2p2 or sve2p257// CHECK-UNKNOWN: 64daffff <unknown