brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.6 KiB · b3b6f1e Raw
99 lines · plain
1// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+fp8fma < %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=+fp8fma < %s \6// RUN:        | llvm-objdump -d --mattr=+fp8fma - | FileCheck %s --check-prefix=CHECK-INST7// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+fp8fma < %s \8// RUN:        | llvm-objdump -d --mattr=-fp8fma - | 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=+fp8fma < %s \11// RUN:        | sed '/.text/d' | sed 's/.*encoding: //g' \12// RUN:        | llvm-mc -triple=aarch64 -mattr=+fp8fma -disassemble -show-encoding \13// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST14 15/// VECTOR16// MLA17fmlalb  v0.8h, v0.16b, v0.16b18// CHECK-INST: fmlalb  v0.8h, v0.16b, v0.16b19// CHECK-ENCODING: [0x00,0xfc,0xc0,0x0e]20// CHECK-ERROR: instruction requires: fp8fma21// CHECK-UNKNOWN: 0ec0fc00 <unknown>22 23fmlalt  v31.8h, v31.16b, v31.16b24// CHECK-INST: fmlalt  v31.8h, v31.16b, v31.16b25// CHECK-ENCODING: [0xff,0xff,0xdf,0x4e]26// CHECK-ERROR: instruction requires: fp8fma27// CHECK-UNKNOWN: 4edfffff <unknown>28 29 30// MLALL31fmlallbb  v0.4s, v0.16b, v31.16b32// CHECK-INST: fmlallbb  v0.4s, v0.16b, v31.16b33// CHECK-ENCODING: [0x00,0xc4,0x1f,0x0e]34// CHECK-ERROR: instruction requires: fp8fma35// CHECK-UNKNOWN: 0e1fc400 <unknown>36 37fmlallbt  v31.4s, v31.16b, v0.16b38// CHECK-INST: fmlallbt  v31.4s, v31.16b, v0.16b39// CHECK-ENCODING: [0xff,0xc7,0x40,0x0e]40// CHECK-ERROR: instruction requires: fp8fma41// CHECK-UNKNOWN: 0e40c7ff <unknown>42 43fmlalltb  v31.4s, v31.16b, v0.16b44// CHECK-INST: fmlalltb  v31.4s, v31.16b, v0.16b45// CHECK-ENCODING: [0xff,0xc7,0x00,0x4e]46// CHECK-ERROR: instruction requires: fp8fma47// CHECK-UNKNOWN: 4e00c7ff <unknown>48 49fmlalltt  v0.4s, v0.16b, v31.16b50// CHECK-INST: fmlalltt  v0.4s, v0.16b, v31.16b51// CHECK-ENCODING: [0x00,0xc4,0x5f,0x4e]52// CHECK-ERROR: instruction requires: fp8fma53// CHECK-UNKNOWN: 4e5fc400 <unknown>54 55fmlalltt v31.4s, v31.16b, v31.16b  // 01001110-01011111-11000111-1111111156// CHECK-INST: fmlalltt v31.4s, v31.16b, v31.16b57// CHECK-ENCODING: [0xff,0xc7,0x5f,0x4e]58// CHECK-ERROR: instruction requires: fp859// CHECK-UNKNOWN: 4e5fc7ff <unknown>60 61//INDEXED62// MLA63fmlalb  v31.8h, v0.16b, v0.b[0]64// CHECK-INST: fmlalb  v31.8h, v0.16b, v0.b[0]65// CHECK-ENCODING: [0x1f,0x00,0xc0,0x0f]66// CHECK-ERROR: instruction requires: fp8fma67// CHECK-UNKNOWN: 0fc0001f <unknown>68 69fmlalt  v31.8h, v0.16b, v0.b[15]70// CHECK-INST: fmlalt  v31.8h, v0.16b, v0.b[15]71// CHECK-ENCODING: [0x1f,0x08,0xf8,0x4f]72// CHECK-ERROR: instruction requires: fp8fma73// CHECK-UNKNOWN: 4ff8081f <unknown>74 75// MLALL76fmlallbb  v31.4s, v0.16b, v7.b[0]77// CHECK-INST: fmlallbb  v31.4s, v0.16b, v7.b[0]78// CHECK-ENCODING: [0x1f,0x80,0x07,0x2f]79// CHECK-ERROR: instruction requires: fp8fma80// CHECK-UNKNOWN: 2f07801f <unknown>81 82fmlalltt  v31.4s, v0.16b, v7.b[0]83// CHECK-INST: fmlalltt  v31.4s, v0.16b, v7.b[0]84// CHECK-ENCODING: [0x1f,0x80,0x47,0x6f]85// CHECK-ERROR: instruction requires: fp8fma86// CHECK-UNKNOWN: 6f47801f <unknown>87 88fmlalltb  v0.4s, v31.16b, v7.b[15]89// CHECK-INST: fmlalltb  v0.4s, v31.16b, v7.b[15]90// CHECK-ENCODING: [0xe0,0x8b,0x3f,0x6f]91// CHECK-ERROR: instruction requires: fp8fma92// CHECK-UNKNOWN: 6f3f8be0 <unknown>93 94fmlallbt  v0.4s, v31.16b, v0.b[15]95// CHECK-INST: fmlallbt  v0.4s, v31.16b, v0.b[15]96// CHECK-ENCODING: [0xe0,0x8b,0x78,0x2f]97// CHECK-ERROR: instruction requires: fp8fma98// CHECK-UNKNOWN: 2f788be0 <unknown>99