brintos

brintos / llvm-project-archived public Read only

0
0
Text · 7.1 KiB · bfa1c50 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// LDFMAXNM17//------------------------------------------------------------------------------18 19ldfmaxnm h0, h1, [x2]20// CHECK-INST: ldfmaxnm h0, h1, [x2]21// CHECK-ENCODING: [0x41,0x60,0x20,0x7c]22// CHECK-ERROR: instruction requires: lsfe23// CHECK-UNKNOWN: 7c206041 <unknown>24 25ldfmaxnm h2, h3, [sp]26// CHECK-INST: ldfmaxnm h2, h3, [sp]27// CHECK-ENCODING: [0xe3,0x63,0x22,0x7c]28// CHECK-ERROR: instruction requires: lsfe29// CHECK-UNKNOWN: 7c2263e3 <unknown>30 31ldfmaxnm s0, s1, [x2]32// CHECK-INST: ldfmaxnm s0, s1, [x2]33// CHECK-ENCODING: [0x41,0x60,0x20,0xbc]34// CHECK-ERROR: instruction requires: lsfe35// CHECK-UNKNOWN: bc206041 <unknown>36 37ldfmaxnm s2, s3, [sp]38// CHECK-INST: ldfmaxnm s2, s3, [sp]39// CHECK-ENCODING: [0xe3,0x63,0x22,0xbc]40// CHECK-ERROR: instruction requires: lsfe41// CHECK-UNKNOWN: bc2263e3 <unknown>42 43ldfmaxnm d0, d1, [x2]44// CHECK-INST: ldfmaxnm d0, d1, [x2]45// CHECK-ENCODING: [0x41,0x60,0x20,0xfc]46// CHECK-ERROR: instruction requires: lsfe47// CHECK-UNKNOWN: fc206041 <unknown>48 49ldfmaxnm d2, d3, [sp]50// CHECK-INST: ldfmaxnm d2, d3, [sp]51// CHECK-ENCODING: [0xe3,0x63,0x22,0xfc]52// CHECK-ERROR: instruction requires: lsfe53// CHECK-UNKNOWN: fc2263e3 <unknown>54 55// -- ldfmaxnma56 57ldfmaxnma h0, h1, [x2]58// CHECK-INST: ldfmaxnma h0, h1, [x2]59// CHECK-ENCODING: [0x41,0x60,0xa0,0x7c]60// CHECK-ERROR: instruction requires: lsfe61// CHECK-UNKNOWN: 7ca06041 <unknown>62 63ldfmaxnma h2, h3, [sp]64// CHECK-INST: ldfmaxnma h2, h3, [sp]65// CHECK-ENCODING: [0xe3,0x63,0xa2,0x7c]66// CHECK-ERROR: instruction requires: lsfe67// CHECK-UNKNOWN: 7ca263e3 <unknown>68 69ldfmaxnma s0, s1, [x2]70// CHECK-INST: ldfmaxnma s0, s1, [x2]71// CHECK-ENCODING: [0x41,0x60,0xa0,0xbc]72// CHECK-ERROR: instruction requires: lsfe73// CHECK-UNKNOWN: bca06041 <unknown>74 75ldfmaxnma s2, s3, [sp]76// CHECK-INST: ldfmaxnma s2, s3, [sp]77// CHECK-ENCODING: [0xe3,0x63,0xa2,0xbc]78// CHECK-ERROR: instruction requires: lsfe79// CHECK-UNKNOWN: bca263e3 <unknown>80 81ldfmaxnma d0, d1, [x2]82// CHECK-INST: ldfmaxnma d0, d1, [x2]83// CHECK-ENCODING: [0x41,0x60,0xa0,0xfc]84// CHECK-ERROR: instruction requires: lsfe85// CHECK-UNKNOWN: fca06041 <unknown>86 87ldfmaxnma d2, d3, [sp]88// CHECK-INST: ldfmaxnma d2, d3, [sp]89// CHECK-ENCODING: [0xe3,0x63,0xa2,0xfc]90// CHECK-ERROR: instruction requires: lsfe91// CHECK-UNKNOWN: fca263e3 <unknown>92 93// -- ldfmaxnmal94 95ldfmaxnmal h0, h1, [x2]96// CHECK-INST: ldfmaxnmal h0, h1, [x2]97// CHECK-ENCODING: [0x41,0x60,0xe0,0x7c]98// CHECK-ERROR: instruction requires: lsfe99// CHECK-UNKNOWN: 7ce06041 <unknown>100 101ldfmaxnmal h2, h3, [sp]102// CHECK-INST: ldfmaxnmal h2, h3, [sp]103// CHECK-ENCODING: [0xe3,0x63,0xe2,0x7c]104// CHECK-ERROR: instruction requires: lsfe105// CHECK-UNKNOWN: 7ce263e3 <unknown>106 107ldfmaxnmal s0, s1, [x2]108// CHECK-INST: ldfmaxnmal s0, s1, [x2]109// CHECK-ENCODING: [0x41,0x60,0xe0,0xbc]110// CHECK-ERROR: instruction requires: lsfe111// CHECK-UNKNOWN: bce06041 <unknown>112 113ldfmaxnmal s2, s3, [sp]114// CHECK-INST: ldfmaxnmal s2, s3, [sp]115// CHECK-ENCODING: [0xe3,0x63,0xe2,0xbc]116// CHECK-ERROR: instruction requires: lsfe117// CHECK-UNKNOWN: bce263e3 <unknown>118 119ldfmaxnmal d0, d1, [x2]120// CHECK-INST: ldfmaxnmal d0, d1, [x2]121// CHECK-ENCODING: [0x41,0x60,0xe0,0xfc]122// CHECK-ERROR: instruction requires: lsfe123// CHECK-UNKNOWN: fce06041 <unknown>124 125ldfmaxnmal d2, d3, [sp]126// CHECK-INST: ldfmaxnmal d2, d3, [sp]127// CHECK-ENCODING: [0xe3,0x63,0xe2,0xfc]128// CHECK-ERROR: instruction requires: lsfe129// CHECK-UNKNOWN: fce263e3 <unknown>130 131// -- ldfmaxnml132 133ldfmaxnml h0, h1, [x2]134// CHECK-INST: ldfmaxnml h0, h1, [x2]135// CHECK-ENCODING: [0x41,0x60,0x60,0x7c]136// CHECK-ERROR: instruction requires: lsfe137// CHECK-UNKNOWN:  7c606041 <unknown>138 139ldfmaxnml h2, h3, [sp]140// CHECK-INST: ldfmaxnml h2, h3, [sp]141// CHECK-ENCODING: [0xe3,0x63,0x62,0x7c]142// CHECK-ERROR: instruction requires: lsfe143// CHECK-UNKNOWN: 7c6263e3 <unknown>144 145ldfmaxnml s0, s1, [x2]146// CHECK-INST: ldfmaxnml s0, s1, [x2]147// CHECK-ENCODING: [0x41,0x60,0x60,0xbc]148// CHECK-ERROR: instruction requires: lsfe149// CHECK-UNKNOWN: bc606041 <unknown>150 151ldfmaxnml s2, s3, [sp]152// CHECK-INST: ldfmaxnml s2, s3, [sp]153// CHECK-ENCODING: [0xe3,0x63,0x62,0xbc]154// CHECK-ERROR: instruction requires: lsfe155// CHECK-UNKNOWN: bc6263e3 <unknown>156 157ldfmaxnml d0, d1, [x2]158// CHECK-INST: ldfmaxnml d0, d1, [x2]159// CHECK-ENCODING: [0x41,0x60,0x60,0xfc]160// CHECK-ERROR: instruction requires: lsfe161// CHECK-UNKNOWN: fc606041 <unknown>162 163ldfmaxnml d2, d3, [sp]164// CHECK-INST: ldfmaxnml d2, d3, [sp]165// CHECK-ENCODING: [0xe3,0x63,0x62,0xfc]166// CHECK-ERROR: instruction requires: lsfe167// CHECK-UNKNOWN: fc6263e3 <unknown>168 169//------------------------------------------------------------------------------170// LDBFMAXNM171//------------------------------------------------------------------------------172 173ldbfmaxnm h0, h1, [x2]174// CHECK-INST: ldbfmaxnm h0, h1, [x2]175// CHECK-ENCODING: [0x41,0x60,0x20,0x3c]176// CHECK-ERROR: instruction requires: lsfe177// CHECK-UNKNOWN: 3c206041 <unknown>178 179ldbfmaxnm h2, h3, [sp]180// CHECK-INST: ldbfmaxnm h2, h3, [sp]181// CHECK-ENCODING: [0xe3,0x63,0x22,0x3c]182// CHECK-ERROR: instruction requires: lsfe183// CHECK-UNKNOWN: 3c2263e3 <unknown>184 185// -- ldbfmaxnma186 187ldbfmaxnma h0, h1, [x2]188// CHECK-INST: ldbfmaxnma h0, h1, [x2]189// CHECK-ENCODING: [0x41,0x60,0xa0,0x3c]190// CHECK-ERROR: instruction requires: lsfe191// CHECK-UNKNOWN: 3ca06041 <unknown>192 193ldbfmaxnma h2, h3, [sp]194// CHECK-INST: ldbfmaxnma h2, h3, [sp]195// CHECK-ENCODING: [0xe3,0x63,0xa2,0x3c]196// CHECK-ERROR: instruction requires: lsfe197// CHECK-UNKNOWN: 3ca263e3 <unknown>198 199// -- ldbfmaxnmal200 201ldbfmaxnmal h0, h1, [x2]202// CHECK-INST: ldbfmaxnmal h0, h1, [x2]203// CHECK-ENCODING: [0x41,0x60,0xe0,0x3c]204// CHECK-ERROR: instruction requires: lsfe205// CHECK-UNKNOWN: 3ce06041 <unknown>206 207ldbfmaxnmal h2, h3, [sp]208// CHECK-INST: ldbfmaxnmal h2, h3, [sp]209// CHECK-ENCODING: [0xe3,0x63,0xe2,0x3c]210// CHECK-ERROR: instruction requires: lsfe211// CHECK-UNKNOWN: 3ce263e3 <unknown>212 213// -- ldbfmaxnml214 215ldbfmaxnml h0, h1, [x2]216// CHECK-INST: ldbfmaxnml h0, h1, [x2]217// CHECK-ENCODING: [0x41,0x60,0x60,0x3c]218// CHECK-ERROR: instruction requires: lsfe219// CHECK-UNKNOWN: 3c606041 <unknown>220 221ldbfmaxnml h2, h3, [sp]222// CHECK-INST: ldbfmaxnml h2, h3, [sp]223// CHECK-ENCODING: [0xe3,0x63,0x62,0x3c]224// CHECK-ERROR: instruction requires: lsfe225// CHECK-UNKNOWN: 3c6263e3 <unknown>