[Git][ghc/ghc][wip/ncg-simd] 3 commits: Fix C calls with SIMD vectors

sheaf (@sheaf) gitlab at gitlab.haskell.org
Fri Aug 30 16:55:26 UTC 2024



sheaf pushed to branch wip/ncg-simd at Glasgow Haskell Compiler / GHC


Commits:
29bcfb9b by sheaf at 2024-08-30T18:55:13+02:00
Fix C calls with SIMD vectors

This commit fixes the code generation for C calls, to take into account
the calling convention.

This is particularly tricky on Windows, where all vectors are expected
to be passed by reference. See Note [The Windows X64 C calling convention]
in GHC.CmmToAsm.X86.CodeGen.

- - - - -
79585fac by sheaf at 2024-08-30T18:55:13+02:00
Add test for #25169

- - - - -
35182318 by sheaf at 2024-08-30T18:55:13+02:00
WIP: try to fix T25169 using Plan A.

TODO: documentation and notes.

-------------------------
Metric Increase:
    T10421
    T12425
    T1969
    T9198
-------------------------

- - - - -


30 changed files:

- compiler/GHC/ByteCode/Asm.hs
- compiler/GHC/Cmm/CallConv.hs
- compiler/GHC/Cmm/Expr.hs
- compiler/GHC/Cmm/Lexer.x
- compiler/GHC/Cmm/Parser.y
- compiler/GHC/CmmToAsm/X86/CodeGen.hs
- compiler/GHC/CmmToAsm/X86/Instr.hs
- compiler/GHC/StgToByteCode.hs
- compiler/GHC/StgToCmm/ArgRep.hs
- compiler/GHC/StgToCmm/Foreign.hs
- compiler/GHC/StgToCmm/Layout.hs
- hadrian/src/Settings/Packages.hs
- libraries/ghc-heap/tests/stack_misc_closures_c.c
- rts/AutoApply.h
- + rts/CheckVectorSupport.c
- + rts/CheckVectorSupport.h
- rts/CloneStack.c
- rts/HeapStackCheck.cmm
- rts/Interpreter.c
- + rts/Jumps.h
- + rts/Jumps_D.cmm
- + rts/Jumps_V16.cmm
- + rts/Jumps_V32.cmm
- + rts/Jumps_V64.cmm
- rts/Printer.c
- rts/RtsStartup.c
- rts/RtsSymbols.c
- rts/StgMiscClosures.cmm
- rts/Threads.c
- rts/include/stg/MiscClosures.h


The diff was not included because it is too large.


View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/6e5610af201f6ec40c6b2a0751870c0c73821517...351823186367fd7b06c9f0c4f6f7549be54d4430

-- 
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/6e5610af201f6ec40c6b2a0751870c0c73821517...351823186367fd7b06c9f0c4f6f7549be54d4430
You're receiving this email because of your account on gitlab.haskell.org.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/ghc-commits/attachments/20240830/b1905c9e/attachment.html>


More information about the ghc-commits mailing list