[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