brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.7 KiB · 081865c Raw
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 18fmopa   za0.d, p0/m, p0/m, z0.d, z0.d19// CHECK-INST: fmopa   za0.d, p0/m, p0/m, z0.d, z0.d20// CHECK-ENCODING: [0x00,0x00,0xc0,0x80]21// CHECK-ERROR: instruction requires: sme-f64f6422// CHECK-UNKNOWN: 80c00000 <unknown>23 24fmopa   za5.d, p5/m, p2/m, z10.d, z21.d25// CHECK-INST: fmopa   za5.d, p5/m, p2/m, z10.d, z21.d26// CHECK-ENCODING: [0x45,0x55,0xd5,0x80]27// CHECK-ERROR: instruction requires: sme-f64f6428// CHECK-UNKNOWN: 80d55545 <unknown>29 30fmopa   za7.d, p3/m, p7/m, z13.d, z8.d31// CHECK-INST: fmopa   za7.d, p3/m, p7/m, z13.d, z8.d32// CHECK-ENCODING: [0xa7,0xed,0xc8,0x80]33// CHECK-ERROR: instruction requires: sme-f64f6434// CHECK-UNKNOWN: 80c8eda7 <unknown>35 36fmopa   za7.d, p7/m, p7/m, z31.d, z31.d37// CHECK-INST: fmopa   za7.d, p7/m, p7/m, z31.d, z31.d38// CHECK-ENCODING: [0xe7,0xff,0xdf,0x80]39// CHECK-ERROR: instruction requires: sme-f64f6440// CHECK-UNKNOWN: 80dfffe7 <unknown>41 42fmopa   za5.d, p3/m, p0/m, z17.d, z16.d43// CHECK-INST: fmopa   za5.d, p3/m, p0/m, z17.d, z16.d44// CHECK-ENCODING: [0x25,0x0e,0xd0,0x80]45// CHECK-ERROR: instruction requires: sme-f64f6446// CHECK-UNKNOWN: 80d00e25 <unknown>47 48fmopa   za1.d, p1/m, p4/m, z1.d, z30.d49// CHECK-INST: fmopa   za1.d, p1/m, p4/m, z1.d, z30.d50// CHECK-ENCODING: [0x21,0x84,0xde,0x80]51// CHECK-ERROR: instruction requires: sme-f64f6452// CHECK-UNKNOWN: 80de8421 <unknown>53 54fmopa   za0.d, p5/m, p2/m, z19.d, z20.d55// CHECK-INST: fmopa   za0.d, p5/m, p2/m, z19.d, z20.d56// CHECK-ENCODING: [0x60,0x56,0xd4,0x80]57// CHECK-ERROR: instruction requires: sme-f64f6458// CHECK-UNKNOWN: 80d45660 <unknown>59 60fmopa   za0.d, p6/m, p0/m, z12.d, z2.d61// CHECK-INST: fmopa   za0.d, p6/m, p0/m, z12.d, z2.d62// CHECK-ENCODING: [0x80,0x19,0xc2,0x80]63// CHECK-ERROR: instruction requires: sme-f64f6464// CHECK-UNKNOWN: 80c21980 <unknown>65 66fmopa   za1.d, p2/m, p6/m, z1.d, z26.d67// CHECK-INST: fmopa   za1.d, p2/m, p6/m, z1.d, z26.d68// CHECK-ENCODING: [0x21,0xc8,0xda,0x80]69// CHECK-ERROR: instruction requires: sme-f64f6470// CHECK-UNKNOWN: 80dac821 <unknown>71 72fmopa   za5.d, p2/m, p0/m, z22.d, z30.d73// CHECK-INST: fmopa   za5.d, p2/m, p0/m, z22.d, z30.d74// CHECK-ENCODING: [0xc5,0x0a,0xde,0x80]75// CHECK-ERROR: instruction requires: sme-f64f6476// CHECK-UNKNOWN: 80de0ac5 <unknown>77 78fmopa   za2.d, p5/m, p7/m, z9.d, z1.d79// CHECK-INST: fmopa   za2.d, p5/m, p7/m, z9.d, z1.d80// CHECK-ENCODING: [0x22,0xf5,0xc1,0x80]81// CHECK-ERROR: instruction requires: sme-f64f6482// CHECK-UNKNOWN: 80c1f522 <unknown>83 84fmopa   za7.d, p2/m, p5/m, z12.d, z11.d85// CHECK-INST: fmopa   za7.d, p2/m, p5/m, z12.d, z11.d86// CHECK-ENCODING: [0x87,0xa9,0xcb,0x80]87// CHECK-ERROR: instruction requires: sme-f64f6488// CHECK-UNKNOWN: 80cba987 <unknown>89