diff --git a/tests/fp/Makefile b/tests/fp/Makefile index be0cce7d1..c98c37d8b 100755 --- a/tests/fp/Makefile +++ b/tests/fp/Makefile @@ -11,9 +11,9 @@ all: vectors combined_IF_vectors softfloat: ${SOFTFLOAT_DIR}/softfloat.a -testfloat: ${TESTFLOAT_DIR}/testfloat +testfloat: ${TESTFLOAT_DIR}/testfloat_gen -vectors: ${TESTFLOATS} +vectors: testfloat $(MAKE) -C ${WALLY}/tests/fp/vectors combined_IF_vectors: ${WALLY}/tests/riscof/work/riscv-arch-test/rv32i_m/M/src vectors @@ -32,5 +32,5 @@ ${WALLY}/tests/riscof/work/riscv-arch-test/rv32i_m/M/src: ${SOFTFLOAT_DIR}/softfloat.a: $(MAKE) SPECIALIZE_TYPE=RISCV -C ${SOFTFLOAT_DIR} -${TESTFLOAT_DIR}/testfloat: ${SOFTFLOAT_DIR}/softfloat.a +${TESTFLOAT_DIR}/testfloat_gen: ${SOFTFLOAT_DIR}/softfloat.a $(MAKE) -C ${TESTFLOAT_DIR} diff --git a/tests/fp/vectors/Makefile b/tests/fp/vectors/Makefile index d3ed6d9a7..5db3aa5ab 100755 --- a/tests/fp/vectors/Makefile +++ b/tests/fp/vectors/Makefile @@ -3,15 +3,11 @@ # SPDX-License-Identifier: Apache-2.0 WITH SHL-2.1 .DELETE_ON_ERROR: -.SECONDEXPANSION: .ONESHELL: -# MAKEFLAGS += --no-print-directory - SHELL := /bin/bash -VECTOR_TYPE := riscv -TESTFLOAT_DIR := ../../berkeley-float -TESTFLOAT_GEN := ${TESTFLOAT_DIR}/${VECTOR_TYPE}/testfloat/build/Linux-x86_64-GCC/testfloat_gen +TESTFLOAT_DIR := ${WALLY}/addins/berkeley-testfloat-3/build/Linux-x86_64-GCC +TESTFLOAT_GEN := ${TESTFLOAT_DIR}/testfloat_gen # List of testvectors to generate. Each rounding mode will be generated for each test. cvtint := ui32_to_f16 ui32_to_f32 ui32_to_f64 ui32_to_f128 \ @@ -52,6 +48,7 @@ rnm: ROUND_EXT := rnm .PHONY: all rne rz ru rd rnm clean +# Generate all test vectors all: rne rz ru rd rnm # Generate test vectors for each rounding mode @@ -63,15 +60,15 @@ rnm: $(addsuffix _rnm.tv, $(tests)) # Rule to generate individual test vectors %.tv: ${TESTFLOAT_GEN} - @echo "Creating $(VECTOR_TYPE) $@ vectors" + @echo Creating $@ vectors @if [[ "$*" =~ "to" ]] || [[ "$*" =~ "sqrt" ]] ; then level=2 ; else level=1 ; fi @if [[ "$*" =~ "to_i" ]] || [[ "$*" =~ "to_u" ]] ; then exact="-exact" ; else exact="" ; fi ${TESTFLOAT_GEN} -tininessafter -level $$level $$exact -$(ROUND_MODE) $(patsubst %_$(ROUND_EXT).tv, %, $@) > $@ @sed -i 's/ /_/g' $@ -# Appropriate testfloat_gen must exist +# Generate TestFloat first if necessary ${TESTFLOAT_GEN}: - $(MAKE) -C ${TESTFLOAT_DIR} ${VECTOR_TYPE} + $(MAKE) -C ${WALLY}/tests/fp testfloat clean: rm -f *.tv