brintos

brintos / llvm-project-archived public Read only

0
0
Text · 7.0 KiB · 4867db0 Raw
225 lines · plain
1// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+lsfe < %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=+lsfe < %s \6// RUN:        | llvm-objdump -d --mattr=+lsfe - | FileCheck %s --check-prefix=CHECK-INST7// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+lsfe < %s \8// RUN:        | llvm-objdump -d --mattr=-lsfe - | 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=+lsfe < %s \11// RUN:        | sed '/.text/d' | sed 's/.*encoding: //g' \12// RUN:        | llvm-mc -triple=aarch64 -mattr=+lsfe -disassemble -show-encoding \13// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST14 15//------------------------------------------------------------------------------16// LDFMIN17//------------------------------------------------------------------------------18 19ldfmin h0, h1, [x2]20// CHECK-INST: ldfmin h0, h1, [x2]21// CHECK-ENCODING: [0x41,0x50,0x20,0x7c]22// CHECK-ERROR: instruction requires: lsfe23// CHECK-UNKNOWN: 7c205041 <unknown>24 25ldfmin h2, h3, [sp]26// CHECK-INST: ldfmin h2, h3, [sp]27// CHECK-ENCODING: [0xe3,0x53,0x22,0x7c]28// CHECK-ERROR: instruction requires: lsfe29// CHECK-UNKNOWN: 7c2253e3 <unknown>30 31ldfmin s0, s1, [x2]32// CHECK-INST: ldfmin s0, s1, [x2]33// CHECK-ENCODING: [0x41,0x50,0x20,0xbc]34// CHECK-ERROR: instruction requires: lsfe35// CHECK-UNKNOWN: bc205041 <unknown>36 37ldfmin s2, s3, [sp]38// CHECK-INST: ldfmin s2, s3, [sp]39// CHECK-ENCODING: [0xe3,0x53,0x22,0xbc]40// CHECK-ERROR: instruction requires: lsfe41// CHECK-UNKNOWN: bc2253e3 <unknown>42 43ldfmin d0, d1, [x2]44// CHECK-INST: ldfmin d0, d1, [x2]45// CHECK-ENCODING: [0x41,0x50,0x20,0xfc]46// CHECK-ERROR: instruction requires: lsfe47// CHECK-UNKNOWN: fc205041 <unknown>48 49ldfmin d2, d3, [sp]50// CHECK-INST: ldfmin d2, d3, [sp]51// CHECK-ENCODING: [0xe3,0x53,0x22,0xfc]52// CHECK-ERROR: instruction requires: lsfe53// CHECK-UNKNOWN: fc2253e3 <unknown>54 55// -- ldfmina56 57ldfmina h0, h1, [x2]58// CHECK-INST: ldfmina h0, h1, [x2]59// CHECK-ENCODING: [0x41,0x50,0xa0,0x7c]60// CHECK-ERROR: instruction requires: lsfe61// CHECK-UNKNOWN: 7ca05041 <unknown>62 63ldfmina h2, h3, [sp]64// CHECK-INST: ldfmina h2, h3, [sp]65// CHECK-ENCODING: [0xe3,0x53,0xa2,0x7c]66// CHECK-ERROR: instruction requires: lsfe67// CHECK-UNKNOWN: 7ca253e3 <unknown>68 69ldfmina s0, s1, [x2]70// CHECK-INST: ldfmina s0, s1, [x2]71// CHECK-ENCODING: [0x41,0x50,0xa0,0xbc]72// CHECK-ERROR: instruction requires: lsfe73// CHECK-UNKNOWN: bca05041 <unknown>74 75ldfmina s2, s3, [sp]76// CHECK-INST: ldfmina s2, s3, [sp]77// CHECK-ENCODING: [0xe3,0x53,0xa2,0xbc]78// CHECK-ERROR: instruction requires: lsfe79// CHECK-UNKNOWN: bca253e3 <unknown>80 81ldfmina d0, d1, [x2]82// CHECK-INST: ldfmina d0, d1, [x2]83// CHECK-ENCODING: [0x41,0x50,0xa0,0xfc]84// CHECK-ERROR: instruction requires: lsfe85// CHECK-UNKNOWN: fca05041 <unknown>86 87ldfmina d2, d3, [sp]88// CHECK-INST: ldfmina d2, d3, [sp]89// CHECK-ENCODING: [0xe3,0x53,0xa2,0xfc]90// CHECK-ERROR: instruction requires: lsfe91// CHECK-UNKNOWN: fca253e3 <unknown>92 93// -- ldfminal94 95ldfminal h0, h1, [x2]96// CHECK-INST: ldfminal h0, h1, [x2]97// CHECK-ENCODING: [0x41,0x50,0xe0,0x7c]98// CHECK-ERROR: instruction requires: lsfe99// CHECK-UNKNOWN: 7ce05041 <unknown>100 101ldfminal h2, h3, [sp]102// CHECK-INST: ldfminal h2, h3, [sp]103// CHECK-ENCODING: [0xe3,0x53,0xe2,0x7c]104// CHECK-ERROR: instruction requires: lsfe105// CHECK-UNKNOWN: 7ce253e3 <unknown>106 107ldfminal s0, s1, [x2]108// CHECK-INST: ldfminal s0, s1, [x2]109// CHECK-ENCODING: [0x41,0x50,0xe0,0xbc]110// CHECK-ERROR: instruction requires: lsfe111// CHECK-UNKNOWN: bce05041 <unknown>112 113ldfminal s2, s3, [sp]114// CHECK-INST: ldfminal s2, s3, [sp]115// CHECK-ENCODING: [0xe3,0x53,0xe2,0xbc]116// CHECK-ERROR: instruction requires: lsfe117// CHECK-UNKNOWN: bce253e3 <unknown>118 119ldfminal d0, d1, [x2]120// CHECK-INST: ldfminal d0, d1, [x2]121// CHECK-ENCODING: [0x41,0x50,0xe0,0xfc]122// CHECK-ERROR: instruction requires: lsfe123// CHECK-UNKNOWN: fce05041 <unknown>124 125ldfminal d2, d3, [sp]126// CHECK-INST: ldfminal d2, d3, [sp]127// CHECK-ENCODING: [0xe3,0x53,0xe2,0xfc]128// CHECK-ERROR: instruction requires: lsfe129// CHECK-UNKNOWN: fce253e3 <unknown>130 131// -- ldfminl132 133ldfminl h0, h1, [x2]134// CHECK-INST: ldfminl h0, h1, [x2]135// CHECK-ENCODING: [0x41,0x50,0x60,0x7c]136// CHECK-ERROR: instruction requires: lsfe137// CHECK-UNKNOWN: 7c605041 <unknown>138 139ldfminl h2, h3, [sp]140// CHECK-INST: ldfminl h2, h3, [sp]141// CHECK-ENCODING: [0xe3,0x53,0x62,0x7c]142// CHECK-ERROR: instruction requires: lsfe143// CHECK-UNKNOWN: 7c6253e3 <unknown>144 145ldfminl s0, s1, [x2]146// CHECK-INST: ldfminl s0, s1, [x2]147// CHECK-ENCODING: [0x41,0x50,0x60,0xbc]148// CHECK-ERROR: instruction requires: lsfe149// CHECK-UNKNOWN: bc605041 <unknown>150 151ldfminl s2, s3, [sp]152// CHECK-INST: ldfminl s2, s3, [sp]153// CHECK-ENCODING: [0xe3,0x53,0x62,0xbc]154// CHECK-ERROR: instruction requires: lsfe155// CHECK-UNKNOWN: bc6253e3 <unknown>156 157ldfminl d0, d1, [x2]158// CHECK-INST: ldfminl d0, d1, [x2]159// CHECK-ENCODING: [0x41,0x50,0x60,0xfc]160// CHECK-ERROR: instruction requires: lsfe161// CHECK-UNKNOWN: fc605041 <unknown>162 163ldfminl d2, d3, [sp]164// CHECK-INST: ldfminl d2, d3, [sp]165// CHECK-ENCODING: [0xe3,0x53,0x62,0xfc]166// CHECK-ERROR: instruction requires: lsfe167// CHECK-UNKNOWN: fc6253e3 <unknown>168 169//------------------------------------------------------------------------------170// LDBFMIN171//------------------------------------------------------------------------------172 173ldbfmin h0, h1, [x2]174// CHECK-INST: ldbfmin h0, h1, [x2]175// CHECK-ENCODING: [0x41,0x50,0x20,0x3c]176// CHECK-ERROR: instruction requires: lsfe177// CHECK-UNKNOWN: 3c205041 <unknown>178 179ldbfmin h2, h3, [sp]180// CHECK-INST: ldbfmin h2, h3, [sp]181// CHECK-ENCODING: [0xe3,0x53,0x22,0x3c]182// CHECK-ERROR: instruction requires: lsfe183// CHECK-UNKNOWN: 3c2253e3 <unknown>184 185// -- ldbfmina186 187ldbfmina h0, h1, [x2]188// CHECK-INST: ldbfmina h0, h1, [x2]189// CHECK-ENCODING: [0x41,0x50,0xa0,0x3c]190// CHECK-ERROR: instruction requires: lsfe191// CHECK-UNKNOWN: 3ca05041 <unknown>192 193ldbfmina h2, h3, [sp]194// CHECK-INST: ldbfmina h2, h3, [sp]195// CHECK-ENCODING: [0xe3,0x53,0xa2,0x3c]196// CHECK-ERROR: instruction requires: lsfe197// CHECK-UNKNOWN: 3ca253e3 <unknown>198 199// -- ldbfminal200 201ldbfminal h0, h1, [x2]202// CHECK-INST: ldbfminal h0, h1, [x2]203// CHECK-ENCODING: [0x41,0x50,0xe0,0x3c]204// CHECK-ERROR: instruction requires: lsfe205// CHECK-UNKNOWN: 3ce05041 <unknown>206 207ldbfminal h2, h3, [sp]208// CHECK-INST: ldbfminal h2, h3, [sp]209// CHECK-ENCODING: [0xe3,0x53,0xe2,0x3c]210// CHECK-ERROR: instruction requires: lsfe211// CHECK-UNKNOWN: 3ce253e3 <unknown>212 213// -- ldbfminl214 215ldbfminl h0, h1, [x2]216// CHECK-INST: ldbfminl h0, h1, [x2]217// CHECK-ENCODING: [0x41,0x50,0x60,0x3c]218// CHECK-ERROR: instruction requires: lsfe219// CHECK-UNKNOWN: 3c605041 <unknown>220 221ldbfminl h2, h3, [sp]222// CHECK-INST: ldbfminl h2, h3, [sp]223// CHECK-ENCODING: [0xe3,0x53,0x62,0x3c]224// CHECK-ERROR: instruction requires: lsfe225// CHECK-UNKNOWN: 3c6253e3 <unknown>