brintos

brintos / llvm-project-archived public Read only

0
0
Text · 7.8 KiB · 9a43302 Raw
251 lines · plain
1// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sme < %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 < %s \6// RUN:        | llvm-objdump -d --mattr=+sme - | FileCheck %s --check-prefix=CHECK-INST7// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sme < %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 < %s \11// RUN:        | sed '/.text/d' | sed 's/.*encoding: //g' \12// RUN:        | llvm-mc -triple=aarch64 -mattr=+sme -disassemble -show-encoding \13// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST14 15zero    {}16// CHECK-INST: zero    {}17// CHECK-ENCODING: [0x00,0x00,0x08,0xc0]18// CHECK-ERROR: instruction requires: sme19// CHECK-UNKNOWN: c0080000 <unknown>20 21zero    {za0.d, za2.d, za4.d, za6.d}22// CHECK-INST: zero {za0.h}23// CHECK-ENCODING: [0x55,0x00,0x08,0xc0]24// CHECK-ERROR: instruction requires: sme25// CHECK-UNKNOWN: c0080055 <unknown>26 27zero    {za0.d, za1.d, za2.d, za4.d, za5.d, za7.d}28// CHECK-INST: zero    {za0.d, za1.d, za2.d, za4.d, za5.d, za7.d}29// CHECK-ENCODING: [0xb7,0x00,0x08,0xc0]30// CHECK-ERROR: instruction requires: sme31// CHECK-UNKNOWN: c00800b7 <unknown>32 33zero    {za0.d, za1.d, za2.d, za3.d, za4.d, za5.d, za6.d, za7.d}34// CHECK-INST: zero {za}35// CHECK-ENCODING: [0xff,0x00,0x08,0xc0]36// CHECK-ERROR: instruction requires: sme37// CHECK-UNKNOWN: c00800ff <unknown>38 39// --------------------------------------------------------------------------//40// Aliases41 42zero {za}43// CHECK-INST: zero {za}44// CHECK-ENCODING: [0xff,0x00,0x08,0xc0]45// CHECK-ERROR: instruction requires: sme46// CHECK-UNKNOWN: c00800ff <unknown>47 48zero {za0.b}49// CHECK-INST: zero {za}50// CHECK-ENCODING: [0xff,0x00,0x08,0xc0]51// CHECK-ERROR: instruction requires: sme52// CHECK-UNKNOWN: c00800ff <unknown>53 54zero {za0.h}55// CHECK-INST: zero {za0.h}56// CHECK-ENCODING: [0x55,0x00,0x08,0xc0]57// CHECK-ERROR: instruction requires: sme58// CHECK-UNKNOWN: c0080055 <unknown>59 60zero {za1.h}61// CHECK-INST: zero {za1.h}62// CHECK-ENCODING: [0xaa,0x00,0x08,0xc0]63// CHECK-ERROR: instruction requires: sme64// CHECK-UNKNOWN: c00800aa <unknown>65 66zero {za0.h,za1.h}67// CHECK-INST: zero {za}68// CHECK-ENCODING: [0xff,0x00,0x08,0xc0]69// CHECK-ERROR: instruction requires: sme70// CHECK-UNKNOWN: c00800ff <unknown>71 72zero {za0.s}73// CHECK-INST: zero {za0.s}74// CHECK-ENCODING: [0x11,0x00,0x08,0xc0]75// CHECK-ERROR: instruction requires: sme76// CHECK-UNKNOWN: c0080011 <unknown>77 78zero {za1.s}79// CHECK-INST: zero {za1.s}80// CHECK-ENCODING: [0x22,0x00,0x08,0xc0]81// CHECK-ERROR: instruction requires: sme82// CHECK-UNKNOWN: c0080022 <unknown>83 84zero {za2.s}85// CHECK-INST: zero {za2.s}86// CHECK-ENCODING: [0x44,0x00,0x08,0xc0]87// CHECK-ERROR: instruction requires: sme88// CHECK-UNKNOWN: c0080044 <unknown>89 90zero {za3.s}91// CHECK-INST: zero {za3.s}92// CHECK-ENCODING: [0x88,0x00,0x08,0xc0]93// CHECK-ERROR: instruction requires: sme94// CHECK-UNKNOWN: c0080088 <unknown>95 96zero {za0.s,za1.s}97// CHECK-INST: zero {za0.s,za1.s}98// CHECK-ENCODING: [0x33,0x00,0x08,0xc0]99// CHECK-ERROR: instruction requires: sme100// CHECK-UNKNOWN: c0080033 <unknown>101 102zero {za0.s,za2.s}103// CHECK-INST: zero {za0.h}104// CHECK-ENCODING: [0x55,0x00,0x08,0xc0]105// CHECK-ERROR: instruction requires: sme106// CHECK-UNKNOWN: c0080055 <unknown>107 108zero {za0.s,za3.s}109// CHECK-INST: zero {za0.s,za3.s}110// CHECK-ENCODING: [0x99,0x00,0x08,0xc0]111// CHECK-ERROR: instruction requires: sme112// CHECK-UNKNOWN: c0080099 <unknown>113 114zero {za1.s,za2.s}115// CHECK-INST: zero {za1.s,za2.s}116// CHECK-ENCODING: [0x66,0x00,0x08,0xc0]117// CHECK-ERROR: instruction requires: sme118// CHECK-UNKNOWN: c0080066 <unknown>119 120zero {za1.s,za3.s}121// CHECK-INST: zero {za1.h}122// CHECK-ENCODING: [0xaa,0x00,0x08,0xc0]123// CHECK-ERROR: instruction requires: sme124// CHECK-UNKNOWN: c00800aa <unknown>125 126zero {za2.s,za3.s}127// CHECK-INST: zero {za2.s,za3.s}128// CHECK-ENCODING: [0xcc,0x00,0x08,0xc0]129// CHECK-ERROR: instruction requires: sme130// CHECK-UNKNOWN: c00800cc <unknown>131 132zero {za0.s,za1.s,za2.s}133// CHECK-INST: zero {za0.s,za1.s,za2.s}134// CHECK-ENCODING: [0x77,0x00,0x08,0xc0]135// CHECK-ERROR: instruction requires: sme136// CHECK-UNKNOWN: c0080077 <unknown>137 138zero {za0.s,za1.s,za3.s}139// CHECK-INST: zero {za0.s,za1.s,za3.s}140// CHECK-ENCODING: [0xbb,0x00,0x08,0xc0]141// CHECK-ERROR: instruction requires: sme142// CHECK-UNKNOWN: c00800bb <unknown>143 144zero {za0.s,za2.s,za3.s}145// CHECK-INST: zero {za0.s,za2.s,za3.s}146// CHECK-ENCODING: [0xdd,0x00,0x08,0xc0]147// CHECK-ERROR: instruction requires: sme148// CHECK-UNKNOWN: c00800dd <unknown>149 150zero {za1.s,za2.s,za3.s}151// CHECK-INST: zero {za1.s,za2.s,za3.s}152// CHECK-ENCODING: [0xee,0x00,0x08,0xc0]153// CHECK-ERROR: instruction requires: sme154// CHECK-UNKNOWN: c00800ee <unknown>155 156zero {za0.s,za1.s,za2.s,za3.s}157// CHECK-INST: zero {za}158// CHECK-ENCODING: [0xff,0x00,0x08,0xc0]159// CHECK-ERROR: instruction requires: sme160// CHECK-UNKNOWN: c00800ff <unknown>161 162zero {za0.d,za1.d,za2.d,za3.d,za4.d,za5.d,za6.d,za7.d}163// CHECK-INST: zero {za}164// CHECK-ENCODING: [0xff,0x00,0x08,0xc0]165// CHECK-ERROR: instruction requires: sme166// CHECK-UNKNOWN: c00800ff <unknown>167 168zero {za0.d,za2.d,za4.d,za6.d}169// CHECK-INST: zero {za0.h}170// CHECK-ENCODING: [0x55,0x00,0x08,0xc0]171// CHECK-ERROR: instruction requires: sme172// CHECK-UNKNOWN: c0080055 <unknown>173 174zero {za1.d,za3.d,za5.d,za7.d}175// CHECK-INST: zero {za1.h}176// CHECK-ENCODING: [0xaa,0x00,0x08,0xc0]177// CHECK-ERROR: instruction requires: sme178// CHECK-UNKNOWN: c00800aa <unknown>179 180zero {za0.d,za4.d}181// CHECK-INST: zero {za0.s}182// CHECK-ENCODING: [0x11,0x00,0x08,0xc0]183// CHECK-ERROR: instruction requires: sme184// CHECK-UNKNOWN: c0080011 <unknown>185 186zero {za1.d,za5.d}187// CHECK-INST: zero {za1.s}188// CHECK-ENCODING: [0x22,0x00,0x08,0xc0]189// CHECK-ERROR: instruction requires: sme190// CHECK-UNKNOWN: c0080022 <unknown>191 192zero {za2.d,za6.d}193// CHECK-INST: zero {za2.s}194// CHECK-ENCODING: [0x44,0x00,0x08,0xc0]195// CHECK-ERROR: instruction requires: sme196// CHECK-UNKNOWN: c0080044 <unknown>197 198zero {za3.d,za7.d}199// CHECK-INST: zero {za3.s}200// CHECK-ENCODING: [0x88,0x00,0x08,0xc0]201// CHECK-ERROR: instruction requires: sme202// CHECK-UNKNOWN: c0080088 <unknown>203 204zero {za0.d,za1.d,za4.d,za5.d}205// CHECK-INST: zero {za0.s,za1.s}206// CHECK-ENCODING: [0x33,0x00,0x08,0xc0]207// CHECK-ERROR: instruction requires: sme208// CHECK-UNKNOWN: c0080033 <unknown>209 210zero {za0.d,za3.d,za4.d,za7.d}211// CHECK-INST: zero {za0.s,za3.s}212// CHECK-ENCODING: [0x99,0x00,0x08,0xc0]213// CHECK-ERROR: instruction requires: sme214// CHECK-UNKNOWN: c0080099 <unknown>215 216zero {za1.d,za2.d,za5.d,za6.d}217// CHECK-INST: zero {za1.s,za2.s}218// CHECK-ENCODING: [0x66,0x00,0x08,0xc0]219// CHECK-ERROR: instruction requires: sme220// CHECK-UNKNOWN: c0080066 <unknown>221 222zero {za2.d,za3.d,za6.d,za7.d}223// CHECK-INST: zero {za2.s,za3.s}224// CHECK-ENCODING: [0xcc,0x00,0x08,0xc0]225// CHECK-ERROR: instruction requires: sme226// CHECK-UNKNOWN: c00800cc <unknown>227 228zero {za0.d,za1.d,za2.d,za4.d,za5.d,za6.d}229// CHECK-INST: zero {za0.s,za1.s,za2.s}230// CHECK-ENCODING: [0x77,0x00,0x08,0xc0]231// CHECK-ERROR: instruction requires: sme232// CHECK-UNKNOWN: c0080077 <unknown>233 234zero {za0.d,za1.d,za3.d,za4.d,za5.d,za7.d}235// CHECK-INST: zero {za0.s,za1.s,za3.s}236// CHECK-ENCODING: [0xbb,0x00,0x08,0xc0]237// CHECK-ERROR: instruction requires: sme238// CHECK-UNKNOWN: c00800bb <unknown>239 240zero {za0.d,za2.d,za3.d,za4.d,za6.d,za7.d}241// CHECK-INST: zero {za0.s,za2.s,za3.s}242// CHECK-ENCODING: [0xdd,0x00,0x08,0xc0]243// CHECK-ERROR: instruction requires: sme244// CHECK-UNKNOWN: c00800dd <unknown>245 246zero {za1.d,za2.d,za3.d,za5.d,za6.d,za7.d}247// CHECK-INST: zero {za1.s,za2.s,za3.s}248// CHECK-ENCODING: [0xee,0x00,0x08,0xc0]249// CHECK-ERROR: instruction requires: sme250// CHECK-UNKNOWN: c00800ee <unknown>251