brintos

brintos / llvm-project-archived public Read only

0
0
Text · 7.3 KiB · 319ad51 Raw
219 lines · plain
1// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \2// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST3// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sme < %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=+sve < %s \8// RUN:        | llvm-objdump --no-print-imm-hex -d --mattr=+sve - | FileCheck %s --check-prefix=CHECK-INST9// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \10// RUN:   | llvm-objdump --no-print-imm-hex -d --mattr=-sve - | FileCheck %s --check-prefix=CHECK-UNKNOWN11 12asr     z0.b, z0.b, #113// CHECK-INST: asr	z0.b, z0.b, #114// CHECK-ENCODING: [0x00,0x90,0x2f,0x04]15// CHECK-ERROR: instruction requires: sve or sme16// CHECK-UNKNOWN: 042f9000 <unknown>17 18asr     z31.b, z31.b, #819// CHECK-INST: asr	z31.b, z31.b, #820// CHECK-ENCODING: [0xff,0x93,0x28,0x04]21// CHECK-ERROR: instruction requires: sve or sme22// CHECK-UNKNOWN: 042893ff <unknown>23 24asr     z0.h, z0.h, #125// CHECK-INST: asr	z0.h, z0.h, #126// CHECK-ENCODING: [0x00,0x90,0x3f,0x04]27// CHECK-ERROR: instruction requires: sve or sme28// CHECK-UNKNOWN: 043f9000 <unknown>29 30asr     z31.h, z31.h, #1631// CHECK-INST: asr	z31.h, z31.h, #1632// CHECK-ENCODING: [0xff,0x93,0x30,0x04]33// CHECK-ERROR: instruction requires: sve or sme34// CHECK-UNKNOWN: 043093ff <unknown>35 36asr     z0.s, z0.s, #137// CHECK-INST: asr	z0.s, z0.s, #138// CHECK-ENCODING: [0x00,0x90,0x7f,0x04]39// CHECK-ERROR: instruction requires: sve or sme40// CHECK-UNKNOWN: 047f9000 <unknown>41 42asr     z31.s, z31.s, #3243// CHECK-INST: asr	z31.s, z31.s, #3244// CHECK-ENCODING: [0xff,0x93,0x60,0x04]45// CHECK-ERROR: instruction requires: sve or sme46// CHECK-UNKNOWN: 046093ff <unknown>47 48asr     z0.d, z0.d, #149// CHECK-INST: asr	z0.d, z0.d, #150// CHECK-ENCODING: [0x00,0x90,0xff,0x04]51// CHECK-ERROR: instruction requires: sve or sme52// CHECK-UNKNOWN: 04ff9000 <unknown>53 54asr     z31.d, z31.d, #6455// CHECK-INST: asr	z31.d, z31.d, #6456// CHECK-ENCODING: [0xff,0x93,0xa0,0x04]57// CHECK-ERROR: instruction requires: sve or sme58// CHECK-UNKNOWN: 04a093ff <unknown>59 60asr     z0.b, p0/m, z0.b, #161// CHECK-INST: asr	z0.b, p0/m, z0.b, #162// CHECK-ENCODING: [0xe0,0x81,0x00,0x04]63// CHECK-ERROR: instruction requires: sve or sme64// CHECK-UNKNOWN: 040081e0 <unknown>65 66asr     z31.b, p0/m, z31.b, #867// CHECK-INST: asr	z31.b, p0/m, z31.b, #868// CHECK-ENCODING: [0x1f,0x81,0x00,0x04]69// CHECK-ERROR: instruction requires: sve or sme70// CHECK-UNKNOWN: 0400811f <unknown>71 72asr     z0.h, p0/m, z0.h, #173// CHECK-INST: asr	z0.h, p0/m, z0.h, #174// CHECK-ENCODING: [0xe0,0x83,0x00,0x04]75// CHECK-ERROR: instruction requires: sve or sme76// CHECK-UNKNOWN: 040083e0 <unknown>77 78asr     z31.h, p0/m, z31.h, #1679// CHECK-INST: asr	z31.h, p0/m, z31.h, #1680// CHECK-ENCODING: [0x1f,0x82,0x00,0x04]81// CHECK-ERROR: instruction requires: sve or sme82// CHECK-UNKNOWN: 0400821f <unknown>83 84asr     z0.s, p0/m, z0.s, #185// CHECK-INST: asr	z0.s, p0/m, z0.s, #186// CHECK-ENCODING: [0xe0,0x83,0x40,0x04]87// CHECK-ERROR: instruction requires: sve or sme88// CHECK-UNKNOWN: 044083e0 <unknown>89 90asr     z31.s, p0/m, z31.s, #3291// CHECK-INST: asr	z31.s, p0/m, z31.s, #3292// CHECK-ENCODING: [0x1f,0x80,0x40,0x04]93// CHECK-ERROR: instruction requires: sve or sme94// CHECK-UNKNOWN: 0440801f <unknown>95 96asr     z0.d, p0/m, z0.d, #197// CHECK-INST: asr	z0.d, p0/m, z0.d, #198// CHECK-ENCODING: [0xe0,0x83,0xc0,0x04]99// CHECK-ERROR: instruction requires: sve or sme100// CHECK-UNKNOWN: 04c083e0 <unknown>101 102asr     z31.d, p0/m, z31.d, #64103// CHECK-INST: asr	z31.d, p0/m, z31.d, #64104// CHECK-ENCODING: [0x1f,0x80,0x80,0x04]105// CHECK-ERROR: instruction requires: sve or sme106// CHECK-UNKNOWN: 0480801f <unknown>107 108asr     z0.b, p0/m, z0.b, z0.b109// CHECK-INST: asr	z0.b, p0/m, z0.b, z0.b110// CHECK-ENCODING: [0x00,0x80,0x10,0x04]111// CHECK-ERROR: instruction requires: sve or sme112// CHECK-UNKNOWN: 04108000 <unknown>113 114asr     z0.h, p0/m, z0.h, z0.h115// CHECK-INST: asr	z0.h, p0/m, z0.h, z0.h116// CHECK-ENCODING: [0x00,0x80,0x50,0x04]117// CHECK-ERROR: instruction requires: sve or sme118// CHECK-UNKNOWN: 04508000 <unknown>119 120asr     z0.s, p0/m, z0.s, z0.s121// CHECK-INST: asr	z0.s, p0/m, z0.s, z0.s122// CHECK-ENCODING: [0x00,0x80,0x90,0x04]123// CHECK-ERROR: instruction requires: sve or sme124// CHECK-UNKNOWN: 04908000 <unknown>125 126asr     z0.d, p0/m, z0.d, z0.d127// CHECK-INST: asr	z0.d, p0/m, z0.d, z0.d128// CHECK-ENCODING: [0x00,0x80,0xd0,0x04]129// CHECK-ERROR: instruction requires: sve or sme130// CHECK-UNKNOWN: 04d08000 <unknown>131 132asr     z0.b, p0/m, z0.b, z1.d133// CHECK-INST: asr	z0.b, p0/m, z0.b, z1.d134// CHECK-ENCODING: [0x20,0x80,0x18,0x04]135// CHECK-ERROR: instruction requires: sve or sme136// CHECK-UNKNOWN: 04188020 <unknown>137 138asr     z0.h, p0/m, z0.h, z1.d139// CHECK-INST: asr	z0.h, p0/m, z0.h, z1.d140// CHECK-ENCODING: [0x20,0x80,0x58,0x04]141// CHECK-ERROR: instruction requires: sve or sme142// CHECK-UNKNOWN: 04588020 <unknown>143 144asr     z0.s, p0/m, z0.s, z1.d145// CHECK-INST: asr	z0.s, p0/m, z0.s, z1.d146// CHECK-ENCODING: [0x20,0x80,0x98,0x04]147// CHECK-ERROR: instruction requires: sve or sme148// CHECK-UNKNOWN: 04988020 <unknown>149 150asr     z0.b, z1.b, z2.d151// CHECK-INST: asr	z0.b, z1.b, z2.d152// CHECK-ENCODING: [0x20,0x80,0x22,0x04]153// CHECK-ERROR: instruction requires: sve or sme154// CHECK-UNKNOWN: 04228020 <unknown>155 156asr     z0.h, z1.h, z2.d157// CHECK-INST: asr	z0.h, z1.h, z2.d158// CHECK-ENCODING: [0x20,0x80,0x62,0x04]159// CHECK-ERROR: instruction requires: sve or sme160// CHECK-UNKNOWN: 04628020 <unknown>161 162asr     z0.s, z1.s, z2.d163// CHECK-INST: asr	z0.s, z1.s, z2.d164// CHECK-ENCODING: [0x20,0x80,0xa2,0x04]165// CHECK-ERROR: instruction requires: sve or sme166// CHECK-UNKNOWN: 04a28020 <unknown>167 168 169// --------------------------------------------------------------------------//170// Test compatibility with MOVPRFX instruction.171 172movprfx z31.d, p0/z, z6.d173// CHECK-INST: movprfx	z31.d, p0/z, z6.d174// CHECK-ENCODING: [0xdf,0x20,0xd0,0x04]175// CHECK-ERROR: instruction requires: sve or sme176// CHECK-UNKNOWN: 04d020df <unknown>177 178asr     z31.d, p0/m, z31.d, #64179// CHECK-INST: asr	z31.d, p0/m, z31.d, #64180// CHECK-ENCODING: [0x1f,0x80,0x80,0x04]181// CHECK-ERROR: instruction requires: sve or sme182// CHECK-UNKNOWN: 0480801f <unknown>183 184movprfx z31, z6185// CHECK-INST: movprfx	z31, z6186// CHECK-ENCODING: [0xdf,0xbc,0x20,0x04]187// CHECK-ERROR: instruction requires: sve or sme188// CHECK-UNKNOWN: 0420bcdf <unknown>189 190asr     z31.d, p0/m, z31.d, #64191// CHECK-INST: asr	z31.d, p0/m, z31.d, #64192// CHECK-ENCODING: [0x1f,0x80,0x80,0x04]193// CHECK-ERROR: instruction requires: sve or sme194// CHECK-UNKNOWN: 0480801f <unknown>195 196movprfx z0.s, p0/z, z7.s197// CHECK-INST: movprfx	z0.s, p0/z, z7.s198// CHECK-ENCODING: [0xe0,0x20,0x90,0x04]199// CHECK-ERROR: instruction requires: sve or sme200// CHECK-UNKNOWN: 049020e0 <unknown>201 202asr     z0.s, p0/m, z0.s, z1.d203// CHECK-INST: asr	z0.s, p0/m, z0.s, z1.d204// CHECK-ENCODING: [0x20,0x80,0x98,0x04]205// CHECK-ERROR: instruction requires: sve or sme206// CHECK-UNKNOWN: 04988020 <unknown>207 208movprfx z0, z7209// CHECK-INST: movprfx	z0, z7210// CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]211// CHECK-ERROR: instruction requires: sve or sme212// CHECK-UNKNOWN: 0420bce0 <unknown>213 214asr     z0.s, p0/m, z0.s, z1.d215// CHECK-INST: asr	z0.s, p0/m, z0.s, z1.d216// CHECK-ENCODING: [0x20,0x80,0x98,0x04]217// CHECK-ERROR: instruction requires: sve or sme218// CHECK-UNKNOWN: 04988020 <unknown>219