89 lines · plain
1// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sme-f64f64 < %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=+sme-f64f64 < %s \6// RUN: | llvm-objdump -d --mattr=+sme-f64f64 - | FileCheck %s --check-prefix=CHECK-INST7// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sme-f64f64 < %s \8// RUN: | llvm-objdump -d --mattr=-sme - | 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=+sme-f64f64 < %s \11// RUN: | sed '/.text/d' | sed 's/.*encoding: //g' \12// RUN: | llvm-mc -triple=aarch64 -mattr=+sme-f64f64 -disassemble -show-encoding \13// RUN: | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST14 15// --------------------------------------------------------------------------//16// Non-widening (double-precision)17 18fmops za0.d, p0/m, p0/m, z0.d, z0.d19// CHECK-INST: fmops za0.d, p0/m, p0/m, z0.d, z0.d20// CHECK-ENCODING: [0x10,0x00,0xc0,0x80]21// CHECK-ERROR: instruction requires: sme-f64f6422// CHECK-UNKNOWN: 80c00010 <unknown>23 24fmops za5.d, p5/m, p2/m, z10.d, z21.d25// CHECK-INST: fmops za5.d, p5/m, p2/m, z10.d, z21.d26// CHECK-ENCODING: [0x55,0x55,0xd5,0x80]27// CHECK-ERROR: instruction requires: sme-f64f6428// CHECK-UNKNOWN: 80d55555 <unknown>29 30fmops za7.d, p3/m, p7/m, z13.d, z8.d31// CHECK-INST: fmops za7.d, p3/m, p7/m, z13.d, z8.d32// CHECK-ENCODING: [0xb7,0xed,0xc8,0x80]33// CHECK-ERROR: instruction requires: sme-f64f6434// CHECK-UNKNOWN: 80c8edb7 <unknown>35 36fmops za7.d, p7/m, p7/m, z31.d, z31.d37// CHECK-INST: fmops za7.d, p7/m, p7/m, z31.d, z31.d38// CHECK-ENCODING: [0xf7,0xff,0xdf,0x80]39// CHECK-ERROR: instruction requires: sme-f64f6440// CHECK-UNKNOWN: 80dffff7 <unknown>41 42fmops za5.d, p3/m, p0/m, z17.d, z16.d43// CHECK-INST: fmops za5.d, p3/m, p0/m, z17.d, z16.d44// CHECK-ENCODING: [0x35,0x0e,0xd0,0x80]45// CHECK-ERROR: instruction requires: sme-f64f6446// CHECK-UNKNOWN: 80d00e35 <unknown>47 48fmops za1.d, p1/m, p4/m, z1.d, z30.d49// CHECK-INST: fmops za1.d, p1/m, p4/m, z1.d, z30.d50// CHECK-ENCODING: [0x31,0x84,0xde,0x80]51// CHECK-ERROR: instruction requires: sme-f64f6452// CHECK-UNKNOWN: 80de8431 <unknown>53 54fmops za0.d, p5/m, p2/m, z19.d, z20.d55// CHECK-INST: fmops za0.d, p5/m, p2/m, z19.d, z20.d56// CHECK-ENCODING: [0x70,0x56,0xd4,0x80]57// CHECK-ERROR: instruction requires: sme-f64f6458// CHECK-UNKNOWN: 80d45670 <unknown>59 60fmops za0.d, p6/m, p0/m, z12.d, z2.d61// CHECK-INST: fmops za0.d, p6/m, p0/m, z12.d, z2.d62// CHECK-ENCODING: [0x90,0x19,0xc2,0x80]63// CHECK-ERROR: instruction requires: sme-f64f6464// CHECK-UNKNOWN: 80c21990 <unknown>65 66fmops za1.d, p2/m, p6/m, z1.d, z26.d67// CHECK-INST: fmops za1.d, p2/m, p6/m, z1.d, z26.d68// CHECK-ENCODING: [0x31,0xc8,0xda,0x80]69// CHECK-ERROR: instruction requires: sme-f64f6470// CHECK-UNKNOWN: 80dac831 <unknown>71 72fmops za5.d, p2/m, p0/m, z22.d, z30.d73// CHECK-INST: fmops za5.d, p2/m, p0/m, z22.d, z30.d74// CHECK-ENCODING: [0xd5,0x0a,0xde,0x80]75// CHECK-ERROR: instruction requires: sme-f64f6476// CHECK-UNKNOWN: 80de0ad5 <unknown>77 78fmops za2.d, p5/m, p7/m, z9.d, z1.d79// CHECK-INST: fmops za2.d, p5/m, p7/m, z9.d, z1.d80// CHECK-ENCODING: [0x32,0xf5,0xc1,0x80]81// CHECK-ERROR: instruction requires: sme-f64f6482// CHECK-UNKNOWN: 80c1f532 <unknown>83 84fmops za7.d, p2/m, p5/m, z12.d, z11.d85// CHECK-INST: fmops za7.d, p2/m, p5/m, z12.d, z11.d86// CHECK-ENCODING: [0x97,0xa9,0xcb,0x80]87// CHECK-ERROR: instruction requires: sme-f64f6488// CHECK-UNKNOWN: 80cba997 <unknown>89