brintos

brintos / llvm-project-archived public Read only

0
0
Text · 8.2 KiB · 2301935 Raw
238 lines · plain
1// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2,+fp8 < %s \2// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST3// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sme2,+fp8 < %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=+sve2,+fp8 < %s \8// RUN:        | llvm-objdump -d --mattr=+sve2,+fp8 - | FileCheck %s --check-prefix=CHECK-INST9// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2,+fp8 < %s \10// RUN:        | llvm-objdump -d --mattr=-sme2 - | 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=+sve2,+fp8 < %s \13// RUN:        | sed '/.text/d' | sed 's/.*encoding: //g' \14// RUN:        | llvm-mc -triple=aarch64 -mattr=+sve2,+fp8 -disassemble -show-encoding \15// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST16 17//18// F1CVT instructions19//20f1cvt   z0.h, z0.b  // 01100101-00001000-00110000-0000000021// CHECK-INST: f1cvt   z0.h, z0.b22// CHECK-ENCODING: [0x00,0x30,0x08,0x65]23// CHECK-ERROR: instruction requires: fp8 sve224// CHECK-UNKNOWN: 65083000 <unknown>25 26f1cvt   z0.h, z31.b  // 01100101-00001000-00110011-1110000027// CHECK-INST: f1cvt   z0.h, z31.b28// CHECK-ENCODING: [0xe0,0x33,0x08,0x65]29// CHECK-ERROR: instruction requires: fp8 sve230// CHECK-UNKNOWN: 650833e0 <unknown>31 32f1cvt   z31.h, z0.b  // 01100101-00001000-00110000-0001111133// CHECK-INST: f1cvt   z31.h, z0.b34// CHECK-ENCODING: [0x1f,0x30,0x08,0x65]35// CHECK-ERROR: instruction requires: fp8 sve236// CHECK-UNKNOWN: 6508301f <unknown>37 38f1cvt   z31.h, z31.b  // 01100101-00001000-00110011-1111111139// CHECK-INST: f1cvt   z31.h, z31.b40// CHECK-ENCODING: [0xff,0x33,0x08,0x65]41// CHECK-ERROR: instruction requires: fp8 sve242// CHECK-UNKNOWN: 650833ff <unknown>43 44//45// F2CVT instructions46//47f2cvt   z0.h, z0.b  // 01100101-00001000-00110100-0000000048// CHECK-INST: f2cvt   z0.h, z0.b49// CHECK-ENCODING: [0x00,0x34,0x08,0x65]50// CHECK-ERROR: instruction requires: fp8 sve251// CHECK-UNKNOWN: 65083400 <unknown>52 53f2cvt   z0.h, z31.b  // 01100101-00001000-00110111-1110000054// CHECK-INST: f2cvt   z0.h, z31.b55// CHECK-ENCODING: [0xe0,0x37,0x08,0x65]56// CHECK-ERROR: instruction requires: fp8 sve257// CHECK-UNKNOWN: 650837e0 <unknown>58 59f2cvt   z31.h, z0.b  // 01100101-00001000-00110100-0001111160// CHECK-INST: f2cvt   z31.h, z0.b61// CHECK-ENCODING: [0x1f,0x34,0x08,0x65]62// CHECK-ERROR: instruction requires: fp8 sve263// CHECK-UNKNOWN: 6508341f <unknown>64 65f2cvt   z31.h, z31.b  // 01100101-00001000-00110111-1111111166// CHECK-INST: f2cvt   z31.h, z31.b67// CHECK-ENCODING: [0xff,0x37,0x08,0x65]68// CHECK-ERROR: instruction requires: fp8 sve269// CHECK-UNKNOWN: 650837ff <unknown>70 71 72//73// BF1CVT instructions74//75bf1cvt  z0.h, z0.b  // 01100101-00001000-00111000-0000000076// CHECK-INST: bf1cvt  z0.h, z0.b77// CHECK-ENCODING: [0x00,0x38,0x08,0x65]78// CHECK-ERROR: instruction requires: fp8 sve279// CHECK-UNKNOWN: 65083800 <unknown>80 81bf1cvt  z0.h, z31.b  // 01100101-00001000-00111011-1110000082// CHECK-INST: bf1cvt  z0.h, z31.b83// CHECK-ENCODING: [0xe0,0x3b,0x08,0x65]84// CHECK-ERROR: instruction requires: fp8 sve285// CHECK-UNKNOWN: 65083be0 <unknown>86 87bf1cvt  z31.h, z0.b  // 01100101-00001000-00111000-0001111188// CHECK-INST: bf1cvt  z31.h, z0.b89// CHECK-ENCODING: [0x1f,0x38,0x08,0x65]90// CHECK-ERROR: instruction requires: fp8 sve291// CHECK-UNKNOWN: 6508381f <unknown>92 93bf1cvt  z31.h, z31.b  // 01100101-00001000-00111011-1111111194// CHECK-INST: bf1cvt  z31.h, z31.b95// CHECK-ENCODING: [0xff,0x3b,0x08,0x65]96// CHECK-ERROR: instruction requires: fp8 sve297// CHECK-UNKNOWN: 65083bff <unknown>98 99 100//101// BF2CVT instructions102//103bf2cvt  z0.h, z0.b  // 01100101-00001000-00111100-00000000104// CHECK-INST: bf2cvt  z0.h, z0.b105// CHECK-ENCODING: [0x00,0x3c,0x08,0x65]106// CHECK-ERROR: instruction requires: fp8 sve2107// CHECK-UNKNOWN: 65083c00 <unknown>108 109bf2cvt  z0.h, z31.b  // 01100101-00001000-00111111-11100000110// CHECK-INST: bf2cvt  z0.h, z31.b111// CHECK-ENCODING: [0xe0,0x3f,0x08,0x65]112// CHECK-ERROR: instruction requires: fp8 sve2113// CHECK-UNKNOWN: 65083fe0 <unknown>114 115bf2cvt  z31.h, z0.b  // 01100101-00001000-00111100-00011111116// CHECK-INST: bf2cvt  z31.h, z0.b117// CHECK-ENCODING: [0x1f,0x3c,0x08,0x65]118// CHECK-ERROR: instruction requires: fp8 sve2119// CHECK-UNKNOWN: 65083c1f <unknown>120 121bf2cvt  z31.h, z31.b  // 01100101-00001000-00111111-11111111122// CHECK-INST: bf2cvt  z31.h, z31.b123// CHECK-ENCODING: [0xff,0x3f,0x08,0x65]124// CHECK-ERROR: instruction requires: fp8 sve2125// CHECK-UNKNOWN: 65083fff <unknown>126 127 128//129// F1CVTLT instructions130//131f1cvtlt z0.h, z0.b  // 01100101-00001001-00110000-00000000132// CHECK-INST: f1cvtlt z0.h, z0.b133// CHECK-ENCODING: [0x00,0x30,0x09,0x65]134// CHECK-ERROR: instruction requires: fp8 sve2135// CHECK-UNKNOWN: 65093000 <unknown>136 137f1cvtlt z0.h, z31.b  // 01100101-00001001-00110011-11100000138// CHECK-INST: f1cvtlt z0.h, z31.b139// CHECK-ENCODING: [0xe0,0x33,0x09,0x65]140// CHECK-ERROR: instruction requires: fp8 sve2141// CHECK-UNKNOWN: 650933e0 <unknown>142 143f1cvtlt z31.h, z0.b  // 01100101-00001001-00110000-00011111144// CHECK-INST: f1cvtlt z31.h, z0.b145// CHECK-ENCODING: [0x1f,0x30,0x09,0x65]146// CHECK-ERROR: instruction requires: fp8 sve2147// CHECK-UNKNOWN: 6509301f <unknown>148 149f1cvtlt z31.h, z31.b  // 01100101-00001001-00110011-11111111150// CHECK-INST: f1cvtlt z31.h, z31.b151// CHECK-ENCODING: [0xff,0x33,0x09,0x65]152// CHECK-ERROR: instruction requires: fp8 sve2153// CHECK-UNKNOWN: 650933ff <unknown>154 155 156//157// F2CVTLT instructions158//159f2cvtlt z0.h, z0.b  // 01100101-00001001-00110100-00000000160// CHECK-INST: f2cvtlt z0.h, z0.b161// CHECK-ENCODING: [0x00,0x34,0x09,0x65]162// CHECK-ERROR: instruction requires: fp8 sve2163// CHECK-UNKNOWN: 65093400 <unknown>164 165f2cvtlt z0.h, z31.b  // 01100101-00001001-00110111-11100000166// CHECK-INST: f2cvtlt z0.h, z31.b167// CHECK-ENCODING: [0xe0,0x37,0x09,0x65]168// CHECK-ERROR: instruction requires: fp8 sve2169// CHECK-UNKNOWN: 650937e0 <unknown>170 171f2cvtlt z31.h, z0.b  // 01100101-00001001-00110100-00011111172// CHECK-INST: f2cvtlt z31.h, z0.b173// CHECK-ENCODING: [0x1f,0x34,0x09,0x65]174// CHECK-ERROR: instruction requires: fp8 sve2175// CHECK-UNKNOWN: 6509341f <unknown>176 177f2cvtlt z31.h, z31.b  // 01100101-00001001-00110111-11111111178// CHECK-INST: f2cvtlt z31.h, z31.b179// CHECK-ENCODING: [0xff,0x37,0x09,0x65]180// CHECK-ERROR: instruction requires: fp8 sve2181// CHECK-UNKNOWN: 650937ff <unknown>182 183 184//185// BF1CVTLT instructions186//187bf1cvtlt z0.h, z0.b  // 01100101-00001001-00111000-00000000188// CHECK-INST: bf1cvtlt z0.h, z0.b189// CHECK-ENCODING: [0x00,0x38,0x09,0x65]190// CHECK-ERROR: instruction requires: fp8 sve2191// CHECK-UNKNOWN: 65093800 <unknown>192 193bf1cvtlt z0.h, z31.b  // 01100101-00001001-00111011-11100000194// CHECK-INST: bf1cvtlt z0.h, z31.b195// CHECK-ENCODING: [0xe0,0x3b,0x09,0x65]196// CHECK-ERROR: instruction requires: fp8 sve2197// CHECK-UNKNOWN: 65093be0 <unknown>198 199bf1cvtlt z31.h, z0.b  // 01100101-00001001-00111000-00011111200// CHECK-INST: bf1cvtlt z31.h, z0.b201// CHECK-ENCODING: [0x1f,0x38,0x09,0x65]202// CHECK-ERROR: instruction requires: fp8 sve2203// CHECK-UNKNOWN: 6509381f <unknown>204 205bf1cvtlt z31.h, z31.b  // 01100101-00001001-00111011-11111111206// CHECK-INST: bf1cvtlt z31.h, z31.b207// CHECK-ENCODING: [0xff,0x3b,0x09,0x65]208// CHECK-ERROR: instruction requires: fp8 sve2209// CHECK-UNKNOWN: 65093bff <unknown>210 211 212//213// BF2CVTLT instructions214//215bf2cvtlt z0.h, z0.b  // 01100101-00001001-00111100-00000000216// CHECK-INST: bf2cvtlt z0.h, z0.b217// CHECK-ENCODING: [0x00,0x3c,0x09,0x65]218// CHECK-ERROR: instruction requires: fp8 sve2219// CHECK-UNKNOWN: 65093c00 <unknown>220 221bf2cvtlt z0.h, z31.b  // 01100101-00001001-00111111-11100000222// CHECK-INST: bf2cvtlt z0.h, z31.b223// CHECK-ENCODING: [0xe0,0x3f,0x09,0x65]224// CHECK-ERROR: instruction requires: fp8 sve2225// CHECK-UNKNOWN: 65093fe0 <unknown>226 227bf2cvtlt z31.h, z0.b  // 01100101-00001001-00111100-00011111228// CHECK-INST: bf2cvtlt z31.h, z0.b229// CHECK-ENCODING: [0x1f,0x3c,0x09,0x65]230// CHECK-ERROR: instruction requires: fp8 sve2231// CHECK-UNKNOWN: 65093c1f <unknown>232 233bf2cvtlt z31.h, z31.b  // 01100101-00001001-00111111-11111111234// CHECK-INST: bf2cvtlt z31.h, z31.b235// CHECK-ENCODING: [0xff,0x3f,0x09,0x65]236// CHECK-ERROR: instruction requires: fp8 sve2237// CHECK-UNKNOWN: 65093fff <unknown>238