Project 'TerrorJack/ghc' was moved to 'haskell-wasm/ghc'. Please update any links and bookmarks that may still have the old path.
[aarch64 NCG] Add better support for sub-word primops
During the intial NCG development, GHC did not have support for anything below Words. As such the NCG didn't support any of this either. AArch64-Darwin however needs support for subword, as arguments in excess of the first eight (8) passed via registers are passed on the stack, and there in a packed fashion. Thus ghc learned about subword sizes. This than lead us to gain subword primops, and these subsequently highlighted deficiencies in the AArch64 NCG. This patch rectifies the ones I found through via the test-suite. I do not claim this to be exhaustive. Fixes: #19993 Metric Increase: T10421 T13035 T13719 T14697 T1969 T9203 T9872a T9872b T9872c T9872d T9961 haddock.Cabal haddock.base parsing001 (cherry picked from commit d79530d1)
Showing
- compiler/GHC/CmmToAsm/AArch64/CodeGen.hs 123 additions, 29 deletionscompiler/GHC/CmmToAsm/AArch64/CodeGen.hs
- compiler/GHC/CmmToAsm/AArch64/Instr.hs 19 additions, 6 deletionscompiler/GHC/CmmToAsm/AArch64/Instr.hs
- compiler/GHC/CmmToAsm/AArch64/Ppr.hs 8 additions, 0 deletionscompiler/GHC/CmmToAsm/AArch64/Ppr.hs
Loading
Please register or sign in to comment