brintos

brintos / llvm-project-archived public Read only

0
0
Text · 8.1 KiB · 1403aa6 Raw
259 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 64-bit form (x0) and its aliases14// ---------------------------------------------------------------------------//15 16sqdecb  x017// CHECK-INST: sqdecb  x018// CHECK-ENCODING: [0xe0,0xfb,0x30,0x04]19// CHECK-ERROR: instruction requires: sve or sme20// CHECK-UNKNOWN: 0430fbe0 <unknown>21 22sqdecb  x0, all23// CHECK-INST: sqdecb  x024// CHECK-ENCODING: [0xe0,0xfb,0x30,0x04]25// CHECK-ERROR: instruction requires: sve or sme26// CHECK-UNKNOWN: 0430fbe0 <unknown>27 28sqdecb  x0, all, mul #129// CHECK-INST: sqdecb  x030// CHECK-ENCODING: [0xe0,0xfb,0x30,0x04]31// CHECK-ERROR: instruction requires: sve or sme32// CHECK-UNKNOWN: 0430fbe0 <unknown>33 34sqdecb  x0, all, mul #1635// CHECK-INST: sqdecb  x0, all, mul #1636// CHECK-ENCODING: [0xe0,0xfb,0x3f,0x04]37// CHECK-ERROR: instruction requires: sve or sme38// CHECK-UNKNOWN: 043ffbe0 <unknown>39 40 41// ---------------------------------------------------------------------------//42// Test 32-bit form (x0, w0) and its aliases43// ---------------------------------------------------------------------------//44 45sqdecb  x0, w046// CHECK-INST: sqdecb  x0, w047// CHECK-ENCODING: [0xe0,0xfb,0x20,0x04]48// CHECK-ERROR: instruction requires: sve or sme49// CHECK-UNKNOWN: 0420fbe0 <unknown>50 51sqdecb  x0, w0, all52// CHECK-INST: sqdecb  x0, w053// CHECK-ENCODING: [0xe0,0xfb,0x20,0x04]54// CHECK-ERROR: instruction requires: sve or sme55// CHECK-UNKNOWN: 0420fbe0 <unknown>56 57sqdecb  x0, w0, all, mul #158// CHECK-INST: sqdecb  x0, w059// CHECK-ENCODING: [0xe0,0xfb,0x20,0x04]60// CHECK-ERROR: instruction requires: sve or sme61// CHECK-UNKNOWN: 0420fbe0 <unknown>62 63sqdecb  x0, w0, all, mul #1664// CHECK-INST: sqdecb  x0, w0, all, mul #1665// CHECK-ENCODING: [0xe0,0xfb,0x2f,0x04]66// CHECK-ERROR: instruction requires: sve or sme67// CHECK-UNKNOWN: 042ffbe0 <unknown>68 69sqdecb  x0, w0, pow270// CHECK-INST: sqdecb  x0, w0, pow271// CHECK-ENCODING: [0x00,0xf8,0x20,0x04]72// CHECK-ERROR: instruction requires: sve or sme73// CHECK-UNKNOWN: 0420f800 <unknown>74 75sqdecb  x0, w0, pow2, mul #1676// CHECK-INST: sqdecb  x0, w0, pow2, mul #1677// CHECK-ENCODING: [0x00,0xf8,0x2f,0x04]78// CHECK-ERROR: instruction requires: sve or sme79// CHECK-UNKNOWN: 042ff800 <unknown>80 81 82// ---------------------------------------------------------------------------//83// Test all patterns for 64-bit form84// ---------------------------------------------------------------------------//85 86sqdecb  x0, pow287// CHECK-INST: sqdecb  x0, pow288// CHECK-ENCODING: [0x00,0xf8,0x30,0x04]89// CHECK-ERROR: instruction requires: sve or sme90// CHECK-UNKNOWN: 0430f800 <unknown>91 92sqdecb  x0, vl193// CHECK-INST: sqdecb  x0, vl194// CHECK-ENCODING: [0x20,0xf8,0x30,0x04]95// CHECK-ERROR: instruction requires: sve or sme96// CHECK-UNKNOWN: 0430f820 <unknown>97 98sqdecb  x0, vl299// CHECK-INST: sqdecb  x0, vl2100// CHECK-ENCODING: [0x40,0xf8,0x30,0x04]101// CHECK-ERROR: instruction requires: sve or sme102// CHECK-UNKNOWN: 0430f840 <unknown>103 104sqdecb  x0, vl3105// CHECK-INST: sqdecb  x0, vl3106// CHECK-ENCODING: [0x60,0xf8,0x30,0x04]107// CHECK-ERROR: instruction requires: sve or sme108// CHECK-UNKNOWN: 0430f860 <unknown>109 110sqdecb  x0, vl4111// CHECK-INST: sqdecb  x0, vl4112// CHECK-ENCODING: [0x80,0xf8,0x30,0x04]113// CHECK-ERROR: instruction requires: sve or sme114// CHECK-UNKNOWN: 0430f880 <unknown>115 116sqdecb  x0, vl5117// CHECK-INST: sqdecb  x0, vl5118// CHECK-ENCODING: [0xa0,0xf8,0x30,0x04]119// CHECK-ERROR: instruction requires: sve or sme120// CHECK-UNKNOWN: 0430f8a0 <unknown>121 122sqdecb  x0, vl6123// CHECK-INST: sqdecb  x0, vl6124// CHECK-ENCODING: [0xc0,0xf8,0x30,0x04]125// CHECK-ERROR: instruction requires: sve or sme126// CHECK-UNKNOWN: 0430f8c0 <unknown>127 128sqdecb  x0, vl7129// CHECK-INST: sqdecb  x0, vl7130// CHECK-ENCODING: [0xe0,0xf8,0x30,0x04]131// CHECK-ERROR: instruction requires: sve or sme132// CHECK-UNKNOWN: 0430f8e0 <unknown>133 134sqdecb  x0, vl8135// CHECK-INST: sqdecb  x0, vl8136// CHECK-ENCODING: [0x00,0xf9,0x30,0x04]137// CHECK-ERROR: instruction requires: sve or sme138// CHECK-UNKNOWN: 0430f900 <unknown>139 140sqdecb  x0, vl16141// CHECK-INST: sqdecb  x0, vl16142// CHECK-ENCODING: [0x20,0xf9,0x30,0x04]143// CHECK-ERROR: instruction requires: sve or sme144// CHECK-UNKNOWN: 0430f920 <unknown>145 146sqdecb  x0, vl32147// CHECK-INST: sqdecb  x0, vl32148// CHECK-ENCODING: [0x40,0xf9,0x30,0x04]149// CHECK-ERROR: instruction requires: sve or sme150// CHECK-UNKNOWN: 0430f940 <unknown>151 152sqdecb  x0, vl64153// CHECK-INST: sqdecb  x0, vl64154// CHECK-ENCODING: [0x60,0xf9,0x30,0x04]155// CHECK-ERROR: instruction requires: sve or sme156// CHECK-UNKNOWN: 0430f960 <unknown>157 158sqdecb  x0, vl128159// CHECK-INST: sqdecb  x0, vl128160// CHECK-ENCODING: [0x80,0xf9,0x30,0x04]161// CHECK-ERROR: instruction requires: sve or sme162// CHECK-UNKNOWN: 0430f980 <unknown>163 164sqdecb  x0, vl256165// CHECK-INST: sqdecb  x0, vl256166// CHECK-ENCODING: [0xa0,0xf9,0x30,0x04]167// CHECK-ERROR: instruction requires: sve or sme168// CHECK-UNKNOWN: 0430f9a0 <unknown>169 170sqdecb  x0, #14171// CHECK-INST: sqdecb  x0, #14172// CHECK-ENCODING: [0xc0,0xf9,0x30,0x04]173// CHECK-ERROR: instruction requires: sve or sme174// CHECK-UNKNOWN: 0430f9c0 <unknown>175 176sqdecb  x0, #15177// CHECK-INST: sqdecb  x0, #15178// CHECK-ENCODING: [0xe0,0xf9,0x30,0x04]179// CHECK-ERROR: instruction requires: sve or sme180// CHECK-UNKNOWN: 0430f9e0 <unknown>181 182sqdecb  x0, #16183// CHECK-INST: sqdecb  x0, #16184// CHECK-ENCODING: [0x00,0xfa,0x30,0x04]185// CHECK-ERROR: instruction requires: sve or sme186// CHECK-UNKNOWN: 0430fa00 <unknown>187 188sqdecb  x0, #17189// CHECK-INST: sqdecb  x0, #17190// CHECK-ENCODING: [0x20,0xfa,0x30,0x04]191// CHECK-ERROR: instruction requires: sve or sme192// CHECK-UNKNOWN: 0430fa20 <unknown>193 194sqdecb  x0, #18195// CHECK-INST: sqdecb  x0, #18196// CHECK-ENCODING: [0x40,0xfa,0x30,0x04]197// CHECK-ERROR: instruction requires: sve or sme198// CHECK-UNKNOWN: 0430fa40 <unknown>199 200sqdecb  x0, #19201// CHECK-INST: sqdecb  x0, #19202// CHECK-ENCODING: [0x60,0xfa,0x30,0x04]203// CHECK-ERROR: instruction requires: sve or sme204// CHECK-UNKNOWN: 0430fa60 <unknown>205 206sqdecb  x0, #20207// CHECK-INST: sqdecb  x0, #20208// CHECK-ENCODING: [0x80,0xfa,0x30,0x04]209// CHECK-ERROR: instruction requires: sve or sme210// CHECK-UNKNOWN: 0430fa80 <unknown>211 212sqdecb  x0, #21213// CHECK-INST: sqdecb  x0, #21214// CHECK-ENCODING: [0xa0,0xfa,0x30,0x04]215// CHECK-ERROR: instruction requires: sve or sme216// CHECK-UNKNOWN: 0430faa0 <unknown>217 218sqdecb  x0, #22219// CHECK-INST: sqdecb  x0, #22220// CHECK-ENCODING: [0xc0,0xfa,0x30,0x04]221// CHECK-ERROR: instruction requires: sve or sme222// CHECK-UNKNOWN: 0430fac0 <unknown>223 224sqdecb  x0, #23225// CHECK-INST: sqdecb  x0, #23226// CHECK-ENCODING: [0xe0,0xfa,0x30,0x04]227// CHECK-ERROR: instruction requires: sve or sme228// CHECK-UNKNOWN: 0430fae0 <unknown>229 230sqdecb  x0, #24231// CHECK-INST: sqdecb  x0, #24232// CHECK-ENCODING: [0x00,0xfb,0x30,0x04]233// CHECK-ERROR: instruction requires: sve or sme234// CHECK-UNKNOWN: 0430fb00 <unknown>235 236sqdecb  x0, #25237// CHECK-INST: sqdecb  x0, #25238// CHECK-ENCODING: [0x20,0xfb,0x30,0x04]239// CHECK-ERROR: instruction requires: sve or sme240// CHECK-UNKNOWN: 0430fb20 <unknown>241 242sqdecb  x0, #26243// CHECK-INST: sqdecb  x0, #26244// CHECK-ENCODING: [0x40,0xfb,0x30,0x04]245// CHECK-ERROR: instruction requires: sve or sme246// CHECK-UNKNOWN: 0430fb40 <unknown>247 248sqdecb  x0, #27249// CHECK-INST: sqdecb  x0, #27250// CHECK-ENCODING: [0x60,0xfb,0x30,0x04]251// CHECK-ERROR: instruction requires: sve or sme252// CHECK-UNKNOWN: 0430fb60 <unknown>253 254sqdecb  x0, #28255// CHECK-INST: sqdecb  x0, #28256// CHECK-ENCODING: [0x80,0xfb,0x30,0x04]257// CHECK-ERROR: instruction requires: sve or sme258// CHECK-UNKNOWN: 0430fb80 <unknown>259