[binutils-gdb] aarch64: Add tests for fcvt, fcvtzs and fcvtzu
Alice Carlotti
acarlotti@sourceware.org
Fri May 9 19:37:33 GMT 2025
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=b8fab5284ea586a0c64bc2fa41d52dcc364004d4
commit b8fab5284ea586a0c64bc2fa41d52dcc364004d4
Author: Alice Carlotti <alice.carlotti@arm.com>
Date: Sun Apr 20 23:23:42 2025 +0100
aarch64: Add tests for fcvt, fcvtzs and fcvtzu
Other instructions in the encoding group are tested in float-fp16.d, so
add these instructions to the existing test file.
Diff:
---
gas/testsuite/gas/aarch64/float-fp16.d | 26 ++++++++++++++++++++++++++
gas/testsuite/gas/aarch64/float-fp16.s | 28 ++++++++++++++++++++++++++--
2 files changed, 52 insertions(+), 2 deletions(-)
diff --git a/gas/testsuite/gas/aarch64/float-fp16.d b/gas/testsuite/gas/aarch64/float-fp16.d
index 732a2766915..c7a1200486c 100644
--- a/gas/testsuite/gas/aarch64/float-fp16.d
+++ b/gas/testsuite/gas/aarch64/float-fp16.d
@@ -41,6 +41,24 @@ Disassembly of section \.text:
*[0-9a-f]+: 1ee1c020 fsqrt h0, h1
*[0-9a-f]+: 1e21c020 fsqrt s0, s1
*[0-9a-f]+: 1e61c020 fsqrt d0, d1
+ *[0-9a-f]+: 1ee24000 fcvt s0, h0
+ *[0-9a-f]+: 1ee2401f fcvt s31, h0
+ *[0-9a-f]+: 1ee243e0 fcvt s0, h31
+ *[0-9a-f]+: 1ee2c000 fcvt d0, h0
+ *[0-9a-f]+: 1ee2c01f fcvt d31, h0
+ *[0-9a-f]+: 1ee2c3e0 fcvt d0, h31
+ *[0-9a-f]+: 1e23c000 fcvt h0, s0
+ *[0-9a-f]+: 1e23c01f fcvt h31, s0
+ *[0-9a-f]+: 1e23c3e0 fcvt h0, s31
+ *[0-9a-f]+: 1e22c000 fcvt d0, s0
+ *[0-9a-f]+: 1e22c01f fcvt d31, s0
+ *[0-9a-f]+: 1e22c3e0 fcvt d0, s31
+ *[0-9a-f]+: 1e63c000 fcvt h0, d0
+ *[0-9a-f]+: 1e63c01f fcvt h31, d0
+ *[0-9a-f]+: 1e63c3e0 fcvt h0, d31
+ *[0-9a-f]+: 1e624000 fcvt s0, d0
+ *[0-9a-f]+: 1e62401f fcvt s31, d0
+ *[0-9a-f]+: 1e6243e0 fcvt s0, d31
*[0-9a-f]+: 1ee44020 frintn h0, h1
*[0-9a-f]+: 1e244020 frintn s0, s1
*[0-9a-f]+: 1e644020 frintn d0, d1
@@ -151,6 +169,14 @@ Disassembly of section \.text:
*[0-9a-f]+: 9e710001 fcvtmu x1, d0
*[0-9a-f]+: 1ef10001 fcvtmu w1, h0
*[0-9a-f]+: 9ef10001 fcvtmu x1, h0
+ *[0-9a-f]+: 1e380001 fcvtzs w1, s0
+ *[0-9a-f]+: 9e780001 fcvtzs x1, d0
+ *[0-9a-f]+: 1ef80001 fcvtzs w1, h0
+ *[0-9a-f]+: 9ef80001 fcvtzs x1, h0
+ *[0-9a-f]+: 1e390001 fcvtzu w1, s0
+ *[0-9a-f]+: 9e790001 fcvtzu x1, d0
+ *[0-9a-f]+: 1ef90001 fcvtzu w1, h0
+ *[0-9a-f]+: 9ef90001 fcvtzu x1, h0
*[0-9a-f]+: 1e220020 scvtf s0, w1
*[0-9a-f]+: 9e620020 scvtf d0, x1
*[0-9a-f]+: 1ee20020 scvtf h0, w1
diff --git a/gas/testsuite/gas/aarch64/float-fp16.s b/gas/testsuite/gas/aarch64/float-fp16.s
index 0c3003807ab..e5d13bd24b4 100644
--- a/gas/testsuite/gas/aarch64/float-fp16.s
+++ b/gas/testsuite/gas/aarch64/float-fp16.s
@@ -43,11 +43,30 @@
.endm
.text
- .irp op, fabs, fneg, fsqrt, frintn, frintp, frintm, frintz
+ .irp op, fabs, fneg, fsqrt
sdp1src \op
.endr
- .irp op, frinta, frintx, frinti
+ fcvt s0, h0
+ fcvt s31, h0
+ fcvt s0, h31
+ fcvt d0, h0
+ fcvt d31, h0
+ fcvt d0, h31
+ fcvt h0, s0
+ fcvt h31, s0
+ fcvt h0, s31
+ fcvt d0, s0
+ fcvt d31, s0
+ fcvt d0, s31
+ fcvt h0, d0
+ fcvt h31, d0
+ fcvt h0, d31
+ fcvt s0, d0
+ fcvt s31, d0
+ fcvt s0, d31
+
+ .irp op, frintn, frintp, frintm, frintz, frinta, frintx, frinti
sdp1src \op
.endr
@@ -128,6 +147,11 @@
scvt_fp2int \op
.endr
+ .text
+ .irp op, fcvtzs, fcvtzu
+ scvt_fp2int \op
+ .endr
+
.irp op, scvtf, ucvtf
scvt_int2fp \op
.endr
More information about the Binutils-cvs
mailing list