Build all BF16 routines and declare f64_to_bf16 (#49) The new BF16 routines were missing from the Makefiles. Adding them showed bf16_mulAdd fails to build without a f64_to_bf16 declaration. Signed-off-by: Nadime Barhoumi <nadime@riscv.org>
diff --git a/build/Linux-RISCV64-GCC/Makefile b/build/Linux-RISCV64-GCC/Makefile index 6403fde..807e987 100644 --- a/build/Linux-RISCV64-GCC/Makefile +++ b/build/Linux-RISCV64-GCC/Makefile
@@ -181,6 +181,18 @@ i64_to_f128M$(OBJ) \ bf16_isSignalingNaN$(OBJ) \ bf16_to_f32$(OBJ) \ + bf16_to_f64$(OBJ) \ + bf16_to_i32$(OBJ) \ + bf16_to_ui32$(OBJ) \ + bf16_add$(OBJ) \ + bf16_sub$(OBJ) \ + bf16_mul$(OBJ) \ + bf16_mulAdd$(OBJ) \ + bf16_div$(OBJ) \ + bf16_sqrt$(OBJ) \ + bf16_eq$(OBJ) \ + bf16_le$(OBJ) \ + bf16_lt$(OBJ) \ f16_to_ui32$(OBJ) \ f16_to_ui64$(OBJ) \ f16_to_i32$(OBJ) \
diff --git a/build/Linux-x86_64-GCC/Makefile b/build/Linux-x86_64-GCC/Makefile index 7ae4832..97683a7 100644 --- a/build/Linux-x86_64-GCC/Makefile +++ b/build/Linux-x86_64-GCC/Makefile
@@ -178,6 +178,18 @@ i64_to_f128M$(OBJ) \ bf16_isSignalingNaN$(OBJ) \ bf16_to_f32$(OBJ) \ + bf16_to_f64$(OBJ) \ + bf16_to_i32$(OBJ) \ + bf16_to_ui32$(OBJ) \ + bf16_add$(OBJ) \ + bf16_sub$(OBJ) \ + bf16_mul$(OBJ) \ + bf16_mulAdd$(OBJ) \ + bf16_div$(OBJ) \ + bf16_sqrt$(OBJ) \ + bf16_eq$(OBJ) \ + bf16_le$(OBJ) \ + bf16_lt$(OBJ) \ f16_to_ui32$(OBJ) \ f16_to_ui64$(OBJ) \ f16_to_i32$(OBJ) \
diff --git a/build/template-FAST_INT64/Makefile b/build/template-FAST_INT64/Makefile index d5553f6..44d720a 100644 --- a/build/template-FAST_INT64/Makefile +++ b/build/template-FAST_INT64/Makefile
@@ -177,6 +177,18 @@ i64_to_f128M$(OBJ) \ bf16_isSignalingNaN$(OBJ) \ bf16_to_f32$(OBJ) \ + bf16_to_f64$(OBJ) \ + bf16_to_i32$(OBJ) \ + bf16_to_ui32$(OBJ) \ + bf16_add$(OBJ) \ + bf16_sub$(OBJ) \ + bf16_mul$(OBJ) \ + bf16_mulAdd$(OBJ) \ + bf16_div$(OBJ) \ + bf16_sqrt$(OBJ) \ + bf16_eq$(OBJ) \ + bf16_le$(OBJ) \ + bf16_lt$(OBJ) \ f16_to_ui32$(OBJ) \ f16_to_ui64$(OBJ) \ f16_to_i32$(OBJ) \
diff --git a/source/include/softfloat.h b/source/include/softfloat.h index 49b55a1..ee73502 100644 --- a/source/include/softfloat.h +++ b/source/include/softfloat.h
@@ -177,6 +177,7 @@ float32_t bf16_to_f32( bfloat16_t ); float64_t bf16_to_f64( bfloat16_t ); bfloat16_t f32_to_bf16( float32_t ); +bfloat16_t f64_to_bf16( float64_t ); bfloat16_t bf16_add( bfloat16_t, bfloat16_t ); bfloat16_t bf16_sub( bfloat16_t, bfloat16_t ); bfloat16_t bf16_mul( bfloat16_t, bfloat16_t );