[Git][ghc/ghc][wip/ncg-simd] 3 commits: WIP: try to fix T25169 using Plan A.
sheaf (@sheaf)
gitlab at gitlab.haskell.org
Fri Aug 30 22:31:50 UTC 2024
sheaf pushed to branch wip/ncg-simd at Glasgow Haskell Compiler / GHC
Commits:
47f5460d by sheaf at 2024-08-31T00:31:41+02:00
WIP: try to fix T25169 using Plan A.
TODO: documentation and notes.
-------------------------
Metric Increase:
T10421
T12425
T1969
T9198
-------------------------
- - - - -
465a8a0f by sheaf at 2024-08-31T00:31:41+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.
- - - - -
3c9b8436 by sheaf at 2024-08-31T00:31:41+02:00
LLVM: propagate GlobalRegUse information
This commit ensures we keep track of how any particular global register
is being used in the LLVM backend. This informs the LLVM type
annotations, and avoids type mismatches of the following form:
argument is not of expected type '<2 x double>'
call ccc <2 x double> (<2 x double>)
(<4 x i32> arg)
- - - - -
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/CmmToLlvm.hs
- compiler/GHC/CmmToLlvm/Base.hs
- compiler/GHC/CmmToLlvm/CodeGen.hs
- compiler/GHC/CmmToLlvm/Ppr.hs
- compiler/GHC/CmmToLlvm/Regs.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
The diff was not included because it is too large.
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/c0e72083097e1a6cd5648087aab0a3818fc01beb...3c9b8436d2e74734b1e8195a09cd868012b13a0e
--
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/c0e72083097e1a6cd5648087aab0a3818fc01beb...3c9b8436d2e74734b1e8195a09cd868012b13a0e
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/a9181cee/attachment.html>
More information about the ghc-commits
mailing list