#include "HsVersions.h"
import {-# SOURCE #-} StixPrim ( amodeToStix )
-import MachMisc
-import MachRegs
import AbsCSyn hiding (spRel) -- bits and bobs..
-import Literal ( Literal(..) )
-import CallConv ( cCallConv )
+import ForeignCall ( CCallConv(..) )
import PrimOp ( PrimOp(..) )
import PrimRep ( PrimRep(..) )
-import SMRep ( arrWordsHdrSize )
-import Stix ( sStLitLbl, StixTree(..), StixTreeList, arrWordsHS )
-import UniqSupply ( returnUs, thenUs, UniqSM )
+import Stix ( StixTree(..), StixTreeList, arrWordsHS )
+import UniqSupply ( returnUs, UniqSM )
\end{code}
Although gmpCompare doesn't allocate space, it does temporarily use
(a1,a2,a3) = toStruct scratch1 (aa1,sa1,da1)
(a4,a5,a6) = toStruct scratch2 (aa2,sa2,da2)
- mpz_cmp = StCall SLIT("mpz_cmp") cCallConv IntRep [scratch1, scratch2]
+ mpz_cmp = StCall SLIT("__gmpz_cmp") CCallConv IntRep [scratch1, scratch2]
r1 = StAssign IntRep result mpz_cmp
in
returnUs (\xs -> a1 : a2 : a3 : a4 : a5 : a6 : r1 : xs)
da1 = stgArrWords__BYTE_ARR_CTS (amodeToStix cda1)
ai = amodeToStix cai
(a1,a2,a3) = toStruct scratch1 (aa1,sa1,da1)
- mpz_cmp_si = StCall SLIT("mpz_cmp_si") cCallConv IntRep [scratch1, ai]
+ mpz_cmp_si = StCall SLIT("__gmpz_cmp_si") CCallConv IntRep [scratch1, ai]
r1 = StAssign IntRep result mpz_cmp_si
in
returnUs (\xs -> a1 : a2 : a3 : r1 : xs)
da = stgArrWords__BYTE_ARR_CTS (amodeToStix cda)
(a1,a2,a3) = toStruct scratch1 (aa,sa,da)
- mpz_get_si = StCall SLIT("mpz_get_si") cCallConv IntRep [scratch1]
+ mpz_get_si = StCall SLIT("__gmpz_get_si") CCallConv IntRep [scratch1]
r1 = StAssign IntRep result mpz_get_si
in
returnUs (\xs -> a1 : a2 : a3 : r1 : xs)
da = stgArrWords__BYTE_ARR_CTS (amodeToStix cda)
(a1,a2,a3) = toStruct scratch1 (aa,sa,da)
- mpz_get_ui = StCall SLIT("mpz_get_ui") cCallConv IntRep [scratch1]
+ mpz_get_ui = StCall SLIT("__gmpz_get_ui") CCallConv IntRep [scratch1]
r1 = StAssign WordRep result mpz_get_ui
in
returnUs (\xs -> a1 : a2 : a3 : r1 : xs)