Re: [Haskell-cafe] Implementing a New primop

Hi Paul,
The ghc-users list might get you a quicker response to this sort of
question.
Maybe a good start would be to give us a listing of which files you've
modified so far.
Antoine
On Fri, Oct 14, 2011 at 4:49 PM, Paul Monday
Alright, I wandered through some primtype issues, but I'm having another odd problem as I try to define my own primop. I've followed what the various wiki pages have to offer (primarily http://hackage.haskell.org/trac/ghc/wiki/AddingNewPrimitiveOperations and http://hackage.haskell.org/trac/ghc/wiki/Commentary/PrimOps) without success. I even unraveled my PrimOp to be, basically, an exact copy of another PrimOp without luck. The primop I'm attempting to add is now very, very simple and copies FloatAddOp exactly so there must be an additional file I have to modify before the primop is "completely" added. ./compiler/prelude/primops.txt.pp primop FloatVAddOp "plusFloatVec#" Dyadic Float# -> Float# -> Float# with commutable = True ./compiler/codeGen/CgPrimOp.hs translateOp FloatVAddOp = Just (MO_F_Add W32) The compiler error is below. I have the feeling that an interface is not being built somewhere … this must be a simple one but I can't find any references to this error anywhere … has anyone seen this one before????? "inplace/bin/ghc-stage1" -H64m -O0 -fasm -package-name ghc-7.3.20111007 -hide-all-packages -i -icompiler/basicTypes -icompiler/cmm -icompiler/codeGen -icompiler/coreSyn -icompiler/deSugar -icompiler/ghci -icompiler/hsSyn -icompiler/iface -icompiler/llvmGen -icompiler/main -icompiler/nativeGen -icompiler/parser -icompiler/prelude -icompiler/profiling -icompiler/rename -icompiler/simplCore -icompiler/simplStg -icompiler/specialise -icompiler/stgSyn -icompiler/stranal -icompiler/typecheck -icompiler/types -icompiler/utils -icompiler/vectorise -icompiler/stage2/build -icompiler/stage2/build/autogen -Icompiler/stage2/build -Icompiler/stage2/build/autogen -Icompiler/../libffi/build/include -Icompiler/stage2 -Icompiler/../libraries/base/cbits -Icompiler/../libraries/base/include -Icompiler/. -Icompiler/parser -Icompiler/utils -optP-DGHCI -optP-include -optPcompiler/stage2/build/autogen/cabal_macros.h -package Cabal-1.11.2 -package array-0.3.0.3 -package base-4.4.0.0 -package bin-package-db-0.0.0.0 -package bytestring-0.9.2.0 -package containers-0.4.2.0 -package directory-1.1.0.1 -package filepath-1.2.0.1 -package hoopl-3.8.7.2 -package hpc-0.5.1.0 -package old-time-1.0.0.7 -package process-1.1.0.0 -package template-haskell-2.6.0.0 -package unix-2.5.0.0 -Wall -fno-warn-name-shadowing -fno-warn-orphans -XHaskell98 -XNondecreasingIndentation -XCPP -XMagicHash -XUnboxedTuples -XPatternGuards -XForeignFunctionInterface -XEmptyDataDecls -XTypeSynonymInstances -XMultiParamTypeClasses -XFlexibleInstances -XRank2Types -XScopedTypeVariables -XDeriveDataTypeable -DGHCI_TABLES_NEXT_TO_CODE -DSTAGE=2 -O0 -fasm -no-user-package-conf -rtsopts -odir compiler/stage2/build -hidir compiler/stage2/build -stubdir compiler/stage2/build -hisuf hi -osuf o -hcsuf hc -c compiler/iface/BinIface.hs -o compiler/stage2/build/BinIface.o ghc-stage1: panic! (the 'impossible' happened) (GHC version 7.3.20111007 for x86_64-unknown-linux): applyTypeToArgs ghc-prim:GHC.Prim.sizeofMutableArray#{(w) v 91V} [gid[PrimOp]] @ e{tv i4L2} [tv] ds{v i4Lc} [lid] i#{v i4Lg} [lid] forall a{tv 12} [tv]. ghc-prim:GHC.Prim.MutableArray#{(w) tc 31m} e{tv i4L2} [tv] a{tv 12} [tv] -> ghc-prim:GHC.Prim.Int#{(w) tc 3G}
Paul Monday Parallel Scientific, LLC. paul.monday@parsci.com
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

Antoine Latter wrote:
Hi Paul,
The ghc-users list might get you a quicker response to this sort of question.
I thing ghc-cvs might be even better :-). Cheers, Erik -- ---------------------------------------------------------------------- Erik de Castro Lopo http://www.mega-nerd.com/
participants (2)
-
Antoine Latter
-
Erik de Castro Lopo