mirror of
https://github.com/openhwgroup/cvw
synced 2025-02-02 17:55:19 +00:00
More testfloat gen updates to switch to just riscv vectors
This commit is contained in:
parent
495d1c7145
commit
478ed242ad
@ -11,9 +11,9 @@ all: vectors combined_IF_vectors
|
|||||||
|
|
||||||
softfloat: ${SOFTFLOAT_DIR}/softfloat.a
|
softfloat: ${SOFTFLOAT_DIR}/softfloat.a
|
||||||
|
|
||||||
testfloat: ${TESTFLOAT_DIR}/testfloat
|
testfloat: ${TESTFLOAT_DIR}/testfloat_gen
|
||||||
|
|
||||||
vectors: ${TESTFLOATS}
|
vectors: testfloat
|
||||||
$(MAKE) -C ${WALLY}/tests/fp/vectors
|
$(MAKE) -C ${WALLY}/tests/fp/vectors
|
||||||
|
|
||||||
combined_IF_vectors: ${WALLY}/tests/riscof/work/riscv-arch-test/rv32i_m/M/src 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:
|
${SOFTFLOAT_DIR}/softfloat.a:
|
||||||
$(MAKE) SPECIALIZE_TYPE=RISCV -C ${SOFTFLOAT_DIR}
|
$(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}
|
$(MAKE) -C ${TESTFLOAT_DIR}
|
||||||
|
@ -3,15 +3,11 @@
|
|||||||
# SPDX-License-Identifier: Apache-2.0 WITH SHL-2.1
|
# SPDX-License-Identifier: Apache-2.0 WITH SHL-2.1
|
||||||
|
|
||||||
.DELETE_ON_ERROR:
|
.DELETE_ON_ERROR:
|
||||||
.SECONDEXPANSION:
|
|
||||||
.ONESHELL:
|
.ONESHELL:
|
||||||
# MAKEFLAGS += --no-print-directory
|
|
||||||
|
|
||||||
SHELL := /bin/bash
|
SHELL := /bin/bash
|
||||||
|
|
||||||
VECTOR_TYPE := riscv
|
TESTFLOAT_DIR := ${WALLY}/addins/berkeley-testfloat-3/build/Linux-x86_64-GCC
|
||||||
TESTFLOAT_DIR := ../../berkeley-float
|
TESTFLOAT_GEN := ${TESTFLOAT_DIR}/testfloat_gen
|
||||||
TESTFLOAT_GEN := ${TESTFLOAT_DIR}/${VECTOR_TYPE}/testfloat/build/Linux-x86_64-GCC/testfloat_gen
|
|
||||||
|
|
||||||
# List of testvectors to generate. Each rounding mode will be generated for each test.
|
# 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 \
|
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
|
.PHONY: all rne rz ru rd rnm clean
|
||||||
|
|
||||||
|
# Generate all test vectors
|
||||||
all: rne rz ru rd rnm
|
all: rne rz ru rd rnm
|
||||||
|
|
||||||
# Generate test vectors for each rounding mode
|
# Generate test vectors for each rounding mode
|
||||||
@ -63,15 +60,15 @@ rnm: $(addsuffix _rnm.tv, $(tests))
|
|||||||
|
|
||||||
# Rule to generate individual test vectors
|
# Rule to generate individual test vectors
|
||||||
%.tv: ${TESTFLOAT_GEN}
|
%.tv: ${TESTFLOAT_GEN}
|
||||||
@echo "Creating $(VECTOR_TYPE) $@ vectors"
|
@echo Creating $@ vectors
|
||||||
@if [[ "$*" =~ "to" ]] || [[ "$*" =~ "sqrt" ]] ; then level=2 ; else level=1 ; fi
|
@if [[ "$*" =~ "to" ]] || [[ "$*" =~ "sqrt" ]] ; then level=2 ; else level=1 ; fi
|
||||||
@if [[ "$*" =~ "to_i" ]] || [[ "$*" =~ "to_u" ]] ; then exact="-exact" ; else exact="" ; fi
|
@if [[ "$*" =~ "to_i" ]] || [[ "$*" =~ "to_u" ]] ; then exact="-exact" ; else exact="" ; fi
|
||||||
${TESTFLOAT_GEN} -tininessafter -level $$level $$exact -$(ROUND_MODE) $(patsubst %_$(ROUND_EXT).tv, %, $@) > $@
|
${TESTFLOAT_GEN} -tininessafter -level $$level $$exact -$(ROUND_MODE) $(patsubst %_$(ROUND_EXT).tv, %, $@) > $@
|
||||||
@sed -i 's/ /_/g' $@
|
@sed -i 's/ /_/g' $@
|
||||||
|
|
||||||
# Appropriate testfloat_gen must exist
|
# Generate TestFloat first if necessary
|
||||||
${TESTFLOAT_GEN}:
|
${TESTFLOAT_GEN}:
|
||||||
$(MAKE) -C ${TESTFLOAT_DIR} ${VECTOR_TYPE}
|
$(MAKE) -C ${WALLY}/tests/fp testfloat
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f *.tv
|
rm -f *.tv
|
||||||
|
Loading…
Reference in New Issue
Block a user