hunk ./src/Synthesizer/Harpy.hs 1 +{-# LANGUAGE FlexibleInstances #-} hunk ./src/Synthesizer/Harpy.hs 4 +import Harpy.X86Assembler +import qualified Harpy.X86CodeGen as CG +import qualified Harpy.CodeGenMonad as CGM +import Harpy.CodeGenMonad + (CodeGen, newLabel, defineLabel, + ensureBufferSize, callDecl, runCodeGen, ) + + +class XMMTransfer a where + xmm_transfer_emit :: XMMReg -> a -> CodeGen e s () + +{- +instance XMMTransfer XMMReg where + xmm_transfer_emit (XMMReg dreg) (XMMReg reg) = + CG.x86_reg_emit dreg reg + +instance XMMTransfer Addr where + xmm_transfer_emit (XMMReg dreg) (Addr mem) = + CG.x86_mem_emit dreg mem +-} + +instance XMMTransfer Ind where + xmm_transfer_emit (XMMReg dreg) (Ind (Reg32 basereg)) = + CG.x86_membase_emit dreg basereg 0 + +instance XMMTransfer (Disp, Reg32) where + xmm_transfer_emit (XMMReg dreg) (Disp disp, Reg32 basereg) = + CG.x86_membase_emit dreg basereg disp + hunk ./synthesizer-harpy.cabal 27 - synthesizer-alsa >=0.1 && <0.2, - synthesizer-core >=0.3 && <0.4, - alsa >=0.3 && <0.4, + synthesizer-alsa >=0.3 && <0.4, + synthesizer-core >=0.4 && <0.5, + alsa-pcm >=0.5 && <0.6, hunk ./synthesizer-harpy.cabal 33 - -- numeric-prelude >=0.0.3 && <0.2, - -- non-negative >=0.0.5 && <0.1, - -- event-list >=0.0.8 && <0.1, + -- numeric-prelude >=0.2 && <0.3, + -- non-negative >=0.0.5 && <0.2, + -- event-list >=0.0.8 && <0.2, hunk ./synthesizer-harpy.cabal 37 - -- transformers >=0.1.1 && <0.2, + -- transformers >=0.2 && <0.3,