[Git][ghc/ghc][wip/ncg-simd] 36 commits: SIMD NCG WIP: fix stack spilling

sheaf (@sheaf) gitlab at gitlab.haskell.org
Thu Jun 20 08:07:56 UTC 2024



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


Commits:
4e136666 by sheaf at 2024-06-20T10:02:33+02:00
SIMD NCG WIP: fix stack spilling

- - - - -
00963e9c by sheaf at 2024-06-20T10:02:36+02:00
SIMD NCG: accept simd006

- - - - -
ec40fd99 by sheaf at 2024-06-20T10:02:36+02:00
WIP: fix mkSpillInstr/mkLoadInstr panics

- - - - -
82b8ba93 by sheaf at 2024-06-20T10:02:36+02:00
improve RegClass

- - - - -
6c16e39e by sheaf at 2024-06-20T10:02:36+02:00
set up basics for AArch64 SIMD

- - - - -
4e5cc43f by sheaf at 2024-06-20T10:02:36+02:00
use MOVU instructions for spill/unspill

- - - - -
372c958b by sheaf at 2024-06-20T10:02:36+02:00
WIP: start adding vector shuffle primops

- - - - -
88baf78b by sheaf at 2024-06-20T10:02:36+02:00
remove redundant code in CmmToAsm/PPC/Instr

- - - - -
420aa987 by sheaf at 2024-06-20T10:02:36+02:00
emit ymm/zmm when appropriate

- - - - -
5ba5c324 by sheaf at 2024-06-20T10:02:37+02:00
fix reg2reg for vectors

- - - - -
d5784142 by sheaf at 2024-06-20T10:02:37+02:00
WIP: lower vector shuffle instruction on X86

- - - - -
e36db160 by sheaf at 2024-06-20T10:02:37+02:00
NCG SIMD: fix shuffle lowering

- - - - -
1d34282c by sheaf at 2024-06-20T10:02:37+02:00
slight improvement to vector unpack

- - - - -
d5b2d878 by sheaf at 2024-06-20T10:02:37+02:00
fix whitespace

- - - - -
6fca446a by sheaf at 2024-06-20T10:02:37+02:00
fix regUsageOfInstr INSERTPS

- - - - -
0184373c by Jaro Reinders at 2024-06-20T10:02:57+02:00
Add Int64X2 SIMD operations

- - - - -
8077cb22 by sheaf at 2024-06-20T10:03:00+02:00
SIMD: need LLVM for Aarch64/PPC (for now)

- - - - -
4cb02286 by sheaf at 2024-06-20T10:03:00+02:00
fixup Jaro

- - - - -
a5c8ac41 by sheaf at 2024-06-20T10:03:00+02:00
fixup: shuffle base exports

- - - - -
5c0a0e87 by sheaf at 2024-06-20T10:03:00+02:00
improve cgrun083

- - - - -
ac2b9b93 by sheaf at 2024-06-20T10:03:00+02:00
move SIMD tests

- - - - -
cdce59a3 by sheaf at 2024-06-20T10:03:27+02:00
TODO: MOV stuff

- - - - -
2651caa3 by sheaf at 2024-06-20T10:03:31+02:00
X86 NCG SIMD: refactoring

- - - - -
b6a254cf by sheaf at 2024-06-20T10:03:31+02:00
SIMD tests: fixup

- - - - -
63435fa1 by sheaf at 2024-06-20T10:04:44+02:00
fix X86 takeRegRegMove

- - - - -
e5f49360 by sheaf at 2024-06-20T10:04:47+02:00
SIMD: add vector FMA primops

- - - - -
6f6a4bae by sheaf at 2024-06-20T10:05:34+02:00
SIMD: cleanup

- - - - -
5c5cf23e by sheaf at 2024-06-20T10:05:37+02:00
WIP: improve broadcast, especially on LLVM

- - - - -
88df70a6 by sheaf at 2024-06-20T10:05:38+02:00
more tidying

- - - - -
e9c588dd by sheaf at 2024-06-20T10:05:51+02:00
SIMD: refactor Format datatype

- - - - -
650b3531 by sheaf at 2024-06-20T10:05:54+02:00
Revert "SIMD: refactor Format datatype"

This reverts commit 84c46f16be09760b64a8b926f1f92ceb853b2da8.

- - - - -
6bf593c3 by sheaf at 2024-06-20T10:05:54+02:00
SIMD cleanups, remove virtual Float reg

- - - - -
ce7accb8 by sheaf at 2024-06-20T10:05:54+02:00
add simd012 test

- - - - -
f155e901 by sheaf at 2024-06-20T10:05:55+02:00
fix getStackSlotFor FF32

- - - - -
7569cd81 by sheaf at 2024-06-20T10:05:55+02:00
X86 NCG: use FF64 format for Float MOV instructions

- - - - -
00989fd2 by sheaf at 2024-06-20T10:05:55+02:00
don't print type of CmmReg

- - - - -


30 changed files:

- compiler/GHC/Builtin/primops.txt.pp
- compiler/GHC/Cmm/CallConv.hs
- compiler/GHC/Cmm/MachOp.hs
- compiler/GHC/Cmm/Opt.hs
- compiler/GHC/Cmm/Parser.y
- compiler/GHC/Cmm/Reg.hs
- compiler/GHC/CmmToAsm.hs
- compiler/GHC/CmmToAsm/AArch64.hs
- compiler/GHC/CmmToAsm/AArch64/CodeGen.hs
- compiler/GHC/CmmToAsm/AArch64/Instr.hs
- compiler/GHC/CmmToAsm/AArch64/Ppr.hs
- compiler/GHC/CmmToAsm/AArch64/Regs.hs
- compiler/GHC/CmmToAsm/Format.hs
- compiler/GHC/CmmToAsm/Instr.hs
- compiler/GHC/CmmToAsm/PPC.hs
- compiler/GHC/CmmToAsm/PPC/CodeGen.hs
- compiler/GHC/CmmToAsm/PPC/Instr.hs
- compiler/GHC/CmmToAsm/PPC/Ppr.hs
- compiler/GHC/CmmToAsm/PPC/Regs.hs
- compiler/GHC/CmmToAsm/Reg/Graph.hs
- compiler/GHC/CmmToAsm/Reg/Graph/Coalesce.hs
- compiler/GHC/CmmToAsm/Reg/Graph/Spill.hs
- compiler/GHC/CmmToAsm/Reg/Graph/SpillClean.hs
- compiler/GHC/CmmToAsm/Reg/Graph/SpillCost.hs
- compiler/GHC/CmmToAsm/Reg/Graph/Stats.hs
- compiler/GHC/CmmToAsm/Reg/Graph/TrivColorable.hs
- compiler/GHC/CmmToAsm/Reg/Linear.hs
- compiler/GHC/CmmToAsm/Reg/Linear/AArch64.hs
- compiler/GHC/CmmToAsm/Reg/Linear/Base.hs
- compiler/GHC/CmmToAsm/Reg/Linear/JoinToTargets.hs


The diff was not included because it is too large.


View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/95d3ef7b4fc000185338aae2757bf8752e3cec92...00989fd206e4ff258992dd5481bc0ede5da876ad

-- 
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/95d3ef7b4fc000185338aae2757bf8752e3cec92...00989fd206e4ff258992dd5481bc0ede5da876ad
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/20240620/24cb3d33/attachment-0001.html>


More information about the ghc-commits mailing list