我在k230的RT-Smart移植tflite-micro时出现以下报错
/home/scy/k230/k230_sdk/src/big/rt-smart/userapps/tflite-micro/signal/src/filter_bank_spectral_subtraction.cc: In function 'void tflite::tflm_signal::FilterbankSpectralSubtraction(const SpectralSubtractionConfig*, const uint32_t*, uint32_t*, uint32_t*)':
/home/scy/k230/k230_sdk/src/big/rt-smart/userapps/tflite-micro/signal/src/filter_bank_spectral_subtraction.cc:62:1: error: unrecognizable insn:
62 | }
| ^
(insn 144 143 145 9 (parallel [
(set (reg:VNx2SI 279 [ vect_prephitmp_86.34 ])
(unspec:VNx2SI [
(unspec:VNx2SI [
(reg:VNx2BI 278 [ _277 ])
(lshiftrt:VNx2SI (reg:VNx2SI 277 [ vect__89.32 ])
(subreg/s/u:SI (reg/v:DI 149 [ smoothing_bits ]) 0))
(reg:VNx2SI 460)
] UNSPEC_SELECT)
(reg:DI 287 [ next_cnt_299 ])
(const_int 2 [0x2])
(reg:SI 66 vl)
(reg:SI 67 vtype)
] UNSPEC_RVV))
(clobber (reg:DI 463))
]) -1
(nil))
during RTL pass: vregs
/home/scy/k230/k230_sdk/src/big/rt-smart/userapps/tflite-micro/signal/src/filter_bank_spectral_subtraction.cc:62:1: internal compiler error: in extract_insn, at recog.cc:2791
0x1fcb2de internal_error(char const*, ...)
???:0
0x8a95e6 fancy_abort(char const*, int, char const*)
???:0
0x861b96 _fatal_insn(char const*, rtx_def const*, char const*, int, char const*)
???:0
0x861bb8 _fatal_insn_not_found(rtx_def const*, char const*, int, char const*)
???:0
Please submit a full bug report, with preprocessed source.
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.
Preprocessed source stored into /tmp/ccvYRnBd.out file, please attach this to your bugreport.
make[2]: *** [CMakeFiles/tflite.dir/build.make:2109: CMakeFiles/tflite.dir/signal/src/filter_bank_spectral_subtraction.cc.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:87: CMakeFiles/tflite.dir/all] Error 2
make: *** [Makefile:91: all] Error 2
经过搜索发现疑似是gcc的bug,我无法确认。
项目使用cmake构建,修改自https://github.com/espressif/esp-tflite-micro
我使用本机的gcc编译器可以正常编译,本机gcc版本 gcc version 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.2)
sdk tools 中的gcc版本 gcc version 12.0.1 20220505 (prerelease) (GCC)