// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+fprcvt < %s \ // RUN: | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \ // RUN: | FileCheck %s --check-prefix=CHECK-ERROR // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+fprcvt < %s \ // RUN: | llvm-objdump -d --mattr=+fprcvt - | FileCheck %s --check-prefix=CHECK-INST // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+fprcvt < %s \ // RUN: | llvm-objdump -d --no-print-imm-hex --mattr=-fprcvt - | FileCheck %s --check-prefix=CHECK-UNKNOWN // Disassemble encoding and check the re-encoding (-show-encoding) matches. // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+fprcvt < %s \ // RUN: | sed '/.text/d' | sed 's/.*encoding: //g' \ // RUN: | llvm-mc -triple=aarch64 -mattr=+fprcvt -disassemble -show-encoding \ // RUN: | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST fcvtas s0, d1 // CHECK-INST: fcvtas s0, d1 // CHECK-ENCODING: [0x20,0x00,0x7a,0x1e] // CHECK-ERROR: instruction requires: fprcvt // CHECK-UNKNOWN: 1e7a0020 fcvtas s1, h2 // CHECK-INST: fcvtas s1, h2 // CHECK-ENCODING: [0x41,0x00,0xfa,0x1e] // CHECK-ERROR: instruction requires: fprcvt // CHECK-UNKNOWN: 1efa0041 fcvtas d3, h4 // CHECK-INST: fcvtas d3, h4 // CHECK-ENCODING: [0x83,0x00,0xfa,0x9e] // CHECK-ERROR: instruction requires: fprcvt // CHECK-UNKNOWN: 9efa0083 fcvtas d0, s5 // CHECK-INST: fcvtas d0, s5 // CHECK-ENCODING: [0xa0,0x00,0x3a,0x9e] // CHECK-ERROR: instruction requires: fprcvt // CHECK-UNKNOWN: 9e3a00a0 fcvtau s0, d1 // CHECK-INST: fcvtau s0, d1 // CHECK-ENCODING: [0x20,0x00,0x7b,0x1e] // CHECK-ERROR: instruction requires: fprcvt // CHECK-UNKNOWN: 1e7b0020 fcvtau s1, h2 // CHECK-INST: fcvtau s1, h2 // CHECK-ENCODING: [0x41,0x00,0xfb,0x1e] // CHECK-ERROR: instruction requires: fprcvt // CHECK-UNKNOWN: 1efb0041 fcvtau d3, h4 // CHECK-INST: fcvtau d3, h4 // CHECK-ENCODING: [0x83,0x00,0xfb,0x9e] // CHECK-ERROR: instruction requires: fprcvt // CHECK-UNKNOWN: 9efb0083 fcvtau d0, s5 // CHECK-INST: fcvtau d0, s5 // CHECK-ENCODING: [0xa0,0x00,0x3b,0x9e] // CHECK-ERROR: instruction requires: fprcvt // CHECK-UNKNOWN: 9e3b00a0 fcvtms s0, d1 // CHECK-INST: fcvtms s0, d1 // CHECK-ENCODING: [0x20,0x00,0x74,0x1e] // CHECK-ERROR: instruction requires: fprcvt // CHECK-UNKNOWN: 1e740020 fcvtms s1, h2 // CHECK-INST: fcvtms s1, h2 // CHECK-ENCODING: [0x41,0x00,0xf4,0x1e] // CHECK-ERROR: instruction requires: fprcvt // CHECK-UNKNOWN: 1ef40041 fcvtms d3, h4 // CHECK-INST: fcvtms d3, h4 // CHECK-ENCODING: [0x83,0x00,0xf4,0x9e] // CHECK-ERROR: instruction requires: fprcvt // CHECK-UNKNOWN: 9ef40083 fcvtms d0, s5 // CHECK-INST: fcvtms d0, s5 // CHECK-ENCODING: [0xa0,0x00,0x34,0x9e] // CHECK-ERROR: instruction requires: fprcvt // CHECK-UNKNOWN: 9e3400a0 fcvtmu s0, d1 // CHECK-INST: fcvtmu s0, d1 // CHECK-ENCODING: [0x20,0x00,0x75,0x1e] // CHECK-ERROR: instruction requires: fprcvt // CHECK-UNKNOWN: 1e750020 fcvtmu s1, h2 // CHECK-INST: fcvtmu s1, h2 // CHECK-ENCODING: [0x41,0x00,0xf5,0x1e] // CHECK-ERROR: instruction requires: fprcvt // CHECK-UNKNOWN: 1ef50041 fcvtmu d3, h4 // CHECK-INST: fcvtmu d3, h4 // CHECK-ENCODING: [0x83,0x00,0xf5,0x9e] // CHECK-ERROR: instruction requires: fprcvt // CHECK-UNKNOWN: 9ef50083 fcvtmu d0, s5 // CHECK-INST: fcvtmu d0, s5 // CHECK-ENCODING: [0xa0,0x00,0x35,0x9e] // CHECK-ERROR: instruction requires: fprcvt // CHECK-UNKNOWN: 9e3500a0 fcvtns s0, d1 // CHECK-INST: fcvtns s0, d1 // CHECK-ENCODING: [0x20,0x00,0x6a,0x1e] // CHECK-ERROR: instruction requires: fprcvt // CHECK-UNKNOWN: 1e6a0020 fcvtns s1, h2 // CHECK-INST: fcvtns s1, h2 // CHECK-ENCODING: [0x41,0x00,0xea,0x1e] // CHECK-ERROR: instruction requires: fprcvt // CHECK-UNKNOWN: 1eea0041 fcvtns d3, h4 // CHECK-INST: fcvtns d3, h4 // CHECK-ENCODING: [0x83,0x00,0xea,0x9e] // CHECK-ERROR: instruction requires: fprcvt // CHECK-UNKNOWN: 9eea0083 fcvtns d0, s5 // CHECK-INST: fcvtns d0, s5 // CHECK-ENCODING: [0xa0,0x00,0x2a,0x9e] // CHECK-ERROR: instruction requires: fprcvt // CHECK-UNKNOWN: 9e2a00a0 fcvtnu s0, d1 // CHECK-INST: fcvtnu s0, d1 // CHECK-ENCODING: [0x20,0x00,0x6b,0x1e] // CHECK-ERROR: instruction requires: fprcvt // CHECK-UNKNOWN: 1e6b0020 fcvtnu s1, h2 // CHECK-INST: fcvtnu s1, h2 // CHECK-ENCODING: [0x41,0x00,0xeb,0x1e] // CHECK-ERROR: instruction requires: fprcvt // CHECK-UNKNOWN: 1eeb0041 fcvtnu d3, h4 // CHECK-INST: fcvtnu d3, h4 // CHECK-ENCODING: [0x83,0x00,0xeb,0x9e] // CHECK-ERROR: instruction requires: fprcvt // CHECK-UNKNOWN: 9eeb0083 fcvtnu d0, s5 // CHECK-INST: fcvtnu d0, s5 // CHECK-ENCODING: [0xa0,0x00,0x2b,0x9e] // CHECK-ERROR: instruction requires: fprcvt // CHECK-UNKNOWN: 9e2b00a0 fcvtps s0, d1 // CHECK-INST: fcvtps s0, d1 // CHECK-ENCODING: [0x20,0x00,0x72,0x1e] // CHECK-ERROR: instruction requires: fprcvt // CHECK-UNKNOWN: 1e720020 fcvtps s1, h2 // CHECK-INST: fcvtps s1, h2 // CHECK-ENCODING: [0x41,0x00,0xf2,0x1e] // CHECK-ERROR: instruction requires: fprcvt // CHECK-UNKNOWN: 1ef20041 fcvtps d3, h4 // CHECK-INST: fcvtps d3, h4 // CHECK-ENCODING: [0x83,0x00,0xf2,0x9e] // CHECK-ERROR: instruction requires: fprcvt // CHECK-UNKNOWN: 9ef20083 fcvtps d0, s5 // CHECK-INST: fcvtps d0, s5 // CHECK-ENCODING: [0xa0,0x00,0x32,0x9e] // CHECK-ERROR: instruction requires: fprcvt // CHECK-UNKNOWN: 9e3200a0 fcvtpu s0, d1 // CHECK-INST: fcvtpu s0, d1 // CHECK-ENCODING: [0x20,0x00,0x73,0x1e] // CHECK-ERROR: instruction requires: fprcvt // CHECK-UNKNOWN: 1e730020 fcvtpu s1, h2 // CHECK-INST: fcvtpu s1, h2 // CHECK-ENCODING: [0x41,0x00,0xf3,0x1e] // CHECK-ERROR: instruction requires: fprcvt // CHECK-UNKNOWN: 1ef30041 fcvtpu d3, h4 // CHECK-INST: fcvtpu d3, h4 // CHECK-ENCODING: [0x83,0x00,0xf3,0x9e] // CHECK-ERROR: instruction requires: fprcvt // CHECK-UNKNOWN: 9ef30083 fcvtpu d0, s5 // CHECK-INST: fcvtpu d0, s5 // CHECK-ENCODING: [0xa0,0x00,0x33,0x9e] // CHECK-ERROR: instruction requires: fprcvt // CHECK-UNKNOWN: 9e3300a0 fcvtzs s0, d1 // CHECK-INST: fcvtzs s0, d1 // CHECK-ENCODING: [0x20,0x00,0x76,0x1e] // CHECK-ERROR: instruction requires: fprcvt // CHECK-UNKNOWN: 1e760020 fcvtzs s1, h2 // CHECK-INST: fcvtzs s1, h2 // CHECK-ENCODING: [0x41,0x00,0xf6,0x1e] // CHECK-ERROR: instruction requires: fprcvt // CHECK-UNKNOWN: 1ef60041 fcvtzs d3, h4 // CHECK-INST: fcvtzs d3, h4 // CHECK-ENCODING: [0x83,0x00,0xf6,0x9e] // CHECK-ERROR: instruction requires: fprcvt // CHECK-UNKNOWN: 9ef60083 fcvtzs d0, s5 // CHECK-INST: fcvtzs d0, s5 // CHECK-ENCODING: [0xa0,0x00,0x36,0x9e] // CHECK-ERROR: instruction requires: fprcvt // CHECK-UNKNOWN: 9e3600a0 fcvtzu s0, d1 // CHECK-INST: fcvtzu s0, d1 // CHECK-ENCODING: [0x20,0x00,0x77,0x1e] // CHECK-ERROR: instruction requires: fprcvt // CHECK-UNKNOWN: 1e770020 fcvtzu s1, h2 // CHECK-INST: fcvtzu s1, h2 // CHECK-ENCODING: [0x41,0x00,0xf7,0x1e] // CHECK-ERROR: instruction requires: fprcvt // CHECK-UNKNOWN: 1ef70041 fcvtzu d3, h4 // CHECK-INST: fcvtzu d3, h4 // CHECK-ENCODING: [0x83,0x00,0xf7,0x9e] // CHECK-ERROR: instruction requires: fprcvt // CHECK-UNKNOWN: 9ef70083 fcvtzu d0, s5 // CHECK-INST: fcvtzu d0, s5 // CHECK-ENCODING: [0xa0,0x00,0x37,0x9e] // CHECK-ERROR: instruction requires: fprcvt // CHECK-UNKNOWN: 9e3700a0