|
@@ -1,33 +1,35 @@
|
|
|
-Upstream-Status: Inappropriate [configuration]
|
|
|
+From 3503f7f3845caba454949fdf8408e85ca4fdb943 Mon Sep 17 00:00:00 2001
|
|
|
+From: Zong Li <zong.li@sifive.com>
|
|
|
+Date: Wed, 6 May 2020 01:25:55 -0700
|
|
|
+Subject: [PATCH] Makefile for cross compile TestFloat 3e
|
|
|
|
|
|
-From 9aa4a416f05967320c1aa52bdccfe105a3bf3269 Mon Sep 17 00:00:00 2001
|
|
|
-From: Fabio Berton <fabio.berton@ossystems.com.br>
|
|
|
-Date: Thu, 4 Feb 2016 09:16:09 -0200
|
|
|
-Subject: [PATCH 2/2] Makefile for cross compile TestFloat
|
|
|
+This commit adds a Makefile for cross compile on TestFloat
|
|
|
+3e version. Almost implementation is based on meta-oe porting
|
|
|
+from Fabio Berton <fabio.berton@ossystems.com.br>.
|
|
|
|
|
|
-Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br>
|
|
|
+Signed-off-by: Zong Li <zongbox@gmail.com>
|
|
|
---
|
|
|
- TestFloat-3a/build/Linux-Cross-Compile/Makefile | 321 ++++++++++++++++++++++
|
|
|
- TestFloat-3a/build/Linux-Cross-Compile/platform.h | 45 +++
|
|
|
- 2 files changed, 366 insertions(+)
|
|
|
- create mode 100644 TestFloat-3a/build/Linux-Cross-Compile/Makefile
|
|
|
- create mode 100644 TestFloat-3a/build/Linux-Cross-Compile/platform.h
|
|
|
+ TestFloat-3e/build/Linux-Cross-Compile/Makefile | 353 ++++++++++++++++++++++
|
|
|
+ TestFloat-3e/build/Linux-Cross-Compile/platform.h | 48 +++
|
|
|
+ 2 files changed, 401 insertions(+)
|
|
|
+ create mode 100644 TestFloat-3e/build/Linux-Cross-Compile/Makefile
|
|
|
+ create mode 100644 TestFloat-3e/build/Linux-Cross-Compile/platform.h
|
|
|
|
|
|
-diff --git a/TestFloat-3a/build/Linux-Cross-Compile/Makefile b/TestFloat-3a/build/Linux-Cross-Compile/Makefile
|
|
|
+diff --git a/TestFloat-3e/build/Linux-Cross-Compile/Makefile b/TestFloat-3e/build/Linux-Cross-Compile/Makefile
|
|
|
new file mode 100644
|
|
|
-index 0000000..a89326a
|
|
|
+index 0000000..d82b9ed
|
|
|
--- /dev/null
|
|
|
-+++ b/TestFloat-3a/build/Linux-Cross-Compile/Makefile
|
|
|
-@@ -0,0 +1,321 @@
|
|
|
++++ b/TestFloat-3e/build/Linux-Cross-Compile/Makefile
|
|
|
+@@ -0,0 +1,353 @@
|
|
|
+
|
|
|
+#=============================================================================
|
|
|
+#
|
|
|
-+# This Makefile is part of TestFloat, Release 3a, a package of programs for
|
|
|
-+# testing the correctness of floating-point arithmetic complying with the IEEE
|
|
|
-+# Standard for Floating-Point, by John R. Hauser.
|
|
|
++# This Makefile template is part of TestFloat, Release 3b, a package of
|
|
|
++# programs for testing the correctness of floating-point arithmetic complying
|
|
|
++# with the IEEE Standard for Floating-Point, by John R. Hauser.
|
|
|
+#
|
|
|
-+# Copyright 2011, 2012, 2013, 2014, 2015 The Regents of the University of
|
|
|
-+# California. All rights reserved.
|
|
|
++# Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University
|
|
|
++# of California. All rights reserved.
|
|
|
+#
|
|
|
+# Redistribution and use in source and binary forms, with or without
|
|
|
+# modification, are permitted provided that the following conditions are met:
|
|
@@ -56,28 +58,29 @@ index 0000000..a89326a
|
|
|
+#
|
|
|
+#=============================================================================
|
|
|
+
|
|
|
-+SOURCE_DIR = ../../source
|
|
|
++SOURCE_DIR ?= ../../source
|
|
|
++SOFTFLOAT_DIR ?= ../../../SoftFloat-3e
|
|
|
++PLATFORM ?= Linux-Cross-Compile
|
|
|
++
|
|
|
+SUBJ_SOURCE_DIR = $(SOURCE_DIR)/subj-C
|
|
|
-+SOFTFLOAT_DIR = ../../../SoftFloat-3a
|
|
|
+SOFTFLOAT_INCLUDE_DIR = $(SOFTFLOAT_DIR)/source/include
|
|
|
-+PLATFORM = Linux-Cross-Compile
|
|
|
+
|
|
|
+SOFTFLOAT_H = \
|
|
|
+ $(SOFTFLOAT_INCLUDE_DIR)/softfloat_types.h \
|
|
|
+ $(SOFTFLOAT_INCLUDE_DIR)/softfloat.h
|
|
|
+SOFTFLOAT_LIB = $(SOFTFLOAT_DIR)/build/$(PLATFORM)/softfloat$(LIB)
|
|
|
+
|
|
|
-+TESTFLOAT_OPTS = -DEXTFLOAT80 -DFLOAT128 -DLONG_DOUBLE_IS_EXTFLOAT80 -fgnu89-inline
|
|
|
++TESTFLOAT_OPTS ?= -DFLOAT16 -DFLOAT64 -DEXTFLOAT80 -DFLOAT128 -DFLOAT_ROUND_ODD
|
|
|
+
|
|
|
+DELETE = rm -f
|
|
|
+C_INCLUDES = \
|
|
|
+ -I. -I$(SUBJ_SOURCE_DIR) -I$(SOURCE_DIR) -I$(SOFTFLOAT_INCLUDE_DIR)
|
|
|
+COMPILE_C = \
|
|
|
-+ ${CC} -c -Werror-implicit-function-declaration $(TESTFLOAT_OPTS) \
|
|
|
-+ $(C_INCLUDES) -O2 -o $@
|
|
|
++ ${CC} -c -Werror-implicit-function-declaration \
|
|
|
++ $(TESTFLOAT_OPTS) $(C_INCLUDES) -O2 -o $@
|
|
|
+COMPILE_SLOWFLOAT_C = \
|
|
|
-+ ${CC} -c -Werror-implicit-function-declaration $(TESTFLOAT_OPTS) \
|
|
|
-+ $(C_INCLUDES) -O3 -o $@
|
|
|
++ ${CC} -c -Werror-implicit-function-declaration \
|
|
|
++ $(TESTFLOAT_OPTS) $(C_INCLUDES) -O3 -o $@
|
|
|
+MAKELIB = ${AR} crs $@
|
|
|
+LINK = ${CC} -o $@ ${LDFLAGS}
|
|
|
+OTHER_LIBS = -lm
|
|
@@ -99,6 +102,7 @@ index 0000000..a89326a
|
|
|
+ genCases_ui64$(OBJ) \
|
|
|
+ genCases_i32$(OBJ) \
|
|
|
+ genCases_i64$(OBJ) \
|
|
|
++ genCases_f16$(OBJ) \
|
|
|
+ genCases_f32$(OBJ) \
|
|
|
+ genCases_f64$(OBJ) \
|
|
|
+ genCases_extF80$(OBJ) \
|
|
@@ -107,6 +111,9 @@ index 0000000..a89326a
|
|
|
+OBJS_WRITECASE = \
|
|
|
+ writeCase_a_ui32$(OBJ) \
|
|
|
+ writeCase_a_ui64$(OBJ) \
|
|
|
++ writeCase_a_f16$(OBJ) \
|
|
|
++ writeCase_ab_f16$(OBJ) \
|
|
|
++ writeCase_abc_f16$(OBJ) \
|
|
|
+ writeCase_a_f32$(OBJ) \
|
|
|
+ writeCase_ab_f32$(OBJ) \
|
|
|
+ writeCase_abc_f32$(OBJ) \
|
|
@@ -115,35 +122,56 @@ index 0000000..a89326a
|
|
|
+ writeCase_abc_f64$(OBJ) \
|
|
|
+ writeCase_a_extF80M$(OBJ) \
|
|
|
+ writeCase_ab_extF80M$(OBJ) \
|
|
|
-+ writeCase_abc_extF80M$(OBJ) \
|
|
|
+ writeCase_a_f128M$(OBJ) \
|
|
|
+ writeCase_ab_f128M$(OBJ) \
|
|
|
+ writeCase_abc_f128M$(OBJ) \
|
|
|
+ writeCase_z_bool$(OBJ) \
|
|
|
+ writeCase_z_ui32$(OBJ) \
|
|
|
+ writeCase_z_ui64$(OBJ) \
|
|
|
++ writeCase_z_f16$(OBJ) \
|
|
|
+ writeCase_z_f32$(OBJ) \
|
|
|
+ writeCase_z_f64$(OBJ) \
|
|
|
+ writeCase_z_extF80M$(OBJ) \
|
|
|
+ writeCase_z_f128M$(OBJ) \
|
|
|
+
|
|
|
+OBJS_TEST = \
|
|
|
++ test_a_ui32_z_f16$(OBJ) \
|
|
|
+ test_a_ui32_z_f32$(OBJ) \
|
|
|
+ test_a_ui32_z_f64$(OBJ) \
|
|
|
+ test_a_ui32_z_extF80$(OBJ) \
|
|
|
+ test_a_ui32_z_f128$(OBJ) \
|
|
|
++ test_a_ui64_z_f16$(OBJ) \
|
|
|
+ test_a_ui64_z_f32$(OBJ) \
|
|
|
+ test_a_ui64_z_f64$(OBJ) \
|
|
|
+ test_a_ui64_z_extF80$(OBJ) \
|
|
|
+ test_a_ui64_z_f128$(OBJ) \
|
|
|
++ test_a_i32_z_f16$(OBJ) \
|
|
|
+ test_a_i32_z_f32$(OBJ) \
|
|
|
+ test_a_i32_z_f64$(OBJ) \
|
|
|
+ test_a_i32_z_extF80$(OBJ) \
|
|
|
+ test_a_i32_z_f128$(OBJ) \
|
|
|
++ test_a_i64_z_f16$(OBJ) \
|
|
|
+ test_a_i64_z_f32$(OBJ) \
|
|
|
+ test_a_i64_z_f64$(OBJ) \
|
|
|
+ test_a_i64_z_extF80$(OBJ) \
|
|
|
+ test_a_i64_z_f128$(OBJ) \
|
|
|
++ test_a_f16_z_ui32_rx$(OBJ) \
|
|
|
++ test_a_f16_z_ui64_rx$(OBJ) \
|
|
|
++ test_a_f16_z_i32_rx$(OBJ) \
|
|
|
++ test_a_f16_z_i64_rx$(OBJ) \
|
|
|
++ test_a_f16_z_ui32_x$(OBJ) \
|
|
|
++ test_a_f16_z_ui64_x$(OBJ) \
|
|
|
++ test_a_f16_z_i32_x$(OBJ) \
|
|
|
++ test_a_f16_z_i64_x$(OBJ) \
|
|
|
++ test_a_f16_z_f32$(OBJ) \
|
|
|
++ test_a_f16_z_f64$(OBJ) \
|
|
|
++ test_a_f16_z_extF80$(OBJ) \
|
|
|
++ test_a_f16_z_f128$(OBJ) \
|
|
|
++ test_az_f16$(OBJ) \
|
|
|
++ test_az_f16_rx$(OBJ) \
|
|
|
++ test_abz_f16$(OBJ) \
|
|
|
++ test_abcz_f16$(OBJ) \
|
|
|
++ test_ab_f16_z_bool$(OBJ) \
|
|
|
+ test_a_f32_z_ui32_rx$(OBJ) \
|
|
|
+ test_a_f32_z_ui64_rx$(OBJ) \
|
|
|
+ test_a_f32_z_i32_rx$(OBJ) \
|
|
@@ -152,6 +180,7 @@ index 0000000..a89326a
|
|
|
+ test_a_f32_z_ui64_x$(OBJ) \
|
|
|
+ test_a_f32_z_i32_x$(OBJ) \
|
|
|
+ test_a_f32_z_i64_x$(OBJ) \
|
|
|
++ test_a_f32_z_f16$(OBJ) \
|
|
|
+ test_a_f32_z_f64$(OBJ) \
|
|
|
+ test_a_f32_z_extF80$(OBJ) \
|
|
|
+ test_a_f32_z_f128$(OBJ) \
|
|
@@ -168,6 +197,7 @@ index 0000000..a89326a
|
|
|
+ test_a_f64_z_ui64_x$(OBJ) \
|
|
|
+ test_a_f64_z_i32_x$(OBJ) \
|
|
|
+ test_a_f64_z_i64_x$(OBJ) \
|
|
|
++ test_a_f64_z_f16$(OBJ) \
|
|
|
+ test_a_f64_z_f32$(OBJ) \
|
|
|
+ test_a_f64_z_extF80$(OBJ) \
|
|
|
+ test_a_f64_z_f128$(OBJ) \
|
|
@@ -184,6 +214,7 @@ index 0000000..a89326a
|
|
|
+ test_a_extF80_z_ui64_x$(OBJ) \
|
|
|
+ test_a_extF80_z_i32_x$(OBJ) \
|
|
|
+ test_a_extF80_z_i64_x$(OBJ) \
|
|
|
++ test_a_extF80_z_f16$(OBJ) \
|
|
|
+ test_a_extF80_z_f32$(OBJ) \
|
|
|
+ test_a_extF80_z_f64$(OBJ) \
|
|
|
+ test_a_extF80_z_f128$(OBJ) \
|
|
@@ -199,6 +230,7 @@ index 0000000..a89326a
|
|
|
+ test_a_f128_z_ui64_x$(OBJ) \
|
|
|
+ test_a_f128_z_i32_x$(OBJ) \
|
|
|
+ test_a_f128_z_i64_x$(OBJ) \
|
|
|
++ test_a_f128_z_f16$(OBJ) \
|
|
|
+ test_a_f128_z_f32$(OBJ) \
|
|
|
+ test_a_f128_z_f64$(OBJ) \
|
|
|
+ test_a_f128_z_extF80$(OBJ) \
|
|
@@ -209,6 +241,7 @@ index 0000000..a89326a
|
|
|
+ test_ab_f128_z_bool$(OBJ) \
|
|
|
+
|
|
|
+OBJS_LIB = \
|
|
|
++ uint128_inline$(OBJ) \
|
|
|
+ uint128$(OBJ) \
|
|
|
+ fail$(OBJ) \
|
|
|
+ functions_common$(OBJ) \
|
|
@@ -218,6 +251,7 @@ index 0000000..a89326a
|
|
|
+ genCases_common$(OBJ) \
|
|
|
+ $(OBJS_GENCASES) \
|
|
|
+ genCases_writeTestsTotal$(OBJ) \
|
|
|
++ verCases_inline$(OBJ) \
|
|
|
+ verCases_common$(OBJ) \
|
|
|
+ verCases_writeFunctionName$(OBJ) \
|
|
|
+ readHex$(OBJ) \
|
|
@@ -340,21 +374,21 @@ index 0000000..a89326a
|
|
|
+ $(DELETE) $(OBJS_TESTFLOAT_VER) testfloat_ver$(EXE)
|
|
|
+ $(DELETE) $(OBJS_TESTFLOAT) testfloat$(EXE)
|
|
|
+
|
|
|
-diff --git a/TestFloat-3a/build/Linux-Cross-Compile/platform.h b/TestFloat-3a/build/Linux-Cross-Compile/platform.h
|
|
|
+diff --git a/TestFloat-3e/build/Linux-Cross-Compile/platform.h b/TestFloat-3e/build/Linux-Cross-Compile/platform.h
|
|
|
new file mode 100644
|
|
|
-index 0000000..09e63a0
|
|
|
+index 0000000..487a43b
|
|
|
--- /dev/null
|
|
|
-+++ b/TestFloat-3a/build/Linux-Cross-Compile/platform.h
|
|
|
-@@ -0,0 +1,45 @@
|
|
|
++++ b/TestFloat-3e/build/Linux-Cross-Compile/platform.h
|
|
|
+@@ -0,0 +1,48 @@
|
|
|
+
|
|
|
+/*============================================================================
|
|
|
+
|
|
|
-+This C header file is part of TestFloat, Release 3a, a package of programs for
|
|
|
-+testing the correctness of floating-point arithmetic complying with the IEEE
|
|
|
-+Standard for Floating-Point, by John R. Hauser.
|
|
|
++This C header template is part of TestFloat, Release 3e, a package of programs
|
|
|
++for testing the correctness of floating-point arithmetic complying with the
|
|
|
++IEEE Standard for Floating-Point, by John R. Hauser.
|
|
|
+
|
|
|
-+Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
|
|
|
-+All rights reserved.
|
|
|
++Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
|
|
|
++California. All rights reserved.
|
|
|
+
|
|
|
+Redistribution and use in source and binary forms, with or without
|
|
|
+modification, are permitted provided that the following conditions are met:
|
|
@@ -389,8 +423,11 @@ index 0000000..09e63a0
|
|
|
+
|
|
|
+/*----------------------------------------------------------------------------
|
|
|
+*----------------------------------------------------------------------------*/
|
|
|
++#ifdef __GNUC_STDC_INLINE__
|
|
|
++#define INLINE inline
|
|
|
++#else
|
|
|
+#define INLINE extern inline
|
|
|
-+
|
|
|
++#endif
|
|
|
--
|
|
|
-2.1.4
|
|
|
+2.7.4
|
|
|
|