63 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=-sve - | 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 19scvtf z0.h, p0/z, z0.h // 01100100-01011100-11000000-0000000020// CHECK-INST: scvtf z0.h, p0/z, z0.h21// CHECK-ENCODING: [0x00,0xc0,0x5c,0x64]22// CHECK-ERROR: instruction requires: sme2p2 or sve2p223// CHECK-UNKNOWN: 645cc000 <unknown>24 25scvtf z21.h, p5/z, z10.s // 01100100-01011101-10010101-0101010126// CHECK-INST: scvtf z21.h, p5/z, z10.s27// CHECK-ENCODING: [0x55,0x95,0x5d,0x64]28// CHECK-ERROR: instruction requires: sme2p2 or sve2p229// CHECK-UNKNOWN: 645d9555 <unknown>30 31scvtf z31.h, p7/z, z31.d // 01100100-01011101-11011111-1111111132// CHECK-INST: scvtf z31.h, p7/z, z31.d33// CHECK-ENCODING: [0xff,0xdf,0x5d,0x64]34// CHECK-ERROR: instruction requires: sme2p2 or sve2p235// CHECK-UNKNOWN: 645ddfff <unknown>36 37// convert to single38 39scvtf z0.s, p0/z, z0.s // 01100100-10011101-10000000-0000000040// CHECK-INST: scvtf z0.s, p0/z, z0.s41// CHECK-ENCODING: [0x00,0x80,0x9d,0x64]42// CHECK-ERROR: instruction requires: sme2p2 or sve2p243// CHECK-UNKNOWN: 649d8000 <unknown>44 45scvtf z23.s, p3/z, z13.d // 01100100-11011101-10001101-1011011146// CHECK-INST: scvtf z23.s, p3/z, z13.d47// CHECK-ENCODING: [0xb7,0x8d,0xdd,0x64]48// CHECK-ERROR: instruction requires: sme2p2 or sve2p249// CHECK-UNKNOWN: 64dd8db7 <unknown>50 51// convert to double52 53scvtf z21.d, p5/z, z10.s // 01100100-11011100-10010101-0101010154// CHECK-INST: scvtf z21.d, p5/z, z10.s55// CHECK-ENCODING: [0x55,0x95,0xdc,0x64]56// CHECK-ERROR: instruction requires: sme2p2 or sve2p257// CHECK-UNKNOWN: 64dc9555 <unknown>58 59scvtf z31.d, p7/z, z31.d // 01100100-11011101-11011111-1111111160// CHECK-INST: scvtf z31.d, p7/z, z31.d61// CHECK-ENCODING: [0xff,0xdf,0xdd,0x64]62// CHECK-ERROR: instruction requires: sme2p2 or sve2p263// CHECK-UNKNOWN: 64dddfff <unknown>