brintos

brintos / llvm-project-archived public Read only

0
0
Text · 6.6 KiB · a7c6dda Raw
209 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 12// ---------------------------------------------------------------------------//13// Test vector form and aliases.14// ---------------------------------------------------------------------------//15 16inch    z0.h17// CHECK-INST: inch    z0.h18// CHECK-ENCODING: [0xe0,0xc3,0x70,0x04]19// CHECK-ERROR: instruction requires: sve or sme20// CHECK-UNKNOWN: 0470c3e0 <unknown>21 22inch    z0.h, all23// CHECK-INST: inch    z0.h24// CHECK-ENCODING: [0xe0,0xc3,0x70,0x04]25// CHECK-ERROR: instruction requires: sve or sme26// CHECK-UNKNOWN: 0470c3e0 <unknown>27 28inch    z0.h, all, mul #129// CHECK-INST: inch    z0.h30// CHECK-ENCODING: [0xe0,0xc3,0x70,0x04]31// CHECK-ERROR: instruction requires: sve or sme32// CHECK-UNKNOWN: 0470c3e0 <unknown>33 34inch    z0.h, all, mul #1635// CHECK-INST: inch    z0.h, all, mul #1636// CHECK-ENCODING: [0xe0,0xc3,0x7f,0x04]37// CHECK-ERROR: instruction requires: sve or sme38// CHECK-UNKNOWN: 047fc3e0 <unknown>39 40 41// ---------------------------------------------------------------------------//42// Test scalar form and aliases.43// ---------------------------------------------------------------------------//44 45inch    x046// CHECK-INST: inch    x047// CHECK-ENCODING: [0xe0,0xe3,0x70,0x04]48// CHECK-ERROR: instruction requires: sve or sme49// CHECK-UNKNOWN: 0470e3e0 <unknown>50 51inch    x0, all52// CHECK-INST: inch    x053// CHECK-ENCODING: [0xe0,0xe3,0x70,0x04]54// CHECK-ERROR: instruction requires: sve or sme55// CHECK-UNKNOWN: 0470e3e0 <unknown>56 57inch    x0, all, mul #158// CHECK-INST: inch    x059// CHECK-ENCODING: [0xe0,0xe3,0x70,0x04]60// CHECK-ERROR: instruction requires: sve or sme61// CHECK-UNKNOWN: 0470e3e0 <unknown>62 63inch    x0, all, mul #1664// CHECK-INST: inch    x0, all, mul #1665// CHECK-ENCODING: [0xe0,0xe3,0x7f,0x04]66// CHECK-ERROR: instruction requires: sve or sme67// CHECK-UNKNOWN: 047fe3e0 <unknown>68 69 70// ---------------------------------------------------------------------------//71// Test predicate patterns72// ---------------------------------------------------------------------------//73 74inch    x0, pow275// CHECK-INST: inch    x0, pow276// CHECK-ENCODING: [0x00,0xe0,0x70,0x04]77// CHECK-ERROR: instruction requires: sve or sme78// CHECK-UNKNOWN: 0470e000 <unknown>79 80inch    x0, vl181// CHECK-INST: inch    x0, vl182// CHECK-ENCODING: [0x20,0xe0,0x70,0x04]83// CHECK-ERROR: instruction requires: sve or sme84// CHECK-UNKNOWN: 0470e020 <unknown>85 86inch    x0, vl287// CHECK-INST: inch    x0, vl288// CHECK-ENCODING: [0x40,0xe0,0x70,0x04]89// CHECK-ERROR: instruction requires: sve or sme90// CHECK-UNKNOWN: 0470e040 <unknown>91 92inch    x0, vl393// CHECK-INST: inch    x0, vl394// CHECK-ENCODING: [0x60,0xe0,0x70,0x04]95// CHECK-ERROR: instruction requires: sve or sme96// CHECK-UNKNOWN: 0470e060 <unknown>97 98inch    x0, vl499// CHECK-INST: inch    x0, vl4100// CHECK-ENCODING: [0x80,0xe0,0x70,0x04]101// CHECK-ERROR: instruction requires: sve or sme102// CHECK-UNKNOWN: 0470e080 <unknown>103 104inch    x0, vl5105// CHECK-INST: inch    x0, vl5106// CHECK-ENCODING: [0xa0,0xe0,0x70,0x04]107// CHECK-ERROR: instruction requires: sve or sme108// CHECK-UNKNOWN: 0470e0a0 <unknown>109 110inch    x0, vl6111// CHECK-INST: inch    x0, vl6112// CHECK-ENCODING: [0xc0,0xe0,0x70,0x04]113// CHECK-ERROR: instruction requires: sve or sme114// CHECK-UNKNOWN: 0470e0c0 <unknown>115 116inch    x0, vl7117// CHECK-INST: inch    x0, vl7118// CHECK-ENCODING: [0xe0,0xe0,0x70,0x04]119// CHECK-ERROR: instruction requires: sve or sme120// CHECK-UNKNOWN: 0470e0e0 <unknown>121 122inch    x0, vl8123// CHECK-INST: inch    x0, vl8124// CHECK-ENCODING: [0x00,0xe1,0x70,0x04]125// CHECK-ERROR: instruction requires: sve or sme126// CHECK-UNKNOWN: 0470e100 <unknown>127 128inch    x0, vl16129// CHECK-INST: inch    x0, vl16130// CHECK-ENCODING: [0x20,0xe1,0x70,0x04]131// CHECK-ERROR: instruction requires: sve or sme132// CHECK-UNKNOWN: 0470e120 <unknown>133 134inch    x0, vl32135// CHECK-INST: inch    x0, vl32136// CHECK-ENCODING: [0x40,0xe1,0x70,0x04]137// CHECK-ERROR: instruction requires: sve or sme138// CHECK-UNKNOWN: 0470e140 <unknown>139 140inch    x0, vl64141// CHECK-INST: inch    x0, vl64142// CHECK-ENCODING: [0x60,0xe1,0x70,0x04]143// CHECK-ERROR: instruction requires: sve or sme144// CHECK-UNKNOWN: 0470e160 <unknown>145 146inch    x0, vl128147// CHECK-INST: inch    x0, vl128148// CHECK-ENCODING: [0x80,0xe1,0x70,0x04]149// CHECK-ERROR: instruction requires: sve or sme150// CHECK-UNKNOWN: 0470e180 <unknown>151 152inch    x0, vl256153// CHECK-INST: inch    x0, vl256154// CHECK-ENCODING: [0xa0,0xe1,0x70,0x04]155// CHECK-ERROR: instruction requires: sve or sme156// CHECK-UNKNOWN: 0470e1a0 <unknown>157 158inch    x0, #14159// CHECK-INST: inch    x0, #14160// CHECK-ENCODING: [0xc0,0xe1,0x70,0x04]161// CHECK-ERROR: instruction requires: sve or sme162// CHECK-UNKNOWN: 0470e1c0 <unknown>163 164inch    x0, #28165// CHECK-INST: inch    x0, #28166// CHECK-ENCODING: [0x80,0xe3,0x70,0x04]167// CHECK-ERROR: instruction requires: sve or sme168// CHECK-UNKNOWN: 0470e380 <unknown>169 170 171// --------------------------------------------------------------------------//172// Test compatibility with MOVPRFX instruction.173 174movprfx z0, z7175// CHECK-INST: movprfx	z0, z7176// CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]177// CHECK-ERROR: instruction requires: sve or sme178// CHECK-UNKNOWN: 0420bce0 <unknown>179 180inch    z0.h181// CHECK-INST: inch	z0.h182// CHECK-ENCODING: [0xe0,0xc3,0x70,0x04]183// CHECK-ERROR: instruction requires: sve or sme184// CHECK-UNKNOWN: 0470c3e0 <unknown>185 186movprfx z0, z7187// CHECK-INST: movprfx	z0, z7188// CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]189// CHECK-ERROR: instruction requires: sve or sme190// CHECK-UNKNOWN: 0420bce0 <unknown>191 192inch    z0.h, all, mul #16193// CHECK-INST: inch	z0.h, all, mul #16194// CHECK-ENCODING: [0xe0,0xc3,0x7f,0x04]195// CHECK-ERROR: instruction requires: sve or sme196// CHECK-UNKNOWN: 047fc3e0 <unknown>197 198movprfx z0, z7199// CHECK-INST: movprfx	z0, z7200// CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]201// CHECK-ERROR: instruction requires: sve or sme202// CHECK-UNKNOWN: 0420bce0 <unknown>203 204inch    z0.h, all205// CHECK-INST: inch	z0.h206// CHECK-ENCODING: [0xe0,0xc3,0x70,0x04]207// CHECK-ERROR: instruction requires: sve or sme208// CHECK-UNKNOWN: 0470c3e0 <unknown>209