253 lines · plain
1// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+fprcvt < %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=+fprcvt < %s \6// RUN: | llvm-objdump -d --mattr=+fprcvt - | FileCheck %s --check-prefix=CHECK-INST7// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+fprcvt < %s \8// RUN: | llvm-objdump -d --no-print-imm-hex --mattr=-fprcvt - | 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=+fprcvt < %s \11// RUN: | sed '/.text/d' | sed 's/.*encoding: //g' \12// RUN: | llvm-mc -triple=aarch64 -mattr=+fprcvt -disassemble -show-encoding \13// RUN: | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST14 15fcvtas s0, d116// CHECK-INST: fcvtas s0, d117// CHECK-ENCODING: [0x20,0x00,0x7a,0x1e]18// CHECK-ERROR: instruction requires: fprcvt19// CHECK-UNKNOWN: 1e7a0020 <unknown>20 21fcvtas s1, h222// CHECK-INST: fcvtas s1, h223// CHECK-ENCODING: [0x41,0x00,0xfa,0x1e]24// CHECK-ERROR: instruction requires: fprcvt25// CHECK-UNKNOWN: 1efa0041 <unknown>26 27fcvtas d3, h428// CHECK-INST: fcvtas d3, h429// CHECK-ENCODING: [0x83,0x00,0xfa,0x9e]30// CHECK-ERROR: instruction requires: fprcvt31// CHECK-UNKNOWN: 9efa0083 <unknown>32 33fcvtas d0, s534// CHECK-INST: fcvtas d0, s535// CHECK-ENCODING: [0xa0,0x00,0x3a,0x9e]36// CHECK-ERROR: instruction requires: fprcvt37// CHECK-UNKNOWN: 9e3a00a0 <unknown>38 39fcvtau s0, d140// CHECK-INST: fcvtau s0, d141// CHECK-ENCODING: [0x20,0x00,0x7b,0x1e]42// CHECK-ERROR: instruction requires: fprcvt43// CHECK-UNKNOWN: 1e7b0020 <unknown>44 45fcvtau s1, h246// CHECK-INST: fcvtau s1, h247// CHECK-ENCODING: [0x41,0x00,0xfb,0x1e]48// CHECK-ERROR: instruction requires: fprcvt49// CHECK-UNKNOWN: 1efb0041 <unknown>50 51fcvtau d3, h452// CHECK-INST: fcvtau d3, h453// CHECK-ENCODING: [0x83,0x00,0xfb,0x9e]54// CHECK-ERROR: instruction requires: fprcvt55// CHECK-UNKNOWN: 9efb0083 <unknown>56 57fcvtau d0, s558// CHECK-INST: fcvtau d0, s559// CHECK-ENCODING: [0xa0,0x00,0x3b,0x9e]60// CHECK-ERROR: instruction requires: fprcvt61// CHECK-UNKNOWN: 9e3b00a0 <unknown>62 63fcvtms s0, d164// CHECK-INST: fcvtms s0, d165// CHECK-ENCODING: [0x20,0x00,0x74,0x1e]66// CHECK-ERROR: instruction requires: fprcvt67// CHECK-UNKNOWN: 1e740020 <unknown>68 69fcvtms s1, h270// CHECK-INST: fcvtms s1, h271// CHECK-ENCODING: [0x41,0x00,0xf4,0x1e]72// CHECK-ERROR: instruction requires: fprcvt73// CHECK-UNKNOWN: 1ef40041 <unknown>74 75fcvtms d3, h476// CHECK-INST: fcvtms d3, h477// CHECK-ENCODING: [0x83,0x00,0xf4,0x9e]78// CHECK-ERROR: instruction requires: fprcvt79// CHECK-UNKNOWN: 9ef40083 <unknown>80 81fcvtms d0, s582// CHECK-INST: fcvtms d0, s583// CHECK-ENCODING: [0xa0,0x00,0x34,0x9e]84// CHECK-ERROR: instruction requires: fprcvt85// CHECK-UNKNOWN: 9e3400a0 <unknown>86 87fcvtmu s0, d188// CHECK-INST: fcvtmu s0, d189// CHECK-ENCODING: [0x20,0x00,0x75,0x1e]90// CHECK-ERROR: instruction requires: fprcvt91// CHECK-UNKNOWN: 1e750020 <unknown>92 93fcvtmu s1, h294// CHECK-INST: fcvtmu s1, h295// CHECK-ENCODING: [0x41,0x00,0xf5,0x1e]96// CHECK-ERROR: instruction requires: fprcvt97// CHECK-UNKNOWN: 1ef50041 <unknown>98 99fcvtmu d3, h4100// CHECK-INST: fcvtmu d3, h4101// CHECK-ENCODING: [0x83,0x00,0xf5,0x9e]102// CHECK-ERROR: instruction requires: fprcvt103// CHECK-UNKNOWN: 9ef50083 <unknown>104 105fcvtmu d0, s5106// CHECK-INST: fcvtmu d0, s5107// CHECK-ENCODING: [0xa0,0x00,0x35,0x9e]108// CHECK-ERROR: instruction requires: fprcvt109// CHECK-UNKNOWN: 9e3500a0 <unknown>110 111fcvtns s0, d1112// CHECK-INST: fcvtns s0, d1113// CHECK-ENCODING: [0x20,0x00,0x6a,0x1e]114// CHECK-ERROR: instruction requires: fprcvt115// CHECK-UNKNOWN: 1e6a0020 <unknown>116 117fcvtns s1, h2118// CHECK-INST: fcvtns s1, h2119// CHECK-ENCODING: [0x41,0x00,0xea,0x1e]120// CHECK-ERROR: instruction requires: fprcvt121// CHECK-UNKNOWN: 1eea0041 <unknown>122 123fcvtns d3, h4124// CHECK-INST: fcvtns d3, h4125// CHECK-ENCODING: [0x83,0x00,0xea,0x9e]126// CHECK-ERROR: instruction requires: fprcvt127// CHECK-UNKNOWN: 9eea0083 <unknown>128 129fcvtns d0, s5130// CHECK-INST: fcvtns d0, s5131// CHECK-ENCODING: [0xa0,0x00,0x2a,0x9e]132// CHECK-ERROR: instruction requires: fprcvt133// CHECK-UNKNOWN: 9e2a00a0 <unknown>134 135fcvtnu s0, d1136// CHECK-INST: fcvtnu s0, d1137// CHECK-ENCODING: [0x20,0x00,0x6b,0x1e]138// CHECK-ERROR: instruction requires: fprcvt139// CHECK-UNKNOWN: 1e6b0020 <unknown>140 141fcvtnu s1, h2142// CHECK-INST: fcvtnu s1, h2143// CHECK-ENCODING: [0x41,0x00,0xeb,0x1e]144// CHECK-ERROR: instruction requires: fprcvt145// CHECK-UNKNOWN: 1eeb0041 <unknown>146 147fcvtnu d3, h4148// CHECK-INST: fcvtnu d3, h4149// CHECK-ENCODING: [0x83,0x00,0xeb,0x9e]150// CHECK-ERROR: instruction requires: fprcvt151// CHECK-UNKNOWN: 9eeb0083 <unknown>152 153fcvtnu d0, s5154// CHECK-INST: fcvtnu d0, s5155// CHECK-ENCODING: [0xa0,0x00,0x2b,0x9e]156// CHECK-ERROR: instruction requires: fprcvt157// CHECK-UNKNOWN: 9e2b00a0 <unknown>158 159fcvtps s0, d1160// CHECK-INST: fcvtps s0, d1161// CHECK-ENCODING: [0x20,0x00,0x72,0x1e]162// CHECK-ERROR: instruction requires: fprcvt163// CHECK-UNKNOWN: 1e720020 <unknown>164 165fcvtps s1, h2166// CHECK-INST: fcvtps s1, h2167// CHECK-ENCODING: [0x41,0x00,0xf2,0x1e]168// CHECK-ERROR: instruction requires: fprcvt169// CHECK-UNKNOWN: 1ef20041 <unknown>170 171fcvtps d3, h4172// CHECK-INST: fcvtps d3, h4173// CHECK-ENCODING: [0x83,0x00,0xf2,0x9e]174// CHECK-ERROR: instruction requires: fprcvt175// CHECK-UNKNOWN: 9ef20083 <unknown>176 177fcvtps d0, s5178// CHECK-INST: fcvtps d0, s5179// CHECK-ENCODING: [0xa0,0x00,0x32,0x9e]180// CHECK-ERROR: instruction requires: fprcvt181// CHECK-UNKNOWN: 9e3200a0 <unknown>182 183fcvtpu s0, d1184// CHECK-INST: fcvtpu s0, d1185// CHECK-ENCODING: [0x20,0x00,0x73,0x1e]186// CHECK-ERROR: instruction requires: fprcvt187// CHECK-UNKNOWN: 1e730020 <unknown>188 189fcvtpu s1, h2190// CHECK-INST: fcvtpu s1, h2191// CHECK-ENCODING: [0x41,0x00,0xf3,0x1e]192// CHECK-ERROR: instruction requires: fprcvt193// CHECK-UNKNOWN: 1ef30041 <unknown>194 195fcvtpu d3, h4196// CHECK-INST: fcvtpu d3, h4197// CHECK-ENCODING: [0x83,0x00,0xf3,0x9e]198// CHECK-ERROR: instruction requires: fprcvt199// CHECK-UNKNOWN: 9ef30083 <unknown>200 201fcvtpu d0, s5202// CHECK-INST: fcvtpu d0, s5203// CHECK-ENCODING: [0xa0,0x00,0x33,0x9e]204// CHECK-ERROR: instruction requires: fprcvt205// CHECK-UNKNOWN: 9e3300a0 <unknown>206 207fcvtzs s0, d1208// CHECK-INST: fcvtzs s0, d1209// CHECK-ENCODING: [0x20,0x00,0x76,0x1e]210// CHECK-ERROR: instruction requires: fprcvt211// CHECK-UNKNOWN: 1e760020 <unknown>212 213fcvtzs s1, h2214// CHECK-INST: fcvtzs s1, h2215// CHECK-ENCODING: [0x41,0x00,0xf6,0x1e]216// CHECK-ERROR: instruction requires: fprcvt217// CHECK-UNKNOWN: 1ef60041 <unknown>218 219fcvtzs d3, h4220// CHECK-INST: fcvtzs d3, h4221// CHECK-ENCODING: [0x83,0x00,0xf6,0x9e]222// CHECK-ERROR: instruction requires: fprcvt223// CHECK-UNKNOWN: 9ef60083 <unknown>224 225fcvtzs d0, s5226// CHECK-INST: fcvtzs d0, s5227// CHECK-ENCODING: [0xa0,0x00,0x36,0x9e]228// CHECK-ERROR: instruction requires: fprcvt229// CHECK-UNKNOWN: 9e3600a0 <unknown>230 231fcvtzu s0, d1232// CHECK-INST: fcvtzu s0, d1233// CHECK-ENCODING: [0x20,0x00,0x77,0x1e]234// CHECK-ERROR: instruction requires: fprcvt235// CHECK-UNKNOWN: 1e770020 <unknown>236 237fcvtzu s1, h2238// CHECK-INST: fcvtzu s1, h2239// CHECK-ENCODING: [0x41,0x00,0xf7,0x1e]240// CHECK-ERROR: instruction requires: fprcvt241// CHECK-UNKNOWN: 1ef70041 <unknown>242 243fcvtzu d3, h4244// CHECK-INST: fcvtzu d3, h4245// CHECK-ENCODING: [0x83,0x00,0xf7,0x9e]246// CHECK-ERROR: instruction requires: fprcvt247// CHECK-UNKNOWN: 9ef70083 <unknown>248 249fcvtzu d0, s5250// CHECK-INST: fcvtzu d0, s5251// CHECK-ENCODING: [0xa0,0x00,0x37,0x9e]252// CHECK-ERROR: instruction requires: fprcvt253// CHECK-UNKNOWN: 9e3700a0 <unknown>