[PATCH] VAX: VAX MACRO compatible ./type/_floating, testcase for flonums
Jan-Benedict Glaw
jbglaw@microdata-pos.de
Wed Mar 30 19:23:00 GMT 2005
Hi!
I thought it would be somewhat useful to allow
.h_floating 1234.46
as well as .hfloat , to be compatibel to what the VAX MACRO
assembler offers. This patch also adds a testcase for flonums.
I've written a standalone C program to verify the resulting binary
representation. Cross-checked (hosted on PC) for vax-{linux,ultrix,
netbsd,netbsdelf}.
2005-03-30 Jan-Benedict Glaw <jbglaw@lug-owl.de>
gas/
* NEWS: Mention [fdgh]_floating.
gas/config/
* atof-vax.c: Fix some whitespace.
* tc-vax.c: (md_pseudo_table) Add "[fdgh]_floating".
gas/testsuite/gas/vax/
* flonum.s: New testcase: encode some flonums.
* flonum.d: Expected result of new testcase.
* vax.exp: Call new testcase.
diff -Nurp src-fresh/gas/config/atof-vax.c src-hacked/gas/config/atof-vax.c
--- src-fresh/gas/config/atof-vax.c 2005-03-23 12:42:27.000000000 +0100
+++ src-hacked/gas/config/atof-vax.c 2005-03-29 23:26:40.000000000 +0200
@@ -29,7 +29,7 @@
#define F_PRECISION 2
/* Length in LittleNums of guard bits. */
-#define GUARD 2
+#define GUARD 2
int flonum_gen2vax (int, FLONUM_TYPE *, LITTLENUM_TYPE *);
diff -Nurp src-fresh/gas/config/tc-vax.c src-hacked/gas/config/tc-vax.c
--- src-fresh/gas/config/tc-vax.c 2005-02-23 13:28:06.000000000 +0100
+++ src-hacked/gas/config/tc-vax.c 2005-03-29 23:32:19.000000000 +0200
@@ -251,6 +251,10 @@ const pseudo_typeS md_pseudo_table[] =
{"ffloat", float_cons, 'f'},
{"gfloat", float_cons, 'g'},
{"hfloat", float_cons, 'h'},
+ {"d_floating", float_cons, 'd'},
+ {"f_floating", float_cons, 'f'},
+ {"g_floating", float_cons, 'g'},
+ {"h_floating", float_cons, 'h'},
{NULL, NULL, 0},
};
diff -Nurp src-fresh/gas/NEWS src-hacked/gas/NEWS
--- src-fresh/gas/NEWS 2005-03-29 22:11:39.000000000 +0200
+++ src-hacked/gas/NEWS 2005-03-30 12:32:17.000000000 +0200
@@ -1,5 +1,8 @@
-*- text -*-
+* Allow .f_floating, .d_floating, .g_floating and .h_floating for
+ VAX targets to be more compatible to VAX MACRO.
+
* New command line option -mtune=[itanium1|itanium2] for IA64 targets.
Changes in 2.16:
diff -Nurp src-fresh/gas/testsuite/gas/vax/flonum.d src-hacked/gas/testsuite/gas/vax/flonum.d
--- src-fresh/gas/testsuite/gas/vax/flonum.d 1970-01-01 01:00:00.000000000 +0100
+++ src-hacked/gas/testsuite/gas/vax/flonum.d 2005-03-30 11:48:15.000000000 +0200
@@ -0,0 +1,13 @@
+#objdump: -sw
+#name: VAX flonum test
+
+.*: file format .*
+
+Contents of section .data:
+ 0000 fc3e5bd3 9e401006 1641751f 5d41e23b .*
+ 0010 5d2e5de1 9241272c 37a6ce36 b5418cb9 .*
+ 0020 287e0b24 3b40f227 c83c2bde 3f407b8f .*
+ 0030 069ee40f 0440d61c 4ce09205 3810675c .*
+ 0040 e3df062a 04406520 db16d80d d72f205e .*
+ 0050 c746ae64 .*
+
diff -Nurp src-fresh/gas/testsuite/gas/vax/flonum.s src-hacked/gas/testsuite/gas/vax/flonum.s
--- src-fresh/gas/testsuite/gas/vax/flonum.s 1970-01-01 01:00:00.000000000 +0100
+++ src-hacked/gas/testsuite/gas/vax/flonum.s 2005-03-30 11:42:39.000000000 +0200
@@ -0,0 +1,13 @@
+.data
+
+.float 0.12345
+.ffloat 1.23456
+.f_floating 2.34567
+.double 3.45678
+.dfloat 4.56789
+.d_floating 5.67890
+.gfloat 6.78901
+.g_floating 7.89012
+.hfloat 8.90123
+.h_floating 9.01234
+
diff -Nurp src-fresh/gas/testsuite/gas/vax/vax.exp src-hacked/gas/testsuite/gas/vax/vax.exp
--- src-fresh/gas/testsuite/gas/vax/vax.exp 2003-12-03 16:07:17.000000000 +0100
+++ src-hacked/gas/testsuite/gas/vax/vax.exp 2005-03-29 23:43:18.000000000 +0200
@@ -29,6 +29,8 @@ proc do_quad {} {
if [istarget vax-*-* ] then {
do_quad
+ run_dump_test "flonum"
+
if [istarget vax-*-*elf*] {
run_dump_test "elf-rel"
}
MfG, JBG
--
AWEK microdata GmbH -- Am Wellbach 4 -- 33609 Bielefeld
More information about the Binutils
mailing list