Following up with my forum post,
https://discuss.tvm.apache.org/t/using-llvm-target-for-riscv-incompatibility-error/10393?u=heatdh
I tried to implement the workaround that was suggested to solve the soft
floating issue , added to some other approaches.
Automatically by exporting the IR editing the cc by setting the shared to false
and appendding new arguments to the cmd list i go this

While saving the IR module as .s file and calling the compiler to generate the
object files (either manually or by editing the tvm cc ) I ran into similar ABI
incompatibility. The issue for the manual workaround using this code snippet
` a,c_mod,b = relay.build(self.mod, self.target, params=self.params) # here
just to get c_mod to be an IR module type to be able to use (.save on it )`
` lib = export_path/"lib.s"
c_mod.save(str(lib))`
The thing with this approach the .S text file contains only supported tvm
functions without the kernel functions
.Lfunc_end0:
.size TVMSystemLibEntryPoint,
.Lfunc_end0-TVMSystemLibEntryPoint
.cfi_endproc
.type _tvm_func_registry_ptrs,@object
.section .data.rel.ro,"aw",@progbits
.p2align 2
_tvm_func_registry_ptrs:
.word fused_nn_contrib_dense_pack_add
.word fused_nn_contrib_dense_pack_add_nn_relu
.word fused_nn_contrib_dense_pack_add_nn_relu_1
.size _tvm_func_registry_ptrs, 12
.type .L.str,@object
.section .rodata,"a",@progbits
.L.str:
.asciz
"\003fused_nn_contrib_dense_pack_add\000fused_nn_contrib_dense_pack_add_nn_relu\000fused_nn_contrib_dense_pack_add_nn_relu_1\000"
.size .L.str, 116
.type _tvm_crt_func_registry,@object
.section .data.rel.ro,"aw",@progbits
.p2align 3
_tvm_crt_func_registry:
.word .L.str
.word _tvm_func_registry_ptrs
.size _tvm_crt_func_registry, 8
.type _tvm_crt_module,@object
.p2align 3
_tvm_crt_module:
.word _tvm_crt_func_registry
.size _tvm_crt_module, 4
.section .debug_abbrev,"",@progbits
.byte 1
.byte 17
.byte 0
.byte 37
.byte 14
.byte 19
.byte 5
.byte 3
.byte 14
.byte 16
.byte 23
.byte 27
.byte 14
.ascii "\264B"
.byte 25
.ascii "\261B"
.byte 7
.byte 0
.byte 0
.byte 0
.section .debug_info,"",@progbits
.Lcu_begin0:
.word .Ldebug_info_end0-.Ldebug_info_start0
.Ldebug_info_start0:
.half 4
.word .debug_abbrev
.byte 4
.byte 1
.word .Linfo_string0
.half 2
.word .Linfo_string1
.word .Lline_table_start0
.word .Linfo_string2
.quad 1
.Ldebug_info_end0:
.section .debug_str,"MS",@progbits,1
.Linfo_string0:
.asciz "TVM"
.Linfo_string1:
.asciz "model.tvm"
.Linfo_string2:
.asciz "/tmp/"
.section .debug_pubnames,"",@progbits
.word .LpubNames_end0-.LpubNames_begin0
.LpubNames_begin0:
.half 2
.word .Lcu_begin0
.word 38
.word 0
.LpubNames_end0:
.section .debug_pubtypes,"",@progbits
.word .LpubTypes_end0-.LpubTypes_begin0
.LpubTypes_begin0:
.half 2
.word .Lcu_begin0
.word 38
.word 0
.LpubTypes_end0:
.section ".note.GNU-stack","",@progbits
.section .debug_line,"",@progbits
.Lline_table_start0:
Is there a way to get the kernel function implementations as .s file, in order
to manually edit the incompatible line of codes causing this error before
calling the compiler
Thank you in advance
---
[Visit
Topic](https://discuss.tvm.apache.org/t/llvm-backend-for-riscv-follow-up/10824/1)
to respond.
You are receiving this because you enabled mailing list mode.
To unsubscribe from these emails, [click
here](https://discuss.tvm.apache.org/email/unsubscribe/f3125b69d807456d4d9c41e17f668e0842316609a340a56bdfbc669febf9adbe).