You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Mar 15, 2025. It is now read-only.
Very simple double operation.
And after compile this C code will generate "fdiv.d" operation.
But my core can't support "fdiv.d", after run this bin in ri5cy core, core will crash and report " Instruction Abort".
So, I remove the 'D', and it become:
-march=RV32IMFCXpulpv2 -mhard-float
But this can't compile pass, meet:
cc1: error: -march=RV32IMFCXpulpv2: single-precision-only is not yet supported
Hi,
Recently I use eth ri5cy toolchain to support pulp instruction.
Here is my steps.
-march=RV32IMFDCXpulpv2 -mhard-float
detail:
ri5cy/bin/riscv32-unknown-elf-gcc -c -D__NuttX__ -fno-builtin -Wall -Wstrict-prototypes -Wshadow -Wundef -g -Os -msave-restore -fno-strict-aliasing -fno-strength-reduce -fomit-frame-pointer -ffunction-sections -fdata-sections -march=RV32IMFDCXpulpv2 -mhard-float fileA.c -o fileA.o
In my code, there is double operation:
#define RND1_CONSTP 999563
static double_t frand1(void)
{
unsigned long randint = 30;
return ((double_t)randint) / ((double_t)RND1_CONSTP);
}
Very simple double operation.
And after compile this C code will generate "fdiv.d" operation.
But my core can't support "fdiv.d", after run this bin in ri5cy core, core will crash and report " Instruction Abort".
So, I remove the 'D', and it become:
-march=RV32IMFCXpulpv2 -mhard-float
But this can't compile pass, meet:
cc1: error: -march=RV32IMFCXpulpv2: single-precision-only is not yet supported
How to resolve this ?
Many thanks.