-
-
Notifications
You must be signed in to change notification settings - Fork 3.1k
Closed
Labels
arch-hexagonQualcomm Hexagon DSPQualcomm Hexagon DSPcompiler-rtcontributor friendlyThis issue is limited in scope and/or knowledge of Zig internals.This issue is limited in scope and/or knowledge of Zig internals.enhancementSolving this issue will likely involve adding new logic or components to the codebase.Solving this issue will likely involve adding new logic or components to the codebase.
Milestone
Description
To complete our Hexagon support, we will need to port the Hexagon-specific compiler-rt routines to naked functions in Zig: https://github.com/llvm/llvm-project/tree/6c25604df2f669a0403a17dbdbe5c081db1e80a1/compiler-rt/lib/builtins/hexagon
For some of these, as a stopgap, we may be able to get away with using the generic routines we already have and just exporting them with the Hexagon-specific names. That may even be preferable unless we have strong evidence that the hand-written routines are significantly better.
Here is the actual usage in LLVM:
- https://github.com/llvm/llvm-project/blob/b0b1a113053deae5315a57f2e9a1a689473525f7/llvm/lib/Target/Hexagon/HexagonISelLowering.cpp#L1858-L1903
- https://github.com/llvm/llvm-project/blob/b0b1a113053deae5315a57f2e9a1a689473525f7/llvm/lib/Target/Hexagon/HexagonSelectionDAGInfo.cpp#L44-L59
As far as I can see, all but the they all use the regular C calling convention.memcpy helper
Metadata
Metadata
Assignees
Labels
arch-hexagonQualcomm Hexagon DSPQualcomm Hexagon DSPcompiler-rtcontributor friendlyThis issue is limited in scope and/or knowledge of Zig internals.This issue is limited in scope and/or knowledge of Zig internals.enhancementSolving this issue will likely involve adding new logic or components to the codebase.Solving this issue will likely involve adding new logic or components to the codebase.