Hi everyone,
I want to consult a question about the alignment between LLVM and RISC-V GNU Toolchain.
I used 'LLVM + RISC-V GNU Toolchain' to cross-compile my RISC-V project. I mean use Clang/LLVM's frontend/codegen, and use RISC-V GNU Toolchain's lib/linker/etc. It worked well before.
But I meet some issue with recent version's LLVM. In Jan. 23rd, it seems that "V" extension has been removed from experimental tag, and officially added to official tag. So I change my compiling option as below to align this update.
Old command:
clang --gcc-toolchain=./riscv --sysroot=./riscv/riscv64-unknown-elf -mcmodel=medany -g -mabi=lp64f -march=ev64gcv0p10 -menable-experimental-extensions -Wall rvv_intrinsic.c -o rvv_intrinsic
New command:
clang --gcc-toolchain=./riscv --sysroot=./riscv/riscv64-unknown-elf -mcmodel=medany -g -mabi=lp64f -march=rv64gcv -Wall rvv_intrinsic.c -o rvv_intrinsic
Then I meet one error as below,
./riscv/lib/gcc/riscv64-unknown-elf/10.1.0/../../../../riscv64-unknown-elf/bin/ld: -march=rv64i2p0_m2p0_a2p0_f2p0_d2p0_c2p0_v1p0_zvl128b1p0_zvl32b1p0_zvl64b1p0: Invalid or unknown z ISA extension: 'zvl'
I guess the reason is that in llvm, the if I add 'v' in -march, 'zvl' is used, but in RISC-V GNU Toolchain, this extension has not been supported.
How I can resolve this issue? Maybe I used wrong option?
Thanks
Best Regards
Yong