brintos

brintos / llvm-project-archived public Read only

0
0
Text · 5.5 KiB · c8a8e2f Raw
148 lines · plain
1// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+f16f32dot < %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=+f16f32dot < %s \6// RUN:        | llvm-objdump -d --mattr=+f16f32dot --no-print-imm-hex - | FileCheck %s --check-prefix=CHECK-INST7// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+f16f32dot < %s \8// RUN:        | llvm-objdump -d --mattr=-f16f32dot --no-print-imm-hex - | 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=+f16f32dot < %s \11// RUN:        | sed '/.text/d' | sed 's/.*encoding: //g' \12// RUN:        | llvm-mc -triple=aarch64 -mattr=+f16f32dot -disassemble -show-encoding \13// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST14 15fdot v0.2s, v0.4h, v0.4h16// CHECK-INST: fdot v0.2s, v0.4h, v0.4h17// CHECK-ENCODING: encoding: [0x00,0xfc,0x80,0x0e]18// CHECK-ERROR: instruction requires: f16f32dot19// CHECK-UNKNOWN: 0e80fc00 <unknown>20 21fdot v10.2s, v10.4h, v10.4h22// CHECK-INST: fdot v10.2s, v10.4h, v10.4h23// CHECK-ENCODING: encoding: [0x4a,0xfd,0x8a,0x0e]24// CHECK-ERROR: instruction requires: f16f32dot25// CHECK-UNKNOWN: 0e8afd4a <unknown>26 27fdot v31.2s, v31.4h, v31.4h28// CHECK-INST: fdot v31.2s, v31.4h, v31.4h29// CHECK-ENCODING: encoding: [0xff,0xff,0x9f,0x0e]30// CHECK-ERROR: instruction requires: f16f32dot31// CHECK-UNKNOWN: 0e9fffff <unknown>32 33fdot v0.4s, v0.8h, v0.8h34// CHECK-INST: fdot v0.4s, v0.8h, v0.8h35// CHECK-ENCODING: encoding: [0x00,0xfc,0x80,0x4e]36// CHECK-ERROR: instruction requires: f16f32dot37// CHECK-UNKNOWN: 4e80fc00 <unknown>38 39fdot v10.4s, v10.8h, v10.8h40// CHECK-INST: fdot v10.4s, v10.8h, v10.8h41// CHECK-ENCODING: encoding: [0x4a,0xfd,0x8a,0x4e]42// CHECK-ERROR: instruction requires: f16f32dot43// CHECK-UNKNOWN: 4e8afd4a <unknown>44 45fdot v31.4s, v31.8h, v31.8h46// CHECK-INST: fdot v31.4s, v31.8h, v31.8h47// CHECK-ENCODING: encoding: [0xff,0xff,0x9f,0x4e]48// CHECK-ERROR: instruction requires: f16f32dot49// CHECK-UNKNOWN: 4e9fffff <unknown>50 51// fdot indexed52 53fdot v0.2s, v0.4h, v0.2h[0]54// CHECK-INST: fdot v0.2s, v0.4h, v0.2h[0]55// CHECK-ENCODING: encoding: [0x00,0x90,0x40,0x0f]56// CHECK-ERROR: instruction requires: f16f32dot57// CHECK-UNKNOWN: 0f409000 <unknown>58 59fdot v10.2s, v0.4h, v0.2h[0]60// CHECK-INST: fdot v10.2s, v0.4h, v0.2h[0]61// CHECK-ENCODING: encoding: [0x0a,0x90,0x40,0x0f]62// CHECK-ERROR: instruction requires: f16f32dot63// CHECK-UNKNOWN: 0f40900a <unknown>64 65fdot v21.2s, v0.4h, v0.2h[0]66// CHECK-INST: fdot v21.2s, v0.4h, v0.2h[0]67// CHECK-ENCODING: encoding: [0x15,0x90,0x40,0x0f]68// CHECK-ERROR: instruction requires: f16f32dot69// CHECK-UNKNOWN: 0f409015 <unknown>70 71fdot v31.2s, v0.4h, v0.2h[0]72// CHECK-INST: fdot v31.2s, v0.4h, v0.2h[0]73// CHECK-ENCODING: encoding: [0x1f,0x90,0x40,0x0f]74// CHECK-ERROR: instruction requires: f16f32dot75// CHECK-UNKNOWN: 0f40901f <unknown>76 77fdot v0.2s, v10.4h, v0.2h[0]78// CHECK-INST: fdot v0.2s, v10.4h, v0.2h[0]79// CHECK-ENCODING: encoding: [0x40,0x91,0x40,0x0f]80// CHECK-ERROR: instruction requires: f16f32dot81// CHECK-UNKNOWN: 0f409140 <unknown>82 83fdot v10.2s, v10.4h, v0.2h[0]84// CHECK-INST: fdot v10.2s, v10.4h, v0.2h[0]85// CHECK-ENCODING: encoding: [0x4a,0x91,0x40,0x0f]86// CHECK-ERROR: instruction requires: f16f32dot87// CHECK-UNKNOWN: 0f40914a <unknown>88 89fdot v21.2s, v10.4h, v0.2h[0]90// CHECK-INST: fdot v21.2s, v10.4h, v0.2h[0]91// CHECK-ENCODING: encoding: [0x55,0x91,0x40,0x0f]92// CHECK-ERROR: instruction requires: f16f32dot93// CHECK-UNKNOWN: 0f409155 <unknown>94 95fdot v31.2s, v10.4h, v0.2h[0]96// CHECK-INST: fdot v31.2s, v10.4h, v0.2h[0]97// CHECK-ENCODING: encoding: [0x5f,0x91,0x40,0x0f]98// CHECK-ERROR: instruction requires: f16f32dot99// CHECK-UNKNOWN: 0f40915f <unknown>100 101fdot v0.4s, v21.8h, v31.2h[3]102// CHECK-INST: fdot v0.4s, v21.8h, v31.2h[3]103// CHECK-ENCODING: encoding: [0xa0,0x9a,0x7f,0x4f]104// CHECK-ERROR: instruction requires: f16f32dot105// CHECK-UNKNOWN: 4f7f9aa0 <unknown>106 107fdot v10.4s, v21.8h, v31.2h[3]108// CHECK-INST: fdot v10.4s, v21.8h, v31.2h[3]109// CHECK-ENCODING: encoding: [0xaa,0x9a,0x7f,0x4f]110// CHECK-ERROR: instruction requires: f16f32dot111// CHECK-UNKNOWN: 4f7f9aaa <unknown>112 113fdot v21.4s, v21.8h, v31.2h[3]114// CHECK-INST: fdot v21.4s, v21.8h, v31.2h[3]115// CHECK-ENCODING: encoding: [0xb5,0x9a,0x7f,0x4f]116// CHECK-ERROR: instruction requires: f16f32dot117// CHECK-UNKNOWN: 4f7f9ab5 <unknown>118 119fdot v31.4s, v21.8h, v31.2h[3]120// CHECK-INST: fdot v31.4s, v21.8h, v31.2h[3]121// CHECK-ENCODING: encoding: [0xbf,0x9a,0x7f,0x4f]122// CHECK-ERROR: instruction requires: f16f32dot123// CHECK-UNKNOWN: 4f7f9abf <unknown>124 125fdot v0.4s, v31.8h, v31.2h[3]126// CHECK-INST: fdot v0.4s, v31.8h, v31.2h[3]127// CHECK-ENCODING: encoding: [0xe0,0x9b,0x7f,0x4f]128// CHECK-ERROR: instruction requires: f16f32dot129// CHECK-UNKNOWN: 4f7f9be0 <unknown>130 131fdot v10.4s, v31.8h, v31.2h[3]132// CHECK-INST: fdot v10.4s, v31.8h, v31.2h[3]133// CHECK-ENCODING: encoding: [0xea,0x9b,0x7f,0x4f]134// CHECK-ERROR: instruction requires: f16f32dot135// CHECK-UNKNOWN: 4f7f9bea <unknown>136 137fdot v21.4s, v31.8h, v31.2h[3]138// CHECK-INST: fdot v21.4s, v31.8h, v31.2h[3]139// CHECK-ENCODING: encoding: [0xf5,0x9b,0x7f,0x4f]140// CHECK-ERROR: instruction requires: f16f32dot141// CHECK-UNKNOWN: 4f7f9bf5 <unknown>142 143fdot v31.4s, v31.8h, v31.2h[3]144// CHECK-INST: fdot v31.4s, v31.8h, v31.2h[3]145// CHECK-ENCODING: encoding: [0xff,0x9b,0x7f,0x4f]146// CHECK-ERROR: instruction requires: f16f32dot147// CHECK-UNKNOWN: 4f7f9bff <unknown>148