[Git][ghc/ghc][wip/T23576] Fix MO_SS_Conv W8/16 W64
Jaro Reinders (@Noughtmare)
gitlab at gitlab.haskell.org
Thu Jul 6 08:46:39 UTC 2023
Jaro Reinders pushed to branch wip/T23576 at Glasgow Haskell Compiler / GHC
Commits:
c471ab42 by Jaro Reinders at 2023-07-06T10:46:33+02:00
Fix MO_SS_Conv W8/16 W64
- - - - -
1 changed file:
- compiler/GHC/CmmToAsm/X86/CodeGen.hs
Changes:
=====================================
compiler/GHC/CmmToAsm/X86/CodeGen.hs
=====================================
@@ -624,8 +624,8 @@ iselExpr64 (CmmMachOp (MO_SS_Conv W16 W64) [expr]) = do
code <- getAnyReg expr
Reg64 r_dst_hi r_dst_lo <- getNewReg64
return $ RegCode64 (code r_dst_lo `snocOL`
- MOV II16 (OpReg r_dst_lo) (OpReg eax) `snocOL`
- CLTD II16 `snocOL`
+ MOVZxL II32 (OpReg r_dst_lo) (OpReg eax) `snocOL`
+ CLTD II32 `snocOL`
MOV II32 (OpReg eax) (OpReg r_dst_lo) `snocOL`
MOV II32 (OpReg edx) (OpReg r_dst_hi))
r_dst_hi
@@ -635,8 +635,8 @@ iselExpr64 (CmmMachOp (MO_SS_Conv W8 W64) [expr]) = do
code <- getAnyReg expr
Reg64 r_dst_hi r_dst_lo <- getNewReg64
return $ RegCode64 (code r_dst_lo `snocOL`
- MOV II8 (OpReg r_dst_lo) (OpReg eax) `snocOL`
- CLTD II8 `snocOL`
+ MOVZxL II32 (OpReg r_dst_lo) (OpReg eax) `snocOL`
+ CLTD II32 `snocOL`
MOV II32 (OpReg eax) (OpReg r_dst_lo) `snocOL`
MOV II32 (OpReg edx) (OpReg r_dst_hi))
r_dst_hi
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/commit/c471ab42c6fa16ee4ddfde393c5732a57382a25a
--
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/commit/c471ab42c6fa16ee4ddfde393c5732a57382a25a
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/20230706/2ba6b023/attachment-0001.html>
More information about the ghc-commits
mailing list