More testfloat gen updates to switch to just riscv vectors

This commit is contained in:
Jordan Carlin 2024-09-29 00:32:18 -07:00
parent 495d1c7145
commit 478ed242ad
No known key found for this signature in database
2 changed files with 9 additions and 12 deletions

View File

@ -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}

View File

@ -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