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 19ucvtf z0.h, p0/z, z0.h // 01100100-01011100-11100000-0000000020// CHECK-INST: ucvtf z0.h, p0/z, z0.h21// CHECK-ENCODING: [0x00,0xe0,0x5c,0x64]22// CHECK-ERROR: instruction requires: sme2p2 or sve2p223// CHECK-UNKNOWN: 645ce000 <unknown>24 25ucvtf z21.h, p5/z, z10.s // 01100100-01011101-10110101-0101010126// CHECK-INST: ucvtf z21.h, p5/z, z10.s27// CHECK-ENCODING: [0x55,0xb5,0x5d,0x64]28// CHECK-ERROR: instruction requires: sme2p2 or sve2p229// CHECK-UNKNOWN: 645db555 <unknown>30 31ucvtf z31.h, p7/z, z31.d // 01100100-01011101-11111111-1111111132// CHECK-INST: ucvtf z31.h, p7/z, z31.d33// CHECK-ENCODING: [0xff,0xff,0x5d,0x64]34// CHECK-ERROR: instruction requires: sme2p2 or sve2p235// CHECK-UNKNOWN: 645dffff <unknown>36 37// convert to single38 39ucvtf z23.s, p3/z, z13.s // 01100100-10011101-10101101-1011011140// CHECK-INST: ucvtf z23.s, p3/z, z13.s41// CHECK-ENCODING: [0xb7,0xad,0x9d,0x64]42// CHECK-ERROR: instruction requires: sme2p2 or sve2p243// CHECK-UNKNOWN: 649dadb7 <unknown>44 45ucvtf z21.s, p5/z, z10.d // 01100100-11011101-10110101-0101010146// CHECK-INST: ucvtf z21.s, p5/z, z10.d47// CHECK-ENCODING: [0x55,0xb5,0xdd,0x64]48// CHECK-ERROR: instruction requires: sme2p2 or sve2p249// CHECK-UNKNOWN: 64ddb555 <unknown>50 51// convert to double52 53ucvtf z0.d, p0/z, z0.s // 01100100-11011100-10100000-0000000054// CHECK-INST: ucvtf z0.d, p0/z, z0.s55// CHECK-ENCODING: [0x00,0xa0,0xdc,0x64]56// CHECK-ERROR: instruction requires: sme2p2 or sve2p257// CHECK-UNKNOWN: 64dca000 <unknown>58 59ucvtf z31.d, p7/z, z31.d // 01100100-11011101-11111111-1111111160// CHECK-INST: ucvtf z31.d, p7/z, z31.d61// CHECK-ENCODING: [0xff,0xff,0xdd,0x64]62// CHECK-ERROR: instruction requires: sme2p2 or sve2p263// CHECK-UNKNOWN: 64ddffff <unknown>