我有一个从Halide项目LLVM的帮助下生成的二进制文件。为了保持简短的故事,二进制文件使用RVV 1.0,而我的硬件是AllWinner D1 C906是RVV 0.7,所以一些intrinsic不受支持,我正在寻找一个选项来确定和删除/替换LLVM源代码中不受支持的RVV 1.0 intrinsic。
首先是vsetivli
,在我看来可以替换为旧的vsetvli
。唯一的问题是如何做到这一点?
1dfae: cd027057 vsetivli zero,4,e32,m1,ta,ma
1条答案
按热度按时间3wabscal1#
好了,我尝试了
vsetivli
的变通方法,在selectVLOp
上打了一些粗略的补丁(实际上适用于LLVM 13.0 - 16.0),现在vsetvli
由else条件添加。