I'm trying to compile a simple project for cortex-m55, the project right now is pretty simple, just the main and CMSIS DSP and NN.
If I enable float-abi, no matter if hard, soft or softfp, I get the following compilation error:
../src/CMSIS/NN/Source/SoftmaxFunctions/arm_softmax_s8.c: In function 'arm_exp_on_negative_values_mve_32x4':
../src/CMSIS/NN/Source/SoftmaxFunctions/arm_softmax_s8.c:74:1: internal compiler error: in trunc_int_for_mode, at explow.cc:59
Hello, if you can find the compile command that's failing and add the -save-temps option, you should get a pre-processed .i file. Please can you upload that file along with the complete compile command that's failing?
Hi Alex,the command is this one (I'm using Embedded Eclipse)
arm-none-eabi-g++ -mthumb -mlittle-endian -mfloat-abi=hard -march=armv8.1-m.main+mve.fp+fp.dp -flax-vector-conversions -save-temps -Ofast -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -g3 -Xlinker --gc-sections -Wl,-Map,"test.map" --specs=rdimon.specs -Wl,--start-group -lgcc -lc -lc -lm -lrdimon -Wl,--end-group -o "test.elf" $(OBJS) $(USER_OBJS) $(LIBS)
Hmm, that looks like a link step rather than a compile step. If you re-compile (and trigger the internal compiler error) you should get an arm_softmax_s8.i file. It would be useful if you could upload/attach that file (ideally with the failing command). Thanks
Thanks. This is a bug in GCC 12.2 that should be fixed in GCC 12.3 and GCC 13 when they are released. It looks like the latest CMSIS-NN sources have a workaround for this issue, so you could try updating your CMSIS-NN sources to see if that helps.
Thank you Alex.
I used the latest downloadable release of CMSIS NN, I'll try with the sources in the repo and let you know.
I've used the latest release on repo of CMSIS NN and it compiles. Do GCC 12.3 and GCC13 have an ETA? thx
Hello, we are not able to give an ETA for these releases. However, please refer to developer.arm.com/.../arm-gnu-toolchain-downloads for new releases which we publish regularly.