[Git][ghc/ghc][wip/ncg-simd] fix getStackSlotFor FF32
sheaf (@sheaf)
gitlab at gitlab.haskell.org
Tue Jun 18 10:45:51 UTC 2024
sheaf pushed to branch wip/ncg-simd at Glasgow Haskell Compiler / GHC
Commits:
8d32ceb9 by sheaf at 2024-06-18T12:45:42+02:00
fix getStackSlotFor FF32
- - - - -
2 changed files:
- compiler/GHC/CmmToAsm/Reg/Linear.hs
- compiler/GHC/CmmToAsm/Reg/Linear/StackMap.hs
Changes:
=====================================
compiler/GHC/CmmToAsm/Reg/Linear.hs
=====================================
@@ -878,7 +878,10 @@ allocRegsAndSpill_spill reading keep spills alloc r rs assig spill_loc
-- or v4i32 etc here. This is perhaps a sign that 'Format'
-- is not the right type to use here, but that is a battle
-- for another day.
- _ -> II64
+ VirtualRegD {} -> FF64
+ VirtualRegI {} -> II64
+ VirtualRegHi {} -> II64
+
-- Can we put the variable into a register it already was?
pref_reg <- findPrefRealReg r
=====================================
compiler/GHC/CmmToAsm/Reg/Linear/StackMap.hs
=====================================
@@ -55,7 +55,7 @@ getStackSlotFor fs@(StackMap _ reserved) _fmt regUnique
getStackSlotFor (StackMap freeSlot reserved) fmt regUnique =
let
- nbSlots = formatInBytes fmt `div` 8
+ nbSlots = max 1 (formatInBytes fmt `div` 8)
in
(StackMap (freeSlot+nbSlots) (addToUFM reserved regUnique freeSlot), freeSlot)
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/commit/8d32ceb97496ca9e7644dd758270bb198f490a13
--
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/commit/8d32ceb97496ca9e7644dd758270bb198f490a13
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/20240618/8c989504/attachment-0001.html>
More information about the ghc-commits
mailing list