diff options
author | simonmar <unknown> | 1999-12-22 10:36:34 +0000 |
---|---|---|
committer | simonmar <unknown> | 1999-12-22 10:36:34 +0000 |
commit | 7da2408f0379012eb8d6d37d091f43045a6378a1 (patch) | |
tree | a8269950d23e5496a25076b14ab3086f4d9c4dd9 /ghc/compiler | |
parent | 7fd0e6b9ae44d9e4fdcc8183608bdae80d39d849 (diff) | |
download | haskell-7da2408f0379012eb8d6d37d091f43045a6378a1.tar.gz |
[project @ 1999-12-22 10:36:34 by simonmar]
Remove more vestiges of IntAbsOp, and now unused absIntCode.
Diffstat (limited to 'ghc/compiler')
-rw-r--r-- | ghc/compiler/nativeGen/MachCode.lhs | 67 |
1 files changed, 0 insertions, 67 deletions
diff --git a/ghc/compiler/nativeGen/MachCode.lhs b/ghc/compiler/nativeGen/MachCode.lhs index 14c2b8a1b7..b10a17e44b 100644 --- a/ghc/compiler/nativeGen/MachCode.lhs +++ b/ghc/compiler/nativeGen/MachCode.lhs @@ -947,7 +947,6 @@ getRegister (StDouble d) getRegister (StPrim primop [x]) -- unary PrimOps = case primop of IntNegOp -> trivialUCode (SUB False False g0) x - IntAbsOp -> absIntCode x NotOp -> trivialUCode (XNOR False g0) x FloatNegOp -> trivialUFCode FloatRep (FNEG F) x @@ -3274,69 +3273,3 @@ chrCode x #endif {- sparc_TARGET_ARCH -} \end{code} - -%************************************************************************ -%* * -\subsubsection{Absolute value on integers} -%* * -%************************************************************************ - -Absolute value on integers, mostly for gmp size check macros. Again, -the argument cannot be an StInt, because genericOpt already folded -constants. - -If applicable, do not fill the delay slots here; you will confuse the -register allocator. - -\begin{code} -absIntCode :: StixTree -> UniqSM Register - -#if alpha_TARGET_ARCH -absIntCode = panic "MachCode.absIntCode: not on Alphas" -#endif {- alpha_TARGET_ARCH -} - --- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -#if i386_TARGET_ARCH - -absIntCode x - = getRegister x `thenUs` \ register -> - --getNewRegNCG IntRep `thenUs` \ reg -> - getUniqLabelNCG `thenUs` \ lbl -> - let - code__2 dst = let code = registerCode register dst - src = registerName register dst - in code . if isFixed register && dst /= src - then mkSeqInstrs [MOV L (OpReg src) (OpReg dst), - TEST L (OpReg dst) (OpReg dst), - JXX GE lbl, - NEGI L (OpReg dst), - LABEL lbl] - else mkSeqInstrs [TEST L (OpReg src) (OpReg src), - JXX GE lbl, - NEGI L (OpReg src), - LABEL lbl] - in - returnUs (Any IntRep code__2) - -#endif {- i386_TARGET_ARCH -} --- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -#if sparc_TARGET_ARCH - -absIntCode x - = getRegister x `thenUs` \ register -> - getNewRegNCG IntRep `thenUs` \ reg -> - getUniqLabelNCG `thenUs` \ lbl -> - let - code = registerCode register reg - src = registerName register reg - code__2 dst = code . mkSeqInstrs [ - SUB False True g0 (RIReg src) dst, - BI GE False (ImmCLbl lbl), NOP, - OR False g0 (RIReg src) dst, - LABEL lbl] - in - returnUs (Any IntRep code__2) - -#endif {- sparc_TARGET_ARCH -} -\end{code} - |