Andrew Geissler | 7f40b71 | 2020-05-15 14:09:53 -0500 | [diff] [blame] | 1 | From 3503f7f3845caba454949fdf8408e85ca4fdb943 Mon Sep 17 00:00:00 2001 |
| 2 | From: Zong Li <zong.li@sifive.com> |
| 3 | Date: Wed, 6 May 2020 01:25:55 -0700 |
| 4 | Subject: [PATCH] Makefile for cross compile TestFloat 3e |
Patrick Williams | b48b7b4 | 2016-08-17 15:04:38 -0500 | [diff] [blame] | 5 | |
Andrew Geissler | 7f40b71 | 2020-05-15 14:09:53 -0500 | [diff] [blame] | 6 | This commit adds a Makefile for cross compile on TestFloat |
| 7 | 3e version. Almost implementation is based on meta-oe porting |
| 8 | from Fabio Berton <fabio.berton@ossystems.com.br>. |
Patrick Williams | b48b7b4 | 2016-08-17 15:04:38 -0500 | [diff] [blame] | 9 | |
Andrew Geissler | 7f40b71 | 2020-05-15 14:09:53 -0500 | [diff] [blame] | 10 | Signed-off-by: Zong Li <zongbox@gmail.com> |
Patrick Williams | b48b7b4 | 2016-08-17 15:04:38 -0500 | [diff] [blame] | 11 | --- |
Patrick Williams | 520786c | 2023-06-25 16:20:36 -0500 | [diff] [blame^] | 12 | Upstream-Status: Pending |
| 13 | |
Andrew Geissler | 7f40b71 | 2020-05-15 14:09:53 -0500 | [diff] [blame] | 14 | TestFloat-3e/build/Linux-Cross-Compile/Makefile | 353 ++++++++++++++++++++++ |
| 15 | TestFloat-3e/build/Linux-Cross-Compile/platform.h | 48 +++ |
| 16 | 2 files changed, 401 insertions(+) |
| 17 | create mode 100644 TestFloat-3e/build/Linux-Cross-Compile/Makefile |
| 18 | create mode 100644 TestFloat-3e/build/Linux-Cross-Compile/platform.h |
Patrick Williams | b48b7b4 | 2016-08-17 15:04:38 -0500 | [diff] [blame] | 19 | |
Andrew Geissler | 7f40b71 | 2020-05-15 14:09:53 -0500 | [diff] [blame] | 20 | diff --git a/TestFloat-3e/build/Linux-Cross-Compile/Makefile b/TestFloat-3e/build/Linux-Cross-Compile/Makefile |
Patrick Williams | b48b7b4 | 2016-08-17 15:04:38 -0500 | [diff] [blame] | 21 | new file mode 100644 |
Andrew Geissler | 7f40b71 | 2020-05-15 14:09:53 -0500 | [diff] [blame] | 22 | index 0000000..d82b9ed |
Patrick Williams | b48b7b4 | 2016-08-17 15:04:38 -0500 | [diff] [blame] | 23 | --- /dev/null |
Andrew Geissler | 7f40b71 | 2020-05-15 14:09:53 -0500 | [diff] [blame] | 24 | +++ b/TestFloat-3e/build/Linux-Cross-Compile/Makefile |
| 25 | @@ -0,0 +1,353 @@ |
Patrick Williams | b48b7b4 | 2016-08-17 15:04:38 -0500 | [diff] [blame] | 26 | + |
| 27 | +#============================================================================= |
| 28 | +# |
Andrew Geissler | 7f40b71 | 2020-05-15 14:09:53 -0500 | [diff] [blame] | 29 | +# This Makefile template is part of TestFloat, Release 3b, a package of |
| 30 | +# programs for testing the correctness of floating-point arithmetic complying |
| 31 | +# with the IEEE Standard for Floating-Point, by John R. Hauser. |
Patrick Williams | b48b7b4 | 2016-08-17 15:04:38 -0500 | [diff] [blame] | 32 | +# |
Andrew Geissler | 7f40b71 | 2020-05-15 14:09:53 -0500 | [diff] [blame] | 33 | +# Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University |
| 34 | +# of California. All rights reserved. |
Patrick Williams | b48b7b4 | 2016-08-17 15:04:38 -0500 | [diff] [blame] | 35 | +# |
| 36 | +# Redistribution and use in source and binary forms, with or without |
| 37 | +# modification, are permitted provided that the following conditions are met: |
| 38 | +# |
| 39 | +# 1. Redistributions of source code must retain the above copyright notice, |
| 40 | +# this list of conditions, and the following disclaimer. |
| 41 | +# |
| 42 | +# 2. Redistributions in binary form must reproduce the above copyright |
| 43 | +# notice, this list of conditions, and the following disclaimer in the |
| 44 | +# documentation and/or other materials provided with the distribution. |
| 45 | +# |
| 46 | +# 3. Neither the name of the University nor the names of its contributors |
| 47 | +# may be used to endorse or promote products derived from this software |
| 48 | +# without specific prior written permission. |
| 49 | +# |
| 50 | +# THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS "AS IS", AND ANY |
| 51 | +# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED |
| 52 | +# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ARE |
| 53 | +# DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY |
| 54 | +# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES |
| 55 | +# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; |
| 56 | +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND |
| 57 | +# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
| 58 | +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF |
| 59 | +# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
| 60 | +# |
| 61 | +#============================================================================= |
| 62 | + |
Andrew Geissler | 7f40b71 | 2020-05-15 14:09:53 -0500 | [diff] [blame] | 63 | +SOURCE_DIR ?= ../../source |
| 64 | +SOFTFLOAT_DIR ?= ../../../SoftFloat-3e |
| 65 | +PLATFORM ?= Linux-Cross-Compile |
| 66 | + |
Patrick Williams | b48b7b4 | 2016-08-17 15:04:38 -0500 | [diff] [blame] | 67 | +SUBJ_SOURCE_DIR = $(SOURCE_DIR)/subj-C |
Patrick Williams | b48b7b4 | 2016-08-17 15:04:38 -0500 | [diff] [blame] | 68 | +SOFTFLOAT_INCLUDE_DIR = $(SOFTFLOAT_DIR)/source/include |
Patrick Williams | b48b7b4 | 2016-08-17 15:04:38 -0500 | [diff] [blame] | 69 | + |
| 70 | +SOFTFLOAT_H = \ |
| 71 | + $(SOFTFLOAT_INCLUDE_DIR)/softfloat_types.h \ |
| 72 | + $(SOFTFLOAT_INCLUDE_DIR)/softfloat.h |
| 73 | +SOFTFLOAT_LIB = $(SOFTFLOAT_DIR)/build/$(PLATFORM)/softfloat$(LIB) |
| 74 | + |
Andrew Geissler | 7f40b71 | 2020-05-15 14:09:53 -0500 | [diff] [blame] | 75 | +TESTFLOAT_OPTS ?= -DFLOAT16 -DFLOAT64 -DEXTFLOAT80 -DFLOAT128 -DFLOAT_ROUND_ODD |
Patrick Williams | b48b7b4 | 2016-08-17 15:04:38 -0500 | [diff] [blame] | 76 | + |
| 77 | +DELETE = rm -f |
| 78 | +C_INCLUDES = \ |
| 79 | + -I. -I$(SUBJ_SOURCE_DIR) -I$(SOURCE_DIR) -I$(SOFTFLOAT_INCLUDE_DIR) |
| 80 | +COMPILE_C = \ |
Andrew Geissler | 7f40b71 | 2020-05-15 14:09:53 -0500 | [diff] [blame] | 81 | + ${CC} -c -Werror-implicit-function-declaration \ |
| 82 | + $(TESTFLOAT_OPTS) $(C_INCLUDES) -O2 -o $@ |
Patrick Williams | b48b7b4 | 2016-08-17 15:04:38 -0500 | [diff] [blame] | 83 | +COMPILE_SLOWFLOAT_C = \ |
Andrew Geissler | 7f40b71 | 2020-05-15 14:09:53 -0500 | [diff] [blame] | 84 | + ${CC} -c -Werror-implicit-function-declaration \ |
| 85 | + $(TESTFLOAT_OPTS) $(C_INCLUDES) -O3 -o $@ |
Patrick Williams | b48b7b4 | 2016-08-17 15:04:38 -0500 | [diff] [blame] | 86 | +MAKELIB = ${AR} crs $@ |
Patrick Williams | ddad1a1 | 2017-02-23 20:36:32 -0600 | [diff] [blame] | 87 | +LINK = ${CC} -o $@ ${LDFLAGS} |
Patrick Williams | b48b7b4 | 2016-08-17 15:04:38 -0500 | [diff] [blame] | 88 | +OTHER_LIBS = -lm |
| 89 | + |
| 90 | +OBJ = .o |
| 91 | +LIB = .a |
| 92 | +EXE = |
| 93 | + |
| 94 | +.PHONY: all |
| 95 | +all: \ |
| 96 | + testsoftfloat$(EXE) \ |
| 97 | + timesoftfloat$(EXE) \ |
| 98 | + testfloat_gen$(EXE) \ |
| 99 | + testfloat_ver$(EXE) \ |
| 100 | + testfloat$(EXE) \ |
| 101 | + |
| 102 | +OBJS_GENCASES = \ |
| 103 | + genCases_ui32$(OBJ) \ |
| 104 | + genCases_ui64$(OBJ) \ |
| 105 | + genCases_i32$(OBJ) \ |
| 106 | + genCases_i64$(OBJ) \ |
Andrew Geissler | 7f40b71 | 2020-05-15 14:09:53 -0500 | [diff] [blame] | 107 | + genCases_f16$(OBJ) \ |
Patrick Williams | b48b7b4 | 2016-08-17 15:04:38 -0500 | [diff] [blame] | 108 | + genCases_f32$(OBJ) \ |
| 109 | + genCases_f64$(OBJ) \ |
| 110 | + genCases_extF80$(OBJ) \ |
| 111 | + genCases_f128$(OBJ) \ |
| 112 | + |
| 113 | +OBJS_WRITECASE = \ |
| 114 | + writeCase_a_ui32$(OBJ) \ |
| 115 | + writeCase_a_ui64$(OBJ) \ |
Andrew Geissler | 7f40b71 | 2020-05-15 14:09:53 -0500 | [diff] [blame] | 116 | + writeCase_a_f16$(OBJ) \ |
| 117 | + writeCase_ab_f16$(OBJ) \ |
| 118 | + writeCase_abc_f16$(OBJ) \ |
Patrick Williams | b48b7b4 | 2016-08-17 15:04:38 -0500 | [diff] [blame] | 119 | + writeCase_a_f32$(OBJ) \ |
| 120 | + writeCase_ab_f32$(OBJ) \ |
| 121 | + writeCase_abc_f32$(OBJ) \ |
| 122 | + writeCase_a_f64$(OBJ) \ |
| 123 | + writeCase_ab_f64$(OBJ) \ |
| 124 | + writeCase_abc_f64$(OBJ) \ |
| 125 | + writeCase_a_extF80M$(OBJ) \ |
| 126 | + writeCase_ab_extF80M$(OBJ) \ |
Patrick Williams | b48b7b4 | 2016-08-17 15:04:38 -0500 | [diff] [blame] | 127 | + writeCase_a_f128M$(OBJ) \ |
| 128 | + writeCase_ab_f128M$(OBJ) \ |
| 129 | + writeCase_abc_f128M$(OBJ) \ |
| 130 | + writeCase_z_bool$(OBJ) \ |
| 131 | + writeCase_z_ui32$(OBJ) \ |
| 132 | + writeCase_z_ui64$(OBJ) \ |
Andrew Geissler | 7f40b71 | 2020-05-15 14:09:53 -0500 | [diff] [blame] | 133 | + writeCase_z_f16$(OBJ) \ |
Patrick Williams | b48b7b4 | 2016-08-17 15:04:38 -0500 | [diff] [blame] | 134 | + writeCase_z_f32$(OBJ) \ |
| 135 | + writeCase_z_f64$(OBJ) \ |
| 136 | + writeCase_z_extF80M$(OBJ) \ |
| 137 | + writeCase_z_f128M$(OBJ) \ |
| 138 | + |
| 139 | +OBJS_TEST = \ |
Andrew Geissler | 7f40b71 | 2020-05-15 14:09:53 -0500 | [diff] [blame] | 140 | + test_a_ui32_z_f16$(OBJ) \ |
Patrick Williams | b48b7b4 | 2016-08-17 15:04:38 -0500 | [diff] [blame] | 141 | + test_a_ui32_z_f32$(OBJ) \ |
| 142 | + test_a_ui32_z_f64$(OBJ) \ |
| 143 | + test_a_ui32_z_extF80$(OBJ) \ |
| 144 | + test_a_ui32_z_f128$(OBJ) \ |
Andrew Geissler | 7f40b71 | 2020-05-15 14:09:53 -0500 | [diff] [blame] | 145 | + test_a_ui64_z_f16$(OBJ) \ |
Patrick Williams | b48b7b4 | 2016-08-17 15:04:38 -0500 | [diff] [blame] | 146 | + test_a_ui64_z_f32$(OBJ) \ |
| 147 | + test_a_ui64_z_f64$(OBJ) \ |
| 148 | + test_a_ui64_z_extF80$(OBJ) \ |
| 149 | + test_a_ui64_z_f128$(OBJ) \ |
Andrew Geissler | 7f40b71 | 2020-05-15 14:09:53 -0500 | [diff] [blame] | 150 | + test_a_i32_z_f16$(OBJ) \ |
Patrick Williams | b48b7b4 | 2016-08-17 15:04:38 -0500 | [diff] [blame] | 151 | + test_a_i32_z_f32$(OBJ) \ |
| 152 | + test_a_i32_z_f64$(OBJ) \ |
| 153 | + test_a_i32_z_extF80$(OBJ) \ |
| 154 | + test_a_i32_z_f128$(OBJ) \ |
Andrew Geissler | 7f40b71 | 2020-05-15 14:09:53 -0500 | [diff] [blame] | 155 | + test_a_i64_z_f16$(OBJ) \ |
Patrick Williams | b48b7b4 | 2016-08-17 15:04:38 -0500 | [diff] [blame] | 156 | + test_a_i64_z_f32$(OBJ) \ |
| 157 | + test_a_i64_z_f64$(OBJ) \ |
| 158 | + test_a_i64_z_extF80$(OBJ) \ |
| 159 | + test_a_i64_z_f128$(OBJ) \ |
Andrew Geissler | 7f40b71 | 2020-05-15 14:09:53 -0500 | [diff] [blame] | 160 | + test_a_f16_z_ui32_rx$(OBJ) \ |
| 161 | + test_a_f16_z_ui64_rx$(OBJ) \ |
| 162 | + test_a_f16_z_i32_rx$(OBJ) \ |
| 163 | + test_a_f16_z_i64_rx$(OBJ) \ |
| 164 | + test_a_f16_z_ui32_x$(OBJ) \ |
| 165 | + test_a_f16_z_ui64_x$(OBJ) \ |
| 166 | + test_a_f16_z_i32_x$(OBJ) \ |
| 167 | + test_a_f16_z_i64_x$(OBJ) \ |
| 168 | + test_a_f16_z_f32$(OBJ) \ |
| 169 | + test_a_f16_z_f64$(OBJ) \ |
| 170 | + test_a_f16_z_extF80$(OBJ) \ |
| 171 | + test_a_f16_z_f128$(OBJ) \ |
| 172 | + test_az_f16$(OBJ) \ |
| 173 | + test_az_f16_rx$(OBJ) \ |
| 174 | + test_abz_f16$(OBJ) \ |
| 175 | + test_abcz_f16$(OBJ) \ |
| 176 | + test_ab_f16_z_bool$(OBJ) \ |
Patrick Williams | b48b7b4 | 2016-08-17 15:04:38 -0500 | [diff] [blame] | 177 | + test_a_f32_z_ui32_rx$(OBJ) \ |
| 178 | + test_a_f32_z_ui64_rx$(OBJ) \ |
| 179 | + test_a_f32_z_i32_rx$(OBJ) \ |
| 180 | + test_a_f32_z_i64_rx$(OBJ) \ |
| 181 | + test_a_f32_z_ui32_x$(OBJ) \ |
| 182 | + test_a_f32_z_ui64_x$(OBJ) \ |
| 183 | + test_a_f32_z_i32_x$(OBJ) \ |
| 184 | + test_a_f32_z_i64_x$(OBJ) \ |
Andrew Geissler | 7f40b71 | 2020-05-15 14:09:53 -0500 | [diff] [blame] | 185 | + test_a_f32_z_f16$(OBJ) \ |
Patrick Williams | b48b7b4 | 2016-08-17 15:04:38 -0500 | [diff] [blame] | 186 | + test_a_f32_z_f64$(OBJ) \ |
| 187 | + test_a_f32_z_extF80$(OBJ) \ |
| 188 | + test_a_f32_z_f128$(OBJ) \ |
| 189 | + test_az_f32$(OBJ) \ |
| 190 | + test_az_f32_rx$(OBJ) \ |
| 191 | + test_abz_f32$(OBJ) \ |
| 192 | + test_abcz_f32$(OBJ) \ |
| 193 | + test_ab_f32_z_bool$(OBJ) \ |
| 194 | + test_a_f64_z_ui32_rx$(OBJ) \ |
| 195 | + test_a_f64_z_ui64_rx$(OBJ) \ |
| 196 | + test_a_f64_z_i32_rx$(OBJ) \ |
| 197 | + test_a_f64_z_i64_rx$(OBJ) \ |
| 198 | + test_a_f64_z_ui32_x$(OBJ) \ |
| 199 | + test_a_f64_z_ui64_x$(OBJ) \ |
| 200 | + test_a_f64_z_i32_x$(OBJ) \ |
| 201 | + test_a_f64_z_i64_x$(OBJ) \ |
Andrew Geissler | 7f40b71 | 2020-05-15 14:09:53 -0500 | [diff] [blame] | 202 | + test_a_f64_z_f16$(OBJ) \ |
Patrick Williams | b48b7b4 | 2016-08-17 15:04:38 -0500 | [diff] [blame] | 203 | + test_a_f64_z_f32$(OBJ) \ |
| 204 | + test_a_f64_z_extF80$(OBJ) \ |
| 205 | + test_a_f64_z_f128$(OBJ) \ |
| 206 | + test_az_f64$(OBJ) \ |
| 207 | + test_az_f64_rx$(OBJ) \ |
| 208 | + test_abz_f64$(OBJ) \ |
| 209 | + test_abcz_f64$(OBJ) \ |
| 210 | + test_ab_f64_z_bool$(OBJ) \ |
| 211 | + test_a_extF80_z_ui32_rx$(OBJ) \ |
| 212 | + test_a_extF80_z_ui64_rx$(OBJ) \ |
| 213 | + test_a_extF80_z_i32_rx$(OBJ) \ |
| 214 | + test_a_extF80_z_i64_rx$(OBJ) \ |
| 215 | + test_a_extF80_z_ui32_x$(OBJ) \ |
| 216 | + test_a_extF80_z_ui64_x$(OBJ) \ |
| 217 | + test_a_extF80_z_i32_x$(OBJ) \ |
| 218 | + test_a_extF80_z_i64_x$(OBJ) \ |
Andrew Geissler | 7f40b71 | 2020-05-15 14:09:53 -0500 | [diff] [blame] | 219 | + test_a_extF80_z_f16$(OBJ) \ |
Patrick Williams | b48b7b4 | 2016-08-17 15:04:38 -0500 | [diff] [blame] | 220 | + test_a_extF80_z_f32$(OBJ) \ |
| 221 | + test_a_extF80_z_f64$(OBJ) \ |
| 222 | + test_a_extF80_z_f128$(OBJ) \ |
| 223 | + test_az_extF80$(OBJ) \ |
| 224 | + test_az_extF80_rx$(OBJ) \ |
| 225 | + test_abz_extF80$(OBJ) \ |
| 226 | + test_ab_extF80_z_bool$(OBJ) \ |
| 227 | + test_a_f128_z_ui32_rx$(OBJ) \ |
| 228 | + test_a_f128_z_ui64_rx$(OBJ) \ |
| 229 | + test_a_f128_z_i32_rx$(OBJ) \ |
| 230 | + test_a_f128_z_i64_rx$(OBJ) \ |
| 231 | + test_a_f128_z_ui32_x$(OBJ) \ |
| 232 | + test_a_f128_z_ui64_x$(OBJ) \ |
| 233 | + test_a_f128_z_i32_x$(OBJ) \ |
| 234 | + test_a_f128_z_i64_x$(OBJ) \ |
Andrew Geissler | 7f40b71 | 2020-05-15 14:09:53 -0500 | [diff] [blame] | 235 | + test_a_f128_z_f16$(OBJ) \ |
Patrick Williams | b48b7b4 | 2016-08-17 15:04:38 -0500 | [diff] [blame] | 236 | + test_a_f128_z_f32$(OBJ) \ |
| 237 | + test_a_f128_z_f64$(OBJ) \ |
| 238 | + test_a_f128_z_extF80$(OBJ) \ |
| 239 | + test_az_f128$(OBJ) \ |
| 240 | + test_az_f128_rx$(OBJ) \ |
| 241 | + test_abz_f128$(OBJ) \ |
| 242 | + test_abcz_f128$(OBJ) \ |
| 243 | + test_ab_f128_z_bool$(OBJ) \ |
| 244 | + |
| 245 | +OBJS_LIB = \ |
Andrew Geissler | 7f40b71 | 2020-05-15 14:09:53 -0500 | [diff] [blame] | 246 | + uint128_inline$(OBJ) \ |
Patrick Williams | b48b7b4 | 2016-08-17 15:04:38 -0500 | [diff] [blame] | 247 | + uint128$(OBJ) \ |
| 248 | + fail$(OBJ) \ |
| 249 | + functions_common$(OBJ) \ |
| 250 | + functionInfos$(OBJ) \ |
| 251 | + standardFunctionInfos$(OBJ) \ |
| 252 | + random$(OBJ) \ |
| 253 | + genCases_common$(OBJ) \ |
| 254 | + $(OBJS_GENCASES) \ |
| 255 | + genCases_writeTestsTotal$(OBJ) \ |
Andrew Geissler | 7f40b71 | 2020-05-15 14:09:53 -0500 | [diff] [blame] | 256 | + verCases_inline$(OBJ) \ |
Patrick Williams | b48b7b4 | 2016-08-17 15:04:38 -0500 | [diff] [blame] | 257 | + verCases_common$(OBJ) \ |
| 258 | + verCases_writeFunctionName$(OBJ) \ |
| 259 | + readHex$(OBJ) \ |
| 260 | + writeHex$(OBJ) \ |
| 261 | + $(OBJS_WRITECASE) \ |
| 262 | + testLoops_common$(OBJ) \ |
| 263 | + $(OBJS_TEST) \ |
| 264 | + |
| 265 | +uint128$(OBJ): $(SOURCE_DIR)/uint128.h |
| 266 | +fail$(OBJ): $(SOURCE_DIR)/fail.h |
| 267 | +functions_common$(OBJ): $(SOFTFLOAT_H) $(SOURCE_DIR)/functions.h |
| 268 | +functionInfos$(OBJ): $(SOURCE_DIR)/functions.h |
| 269 | +standardFunctionInfos$(OBJ): $(SOURCE_DIR)/functions.h |
| 270 | +random$(OBJ): $(SOURCE_DIR)/random.h |
| 271 | +genCases_common$(OBJ): $(SOURCE_DIR)/fail.h $(SOURCE_DIR)/genCases.h |
| 272 | +$(OBJS_GENCASES): \ |
| 273 | + $(SOURCE_DIR)/random.h $(SOFTFLOAT_H) $(SOURCE_DIR)/genCases.h |
| 274 | +genCases_f128$(OBJ): $(SOURCE_DIR)/uint128.h |
| 275 | +genCases_writeTestsTotal$(OBJ): $(SOURCE_DIR)/genCases.h |
| 276 | +verCases_common$(OBJ): $(SOURCE_DIR)/verCases.h |
| 277 | +verCases_writeFunctionName$(OBJ): $(SOURCE_DIR)/verCases.h |
| 278 | +readHex$(OBJ): $(SOURCE_DIR)/readHex.h |
| 279 | +writeHex$(OBJ): $(SOURCE_DIR)/uint128.h $(SOFTFLOAT_H) $(SOURCE_DIR)/writeHex.h |
| 280 | +$(OBJS_WRITECASE): \ |
| 281 | + $(SOFTFLOAT_H) $(SOURCE_DIR)/writeHex.h $(SOURCE_DIR)/writeCase.h |
| 282 | +testLoops_common$(OBJ): $(SOURCE_DIR)/testLoops.h |
| 283 | +$(OBJS_TEST): \ |
| 284 | + $(SOURCE_DIR)/uint128.h $(SOFTFLOAT_H) $(SOURCE_DIR)/genCases.h \ |
| 285 | + $(SOURCE_DIR)/verCases.h $(SOURCE_DIR)/writeCase.h $(SOURCE_DIR)/testLoops.h |
| 286 | +$(OBJS_LIB): %$(OBJ): platform.h $(SOURCE_DIR)/%.c |
| 287 | + $(COMPILE_C) $(SOURCE_DIR)/$*.c |
| 288 | +testfloat$(LIB): $(OBJS_LIB) |
| 289 | + $(MAKELIB) $^ |
| 290 | + |
| 291 | +OBJS_TESTSOFTFLOAT = slowfloat$(OBJ) testsoftfloat$(OBJ) |
| 292 | + |
| 293 | +slowfloat$(OBJ): \ |
| 294 | + platform.h $(SOURCE_DIR)/uint128.h $(SOFTFLOAT_H) \ |
| 295 | + $(SOURCE_DIR)/slowfloat.h $(SOURCE_DIR)/slowfloat.c |
| 296 | + $(COMPILE_SLOWFLOAT_C) $(SOURCE_DIR)/slowfloat.c |
| 297 | +testsoftfloat$(OBJ): \ |
| 298 | + platform.h $(SOURCE_DIR)/uint128.h $(SOURCE_DIR)/fail.h $(SOFTFLOAT_H) \ |
| 299 | + $(SOURCE_DIR)/slowfloat.h $(SOURCE_DIR)/functions.h \ |
| 300 | + $(SOURCE_DIR)/genCases.h $(SOURCE_DIR)/verCases.h $(SOURCE_DIR)/writeCase.h \ |
| 301 | + $(SOURCE_DIR)/testLoops.h $(SOURCE_DIR)/testsoftfloat.c |
| 302 | + $(COMPILE_C) $(SOURCE_DIR)/testsoftfloat.c |
| 303 | + |
| 304 | +testsoftfloat$(EXE): $(OBJS_TESTSOFTFLOAT) testfloat$(LIB) $(SOFTFLOAT_LIB) |
| 305 | + $(LINK) $^ $(OTHER_LIBS) |
| 306 | + |
| 307 | +OBJS_TIMESOFTFLOAT = timesoftfloat$(OBJ) |
| 308 | + |
| 309 | +timesoftfloat$(OBJ): \ |
| 310 | + platform.h $(SOURCE_DIR)/uint128.h $(SOURCE_DIR)/fail.h $(SOFTFLOAT_H) \ |
| 311 | + $(SOURCE_DIR)/functions.h $(SOURCE_DIR)/timesoftfloat.c |
| 312 | + $(COMPILE_C) $(SOURCE_DIR)/timesoftfloat.c |
| 313 | + |
| 314 | +timesoftfloat$(EXE): $(OBJS_TIMESOFTFLOAT) testfloat$(LIB) $(SOFTFLOAT_LIB) |
| 315 | + $(LINK) $^ $(OTHER_LIBS) |
| 316 | + |
| 317 | +OBJS_TESTFLOAT_GEN = genLoops$(OBJ) testfloat_gen$(OBJ) |
| 318 | + |
| 319 | +genLoops$(OBJ): \ |
| 320 | + platform.h $(SOURCE_DIR)/uint128.h $(SOURCE_DIR)/fail.h $(SOFTFLOAT_H) \ |
| 321 | + $(SOURCE_DIR)/genCases.h $(SOURCE_DIR)/writeHex.h $(SOURCE_DIR)/genLoops.h \ |
| 322 | + $(SOURCE_DIR)/genLoops.c |
| 323 | + $(COMPILE_C) $(SOURCE_DIR)/genLoops.c |
| 324 | +testfloat_gen$(OBJ): \ |
| 325 | + $(SOURCE_DIR)/fail.h $(SOFTFLOAT_H) $(SOURCE_DIR)/functions.h \ |
| 326 | + $(SOURCE_DIR)/genCases.h $(SOURCE_DIR)/genLoops.h \ |
| 327 | + $(SOURCE_DIR)/testfloat_gen.c |
| 328 | + $(COMPILE_C) $(SOURCE_DIR)/testfloat_gen.c |
| 329 | + |
| 330 | +testfloat_gen$(EXE): $(OBJS_TESTFLOAT_GEN) testfloat$(LIB) $(SOFTFLOAT_LIB) |
| 331 | + $(LINK) $^ $(OTHER_LIBS) |
| 332 | + |
| 333 | +OBJS_TESTFLOAT_VER = verLoops$(OBJ) testfloat_ver$(OBJ) |
| 334 | + |
| 335 | +verLoops$(OBJ): \ |
| 336 | + platform.h $(SOURCE_DIR)/uint128.h $(SOURCE_DIR)/fail.h $(SOFTFLOAT_H) \ |
| 337 | + $(SOURCE_DIR)/readHex.h $(SOURCE_DIR)/verCases.h $(SOURCE_DIR)/writeCase.h \ |
| 338 | + $(SOURCE_DIR)/verLoops.h $(SOURCE_DIR)/verLoops.c |
| 339 | + $(COMPILE_C) $(SOURCE_DIR)/verLoops.c |
| 340 | +testfloat_ver$(OBJ): \ |
| 341 | + platform.h $(SOURCE_DIR)/uint128.h $(SOURCE_DIR)/fail.h $(SOFTFLOAT_H) \ |
| 342 | + $(SOURCE_DIR)/functions.h $(SOURCE_DIR)/verCases.h \ |
| 343 | + $(SOURCE_DIR)/writeCase.h $(SOURCE_DIR)/verLoops.h \ |
| 344 | + $(SOURCE_DIR)/testfloat_ver.c |
| 345 | + $(COMPILE_C) $(SOURCE_DIR)/testfloat_ver.c |
| 346 | + |
| 347 | +testfloat_ver$(EXE): $(OBJS_TESTFLOAT_VER) testfloat$(LIB) $(SOFTFLOAT_LIB) |
| 348 | + $(LINK) $^ $(OTHER_LIBS) |
| 349 | + |
| 350 | +OBJS_TESTFLOAT = subjfloat$(OBJ) subjfloat_functions$(OBJ) testfloat$(OBJ) |
| 351 | + |
| 352 | +subjfloat$(OBJ): \ |
| 353 | + platform.h $(SOFTFLOAT_H) $(SUBJ_SOURCE_DIR)/subjfloat_config.h \ |
| 354 | + $(SOURCE_DIR)/subjfloat.h $(SUBJ_SOURCE_DIR)/subjfloat.c |
| 355 | + $(COMPILE_C) $(SUBJ_SOURCE_DIR)/subjfloat.c |
| 356 | +subjfloat_functions$(OBJ): \ |
| 357 | + platform.h $(SUBJ_SOURCE_DIR)/subjfloat_config.h $(SOURCE_DIR)/subjfloat.h \ |
| 358 | + $(SOURCE_DIR)/functions.h $(SOURCE_DIR)/subjfloat_functions.c |
| 359 | + $(COMPILE_C) $(SOURCE_DIR)/subjfloat_functions.c |
| 360 | +testfloat$(OBJ): \ |
| 361 | + platform.h $(SOURCE_DIR)/uint128.h $(SOURCE_DIR)/fail.h $(SOFTFLOAT_H) \ |
| 362 | + $(SUBJ_SOURCE_DIR)/subjfloat_config.h $(SOURCE_DIR)/subjfloat.h \ |
| 363 | + $(SOURCE_DIR)/functions.h $(SOURCE_DIR)/genCases.h $(SOURCE_DIR)/verCases.h \ |
| 364 | + $(SOURCE_DIR)/testLoops.h $(SOURCE_DIR)/testfloat.c |
| 365 | + $(COMPILE_C) $(SOURCE_DIR)/testfloat.c |
| 366 | + |
| 367 | +testfloat$(EXE): $(OBJS_TESTFLOAT) testfloat$(LIB) $(SOFTFLOAT_LIB) |
| 368 | + $(LINK) $^ $(OTHER_LIBS) |
| 369 | + |
| 370 | +.PHONY: clean |
| 371 | +clean: |
| 372 | + $(DELETE) $(OBJS_LIB) testfloat$(LIB) |
| 373 | + $(DELETE) $(OBJS_TESTSOFTFLOAT) testsoftfloat$(EXE) |
| 374 | + $(DELETE) $(OBJS_TIMESOFTFLOAT) timesoftfloat$(EXE) |
| 375 | + $(DELETE) $(OBJS_TESTFLOAT_GEN) testfloat_gen$(EXE) |
| 376 | + $(DELETE) $(OBJS_TESTFLOAT_VER) testfloat_ver$(EXE) |
| 377 | + $(DELETE) $(OBJS_TESTFLOAT) testfloat$(EXE) |
| 378 | + |
Andrew Geissler | 7f40b71 | 2020-05-15 14:09:53 -0500 | [diff] [blame] | 379 | diff --git a/TestFloat-3e/build/Linux-Cross-Compile/platform.h b/TestFloat-3e/build/Linux-Cross-Compile/platform.h |
Patrick Williams | b48b7b4 | 2016-08-17 15:04:38 -0500 | [diff] [blame] | 380 | new file mode 100644 |
Andrew Geissler | 7f40b71 | 2020-05-15 14:09:53 -0500 | [diff] [blame] | 381 | index 0000000..487a43b |
Patrick Williams | b48b7b4 | 2016-08-17 15:04:38 -0500 | [diff] [blame] | 382 | --- /dev/null |
Andrew Geissler | 7f40b71 | 2020-05-15 14:09:53 -0500 | [diff] [blame] | 383 | +++ b/TestFloat-3e/build/Linux-Cross-Compile/platform.h |
| 384 | @@ -0,0 +1,48 @@ |
Patrick Williams | b48b7b4 | 2016-08-17 15:04:38 -0500 | [diff] [blame] | 385 | + |
| 386 | +/*============================================================================ |
| 387 | + |
Andrew Geissler | 7f40b71 | 2020-05-15 14:09:53 -0500 | [diff] [blame] | 388 | +This C header template is part of TestFloat, Release 3e, a package of programs |
| 389 | +for testing the correctness of floating-point arithmetic complying with the |
| 390 | +IEEE Standard for Floating-Point, by John R. Hauser. |
Patrick Williams | b48b7b4 | 2016-08-17 15:04:38 -0500 | [diff] [blame] | 391 | + |
Andrew Geissler | 7f40b71 | 2020-05-15 14:09:53 -0500 | [diff] [blame] | 392 | +Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of |
| 393 | +California. All rights reserved. |
Patrick Williams | b48b7b4 | 2016-08-17 15:04:38 -0500 | [diff] [blame] | 394 | + |
| 395 | +Redistribution and use in source and binary forms, with or without |
| 396 | +modification, are permitted provided that the following conditions are met: |
| 397 | + |
| 398 | + 1. Redistributions of source code must retain the above copyright notice, |
| 399 | + this list of conditions, and the following disclaimer. |
| 400 | + |
| 401 | + 2. Redistributions in binary form must reproduce the above copyright notice, |
| 402 | + this list of conditions, and the following disclaimer in the documentation |
| 403 | + and/or other materials provided with the distribution. |
| 404 | + |
| 405 | + 3. Neither the name of the University nor the names of its contributors may |
| 406 | + be used to endorse or promote products derived from this software without |
| 407 | + specific prior written permission. |
| 408 | + |
| 409 | +THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS "AS IS", AND ANY |
| 410 | +EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED |
| 411 | +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ARE |
| 412 | +DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY |
| 413 | +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES |
| 414 | +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; |
| 415 | +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND |
| 416 | +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
| 417 | +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS |
| 418 | +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
| 419 | + |
| 420 | +=============================================================================*/ |
| 421 | + |
| 422 | +/*---------------------------------------------------------------------------- |
| 423 | +*----------------------------------------------------------------------------*/ |
| 424 | +#define LITTLEENDIAN 1 |
| 425 | + |
| 426 | +/*---------------------------------------------------------------------------- |
| 427 | +*----------------------------------------------------------------------------*/ |
Andrew Geissler | 7f40b71 | 2020-05-15 14:09:53 -0500 | [diff] [blame] | 428 | +#ifdef __GNUC_STDC_INLINE__ |
| 429 | +#define INLINE inline |
| 430 | +#else |
Patrick Williams | b48b7b4 | 2016-08-17 15:04:38 -0500 | [diff] [blame] | 431 | +#define INLINE extern inline |
Andrew Geissler | 7f40b71 | 2020-05-15 14:09:53 -0500 | [diff] [blame] | 432 | +#endif |
Patrick Williams | b48b7b4 | 2016-08-17 15:04:38 -0500 | [diff] [blame] | 433 | -- |
Andrew Geissler | 7f40b71 | 2020-05-15 14:09:53 -0500 | [diff] [blame] | 434 | 2.7.4 |
Patrick Williams | b48b7b4 | 2016-08-17 15:04:38 -0500 | [diff] [blame] | 435 | |