<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <!--Rendered using the Haskell Html Library v0.2--> <HTML ><HEAD ><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8" ><TITLE >MachOp</TITLE ><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css" ><SCRIPT SRC="haddock-util.js" TYPE="text/javascript" ></SCRIPT ><SCRIPT TYPE="text/javascript" >window.onload = function () {setSynopsis("mini_MachOp.html")};</SCRIPT ></HEAD ><BODY ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="topbar" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD ><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" " ></TD ><TD CLASS="title" >ghc-6.10.4: The GHC API</TD ><TD CLASS="topbut" ><A HREF="index.html" >Contents</A ></TD ><TD CLASS="topbut" ><A HREF="doc-index.html" >Index</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="modulebar" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD ><FONT SIZE="6" >MachOp</FONT ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="section1" >Synopsis</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="decl" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > <A HREF="#t%3AMachRep" >MachRep</A > </TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="decl" >= <A HREF="#v%3AI8" >I8</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AI16" >I16</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AI32" >I32</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AI64" >I64</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AI128" >I128</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AF32" >F32</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AF64" >F64</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AF80" >F80</A ></TD ></TR ></TABLE ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AmachRepBitWidth" >machRepBitWidth</A > :: <A HREF="MachOp.html#t%3AMachRep" >MachRep</A > -> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AmachRepByteWidth" >machRepByteWidth</A > :: <A HREF="MachOp.html#t%3AMachRep" >MachRep</A > -> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AmachRepLogWidth" >machRepLogWidth</A > :: <A HREF="MachOp.html#t%3AMachRep" >MachRep</A > -> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AisFloatingRep" >isFloatingRep</A > :: <A HREF="MachOp.html#t%3AMachRep" >MachRep</A > -> <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool" >Bool</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > <A HREF="#t%3AMachHint" >MachHint</A > </TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="decl" >= <A HREF="#v%3ANoHint" >NoHint</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3APtrHint" >PtrHint</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3ASignedHint" >SignedHint</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AFloatHint" >FloatHint</A ></TD ></TR ></TABLE ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > <A HREF="#t%3AMachOp" >MachOp</A > </TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="decl" >= <A HREF="#v%3AMO_Add" >MO_Add</A > <A HREF="MachOp.html#t%3AMachRep" >MachRep</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AMO_Sub" >MO_Sub</A > <A HREF="MachOp.html#t%3AMachRep" >MachRep</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AMO_Eq" >MO_Eq</A > <A HREF="MachOp.html#t%3AMachRep" >MachRep</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AMO_Ne" >MO_Ne</A > <A HREF="MachOp.html#t%3AMachRep" >MachRep</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AMO_Mul" >MO_Mul</A > <A HREF="MachOp.html#t%3AMachRep" >MachRep</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AMO_S_MulMayOflo" >MO_S_MulMayOflo</A > <A HREF="MachOp.html#t%3AMachRep" >MachRep</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AMO_S_Quot" >MO_S_Quot</A > <A HREF="MachOp.html#t%3AMachRep" >MachRep</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AMO_S_Rem" >MO_S_Rem</A > <A HREF="MachOp.html#t%3AMachRep" >MachRep</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AMO_S_Neg" >MO_S_Neg</A > <A HREF="MachOp.html#t%3AMachRep" >MachRep</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AMO_U_MulMayOflo" >MO_U_MulMayOflo</A > <A HREF="MachOp.html#t%3AMachRep" >MachRep</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AMO_U_Quot" >MO_U_Quot</A > <A HREF="MachOp.html#t%3AMachRep" >MachRep</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AMO_U_Rem" >MO_U_Rem</A > <A HREF="MachOp.html#t%3AMachRep" >MachRep</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AMO_S_Ge" >MO_S_Ge</A > <A HREF="MachOp.html#t%3AMachRep" >MachRep</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AMO_S_Le" >MO_S_Le</A > <A HREF="MachOp.html#t%3AMachRep" >MachRep</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AMO_S_Gt" >MO_S_Gt</A > <A HREF="MachOp.html#t%3AMachRep" >MachRep</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AMO_S_Lt" >MO_S_Lt</A > <A HREF="MachOp.html#t%3AMachRep" >MachRep</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AMO_U_Ge" >MO_U_Ge</A > <A HREF="MachOp.html#t%3AMachRep" >MachRep</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AMO_U_Le" >MO_U_Le</A > <A HREF="MachOp.html#t%3AMachRep" >MachRep</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AMO_U_Gt" >MO_U_Gt</A > <A HREF="MachOp.html#t%3AMachRep" >MachRep</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AMO_U_Lt" >MO_U_Lt</A > <A HREF="MachOp.html#t%3AMachRep" >MachRep</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AMO_And" >MO_And</A > <A HREF="MachOp.html#t%3AMachRep" >MachRep</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AMO_Or" >MO_Or</A > <A HREF="MachOp.html#t%3AMachRep" >MachRep</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AMO_Xor" >MO_Xor</A > <A HREF="MachOp.html#t%3AMachRep" >MachRep</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AMO_Not" >MO_Not</A > <A HREF="MachOp.html#t%3AMachRep" >MachRep</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AMO_Shl" >MO_Shl</A > <A HREF="MachOp.html#t%3AMachRep" >MachRep</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AMO_U_Shr" >MO_U_Shr</A > <A HREF="MachOp.html#t%3AMachRep" >MachRep</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AMO_S_Shr" >MO_S_Shr</A > <A HREF="MachOp.html#t%3AMachRep" >MachRep</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AMO_S_Conv" >MO_S_Conv</A > <A HREF="MachOp.html#t%3AMachRep" >MachRep</A > <A HREF="MachOp.html#t%3AMachRep" >MachRep</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AMO_U_Conv" >MO_U_Conv</A > <A HREF="MachOp.html#t%3AMachRep" >MachRep</A > <A HREF="MachOp.html#t%3AMachRep" >MachRep</A ></TD ></TR ></TABLE ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3ApprMachOp" >pprMachOp</A > :: <A HREF="MachOp.html#t%3AMachOp" >MachOp</A > -> <A HREF="Outputable.html#t%3ASDoc" >SDoc</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AisCommutableMachOp" >isCommutableMachOp</A > :: <A HREF="MachOp.html#t%3AMachOp" >MachOp</A > -> <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool" >Bool</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AisAssociativeMachOp" >isAssociativeMachOp</A > :: <A HREF="MachOp.html#t%3AMachOp" >MachOp</A > -> <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool" >Bool</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AisComparisonMachOp" >isComparisonMachOp</A > :: <A HREF="MachOp.html#t%3AMachOp" >MachOp</A > -> <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool" >Bool</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AresultRepOfMachOp" >resultRepOfMachOp</A > :: <A HREF="MachOp.html#t%3AMachOp" >MachOp</A > -> <A HREF="MachOp.html#t%3AMachRep" >MachRep</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AmachOpArgReps" >machOpArgReps</A > :: <A HREF="MachOp.html#t%3AMachOp" >MachOp</A > -> [<A HREF="MachOp.html#t%3AMachRep" >MachRep</A >]</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AmaybeInvertComparison" >maybeInvertComparison</A > :: <A HREF="MachOp.html#t%3AMachOp" >MachOp</A > -> <A HREF="../base/Data-Maybe.html#t%3AMaybe" >Maybe</A > <A HREF="MachOp.html#t%3AMachOp" >MachOp</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > <A HREF="#t%3ACallishMachOp" >CallishMachOp</A > </TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="decl" >= <A HREF="#v%3AMO_F64_Pwr" >MO_F64_Pwr</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AMO_F64_Sin" >MO_F64_Sin</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AMO_F64_Cos" >MO_F64_Cos</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AMO_F64_Tan" >MO_F64_Tan</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AMO_F64_Sinh" >MO_F64_Sinh</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AMO_F64_Cosh" >MO_F64_Cosh</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AMO_F64_Tanh" >MO_F64_Tanh</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AMO_F64_Asin" >MO_F64_Asin</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AMO_F64_Acos" >MO_F64_Acos</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AMO_F64_Atan" >MO_F64_Atan</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AMO_F64_Log" >MO_F64_Log</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AMO_F64_Exp" >MO_F64_Exp</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AMO_F64_Sqrt" >MO_F64_Sqrt</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AMO_F32_Pwr" >MO_F32_Pwr</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AMO_F32_Sin" >MO_F32_Sin</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AMO_F32_Cos" >MO_F32_Cos</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AMO_F32_Tan" >MO_F32_Tan</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AMO_F32_Sinh" >MO_F32_Sinh</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AMO_F32_Cosh" >MO_F32_Cosh</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AMO_F32_Tanh" >MO_F32_Tanh</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AMO_F32_Asin" >MO_F32_Asin</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AMO_F32_Acos" >MO_F32_Acos</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AMO_F32_Atan" >MO_F32_Atan</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AMO_F32_Log" >MO_F32_Log</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AMO_F32_Exp" >MO_F32_Exp</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AMO_F32_Sqrt" >MO_F32_Sqrt</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AMO_WriteBarrier" >MO_WriteBarrier</A ></TD ></TR ></TABLE ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3ApprCallishMachOp" >pprCallishMachOp</A > :: <A HREF="MachOp.html#t%3ACallishMachOp" >CallishMachOp</A > -> <A HREF="Outputable.html#t%3ASDoc" >SDoc</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" >wordRep</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" >halfWordRep</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" >cIntRep</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" >cLongRep</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" >mo_wordAdd</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" >mo_wordSub</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" >mo_wordEq</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" >mo_wordNe</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" >mo_wordMul</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" >mo_wordSQuot</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" >mo_wordSRem</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" >mo_wordSNeg</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" >mo_wordUQuot</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" >mo_wordURem</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" >mo_wordSGe</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" >mo_wordSLe</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" >mo_wordSGt</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" >mo_wordSLt</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" >mo_wordUGe</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" >mo_wordULe</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" >mo_wordUGt</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" >mo_wordULt</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" >mo_wordAnd</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" >mo_wordOr</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" >mo_wordXor</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" >mo_wordNot</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" >mo_wordShl</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" >mo_wordSShr</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" >mo_wordUShr</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" >mo_u_8To32</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" >mo_s_8To32</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" >mo_u_16To32</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" >mo_s_16To32</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" >mo_u_8ToWord</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" >mo_s_8ToWord</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" >mo_u_16ToWord</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" >mo_s_16ToWord</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" >mo_u_32ToWord</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" >mo_s_32ToWord</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" >mo_32To8</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" >mo_32To16</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" >mo_WordTo8</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" >mo_WordTo16</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" >mo_WordTo32</TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="section1" >Documentation</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > <A NAME="t:MachRep" ><A NAME="t%3AMachRep" ></A ></A ><B >MachRep</B > </TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="ndoc" ><P >A MachRep is the <A HREF="representation.html" >representation</A > of a value in Cmm. It is used for resource allocation: eg. which kind of register a value should be stored in. </P ><P >The primary requirement is that there exists a function </P ><P >cmmExprRep :: CmmExpr -> MachRep </P ><P >This means that: </P ><UL ><LI > a register has an implicit MachRep - a literal has an implicit MachRep - an operation (MachOp) has an implicit result MachRep </LI ></UL ><P >It also means that we can check that the arguments to a MachOp have the correct MachRep, i.e. we can do a kind of lint-style type checking on Cmm. </P ></TD ></TR ><TR ><TD CLASS="section4" >Constructors</TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="arg" ><A NAME="v:I8" ><A NAME="v%3AI8" ></A ></A ><B >I8</B ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:I16" ><A NAME="v%3AI16" ></A ></A ><B >I16</B ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:I32" ><A NAME="v%3AI32" ></A ></A ><B >I32</B ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:I64" ><A NAME="v%3AI64" ></A ></A ><B >I64</B ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:I128" ><A NAME="v%3AI128" ></A ></A ><B >I128</B ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:F32" ><A NAME="v%3AF32" ></A ></A ><B >F32</B ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:F64" ><A NAME="v%3AF64" ></A ></A ><B >F64</B ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:F80" ><A NAME="v%3AF80" ></A ></A ><B >F80</B ></TD ><TD CLASS="rdoc" ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="section4" ><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:MachRep')" ALT="show/hide" > Instances</TD ></TR ><TR ><TD CLASS="body" ><DIV ID="i:MachRep" STYLE="display:block;" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="decl" ><A HREF="../base/Data-Eq.html#t%3AEq" >Eq</A > <A HREF="MachOp.html#t%3AMachRep" >MachRep</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="../base/Data-Ord.html#t%3AOrd" >Ord</A > <A HREF="MachOp.html#t%3AMachRep" >MachRep</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="../base/Text-Show.html#t%3AShow" >Show</A > <A HREF="MachOp.html#t%3AMachRep" >MachRep</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Outputable.html#t%3AOutputable" >Outputable</A > <A HREF="MachOp.html#t%3AMachRep" >MachRep</A ></TD ></TR ></TABLE ></DIV ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:machRepBitWidth" ><A NAME="v%3AmachRepBitWidth" ></A ></A ><B >machRepBitWidth</B > :: <A HREF="MachOp.html#t%3AMachRep" >MachRep</A > -> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:machRepByteWidth" ><A NAME="v%3AmachRepByteWidth" ></A ></A ><B >machRepByteWidth</B > :: <A HREF="MachOp.html#t%3AMachRep" >MachRep</A > -> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:machRepLogWidth" ><A NAME="v%3AmachRepLogWidth" ></A ></A ><B >machRepLogWidth</B > :: <A HREF="MachOp.html#t%3AMachRep" >MachRep</A > -> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:isFloatingRep" ><A NAME="v%3AisFloatingRep" ></A ></A ><B >isFloatingRep</B > :: <A HREF="MachOp.html#t%3AMachRep" >MachRep</A > -> <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool" >Bool</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > <A NAME="t:MachHint" ><A NAME="t%3AMachHint" ></A ></A ><B >MachHint</B > </TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="section4" >Constructors</TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="arg" ><A NAME="v:NoHint" ><A NAME="v%3ANoHint" ></A ></A ><B >NoHint</B ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:PtrHint" ><A NAME="v%3APtrHint" ></A ></A ><B >PtrHint</B ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:SignedHint" ><A NAME="v%3ASignedHint" ></A ></A ><B >SignedHint</B ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:FloatHint" ><A NAME="v%3AFloatHint" ></A ></A ><B >FloatHint</B ></TD ><TD CLASS="rdoc" ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="section4" ><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:MachHint')" ALT="show/hide" > Instances</TD ></TR ><TR ><TD CLASS="body" ><DIV ID="i:MachHint" STYLE="display:block;" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="decl" ><A HREF="../base/Data-Eq.html#t%3AEq" >Eq</A > <A HREF="MachOp.html#t%3AMachHint" >MachHint</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Outputable.html#t%3AOutputable" >Outputable</A > <A HREF="MachOp.html#t%3AMachHint" >MachHint</A ></TD ></TR ></TABLE ></DIV ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > <A NAME="t:MachOp" ><A NAME="t%3AMachOp" ></A ></A ><B >MachOp</B > </TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="ndoc" ><P >Machine-level primops; ones which we can reasonably delegate to the native code generators to handle. Basically contains C's primops and no others. </P ><P >Nomenclature: all ops indicate width and signedness, where appropriate. Widths: 8/16/32/64 means the given size, obviously. Nat means the operation works on STG word sized objects. Signedness: S means signed, U means unsigned. For operations where signedness is irrelevant or makes no difference (for example integer add), the signedness component is omitted. </P ><P >An exception: NatP is a ptr-typed native word. From the point of view of the native code generators this distinction is irrelevant, but the C code generator sometimes needs this info to emit the right casts. </P ></TD ></TR ><TR ><TD CLASS="section4" >Constructors</TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="arg" ><A NAME="v:MO_Add" ><A NAME="v%3AMO_Add" ></A ></A ><B >MO_Add</B > <A HREF="MachOp.html#t%3AMachRep" >MachRep</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:MO_Sub" ><A NAME="v%3AMO_Sub" ></A ></A ><B >MO_Sub</B > <A HREF="MachOp.html#t%3AMachRep" >MachRep</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:MO_Eq" ><A NAME="v%3AMO_Eq" ></A ></A ><B >MO_Eq</B > <A HREF="MachOp.html#t%3AMachRep" >MachRep</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:MO_Ne" ><A NAME="v%3AMO_Ne" ></A ></A ><B >MO_Ne</B > <A HREF="MachOp.html#t%3AMachRep" >MachRep</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:MO_Mul" ><A NAME="v%3AMO_Mul" ></A ></A ><B >MO_Mul</B > <A HREF="MachOp.html#t%3AMachRep" >MachRep</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:MO_S_MulMayOflo" ><A NAME="v%3AMO_S_MulMayOflo" ></A ></A ><B >MO_S_MulMayOflo</B > <A HREF="MachOp.html#t%3AMachRep" >MachRep</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:MO_S_Quot" ><A NAME="v%3AMO_S_Quot" ></A ></A ><B >MO_S_Quot</B > <A HREF="MachOp.html#t%3AMachRep" >MachRep</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:MO_S_Rem" ><A NAME="v%3AMO_S_Rem" ></A ></A ><B >MO_S_Rem</B > <A HREF="MachOp.html#t%3AMachRep" >MachRep</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:MO_S_Neg" ><A NAME="v%3AMO_S_Neg" ></A ></A ><B >MO_S_Neg</B > <A HREF="MachOp.html#t%3AMachRep" >MachRep</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:MO_U_MulMayOflo" ><A NAME="v%3AMO_U_MulMayOflo" ></A ></A ><B >MO_U_MulMayOflo</B > <A HREF="MachOp.html#t%3AMachRep" >MachRep</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:MO_U_Quot" ><A NAME="v%3AMO_U_Quot" ></A ></A ><B >MO_U_Quot</B > <A HREF="MachOp.html#t%3AMachRep" >MachRep</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:MO_U_Rem" ><A NAME="v%3AMO_U_Rem" ></A ></A ><B >MO_U_Rem</B > <A HREF="MachOp.html#t%3AMachRep" >MachRep</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:MO_S_Ge" ><A NAME="v%3AMO_S_Ge" ></A ></A ><B >MO_S_Ge</B > <A HREF="MachOp.html#t%3AMachRep" >MachRep</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:MO_S_Le" ><A NAME="v%3AMO_S_Le" ></A ></A ><B >MO_S_Le</B > <A HREF="MachOp.html#t%3AMachRep" >MachRep</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:MO_S_Gt" ><A NAME="v%3AMO_S_Gt" ></A ></A ><B >MO_S_Gt</B > <A HREF="MachOp.html#t%3AMachRep" >MachRep</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:MO_S_Lt" ><A NAME="v%3AMO_S_Lt" ></A ></A ><B >MO_S_Lt</B > <A HREF="MachOp.html#t%3AMachRep" >MachRep</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:MO_U_Ge" ><A NAME="v%3AMO_U_Ge" ></A ></A ><B >MO_U_Ge</B > <A HREF="MachOp.html#t%3AMachRep" >MachRep</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:MO_U_Le" ><A NAME="v%3AMO_U_Le" ></A ></A ><B >MO_U_Le</B > <A HREF="MachOp.html#t%3AMachRep" >MachRep</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:MO_U_Gt" ><A NAME="v%3AMO_U_Gt" ></A ></A ><B >MO_U_Gt</B > <A HREF="MachOp.html#t%3AMachRep" >MachRep</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:MO_U_Lt" ><A NAME="v%3AMO_U_Lt" ></A ></A ><B >MO_U_Lt</B > <A HREF="MachOp.html#t%3AMachRep" >MachRep</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:MO_And" ><A NAME="v%3AMO_And" ></A ></A ><B >MO_And</B > <A HREF="MachOp.html#t%3AMachRep" >MachRep</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:MO_Or" ><A NAME="v%3AMO_Or" ></A ></A ><B >MO_Or</B > <A HREF="MachOp.html#t%3AMachRep" >MachRep</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:MO_Xor" ><A NAME="v%3AMO_Xor" ></A ></A ><B >MO_Xor</B > <A HREF="MachOp.html#t%3AMachRep" >MachRep</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:MO_Not" ><A NAME="v%3AMO_Not" ></A ></A ><B >MO_Not</B > <A HREF="MachOp.html#t%3AMachRep" >MachRep</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:MO_Shl" ><A NAME="v%3AMO_Shl" ></A ></A ><B >MO_Shl</B > <A HREF="MachOp.html#t%3AMachRep" >MachRep</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:MO_U_Shr" ><A NAME="v%3AMO_U_Shr" ></A ></A ><B >MO_U_Shr</B > <A HREF="MachOp.html#t%3AMachRep" >MachRep</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:MO_S_Shr" ><A NAME="v%3AMO_S_Shr" ></A ></A ><B >MO_S_Shr</B > <A HREF="MachOp.html#t%3AMachRep" >MachRep</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:MO_S_Conv" ><A NAME="v%3AMO_S_Conv" ></A ></A ><B >MO_S_Conv</B > <A HREF="MachOp.html#t%3AMachRep" >MachRep</A > <A HREF="MachOp.html#t%3AMachRep" >MachRep</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:MO_U_Conv" ><A NAME="v%3AMO_U_Conv" ></A ></A ><B >MO_U_Conv</B > <A HREF="MachOp.html#t%3AMachRep" >MachRep</A > <A HREF="MachOp.html#t%3AMachRep" >MachRep</A ></TD ><TD CLASS="rdoc" ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="section4" ><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:MachOp')" ALT="show/hide" > Instances</TD ></TR ><TR ><TD CLASS="body" ><DIV ID="i:MachOp" STYLE="display:block;" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="decl" ><A HREF="../base/Data-Eq.html#t%3AEq" >Eq</A > <A HREF="MachOp.html#t%3AMachOp" >MachOp</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="../base/Text-Show.html#t%3AShow" >Show</A > <A HREF="MachOp.html#t%3AMachOp" >MachOp</A ></TD ></TR ></TABLE ></DIV ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:pprMachOp" ><A NAME="v%3ApprMachOp" ></A ></A ><B >pprMachOp</B > :: <A HREF="MachOp.html#t%3AMachOp" >MachOp</A > -> <A HREF="Outputable.html#t%3ASDoc" >SDoc</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:isCommutableMachOp" ><A NAME="v%3AisCommutableMachOp" ></A ></A ><B >isCommutableMachOp</B > :: <A HREF="MachOp.html#t%3AMachOp" >MachOp</A > -> <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool" >Bool</A ></TD ></TR ><TR ><TD CLASS="doc" ><P >Returns <TT >True</TT > if the MachOp has commutable arguments. This is used in the platform-independent Cmm optimisations. </P ><P >If in doubt, return <TT >False</TT >. This generates worse code on the native routes, but is otherwise harmless. </P ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:isAssociativeMachOp" ><A NAME="v%3AisAssociativeMachOp" ></A ></A ><B >isAssociativeMachOp</B > :: <A HREF="MachOp.html#t%3AMachOp" >MachOp</A > -> <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool" >Bool</A ></TD ></TR ><TR ><TD CLASS="doc" ><P >Returns <TT >True</TT > if the MachOp is associative (i.e. <TT >(x+y)+z == x+(y+z)</TT >) This is used in the platform-independent Cmm optimisations. </P ><P >If in doubt, return <TT >False</TT >. This generates worse code on the native routes, but is otherwise harmless. </P ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:isComparisonMachOp" ><A NAME="v%3AisComparisonMachOp" ></A ></A ><B >isComparisonMachOp</B > :: <A HREF="MachOp.html#t%3AMachOp" >MachOp</A > -> <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool" >Bool</A ></TD ></TR ><TR ><TD CLASS="doc" ><P >Returns <TT >True</TT > if the MachOp is a comparison. </P ><P >If in doubt, return False. This generates worse code on the native routes, but is otherwise harmless. </P ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:resultRepOfMachOp" ><A NAME="v%3AresultRepOfMachOp" ></A ></A ><B >resultRepOfMachOp</B > :: <A HREF="MachOp.html#t%3AMachOp" >MachOp</A > -> <A HREF="MachOp.html#t%3AMachRep" >MachRep</A ></TD ></TR ><TR ><TD CLASS="doc" >Returns the MachRep of the result of a MachOp. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:machOpArgReps" ><A NAME="v%3AmachOpArgReps" ></A ></A ><B >machOpArgReps</B > :: <A HREF="MachOp.html#t%3AMachOp" >MachOp</A > -> [<A HREF="MachOp.html#t%3AMachRep" >MachRep</A >]</TD ></TR ><TR ><TD CLASS="doc" >This function is used for debugging only: we can check whether an application of a MachOp is <A HREF="type-correct.html" >type-correct</A > by checking that the MachReps of its arguments are the same as the MachOp expects. This is used when linting a CmmExpr. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:maybeInvertComparison" ><A NAME="v%3AmaybeInvertComparison" ></A ></A ><B >maybeInvertComparison</B > :: <A HREF="MachOp.html#t%3AMachOp" >MachOp</A > -> <A HREF="../base/Data-Maybe.html#t%3AMaybe" >Maybe</A > <A HREF="MachOp.html#t%3AMachOp" >MachOp</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > <A NAME="t:CallishMachOp" ><A NAME="t%3ACallishMachOp" ></A ></A ><B >CallishMachOp</B > </TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="section4" >Constructors</TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="arg" ><A NAME="v:MO_F64_Pwr" ><A NAME="v%3AMO_F64_Pwr" ></A ></A ><B >MO_F64_Pwr</B ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:MO_F64_Sin" ><A NAME="v%3AMO_F64_Sin" ></A ></A ><B >MO_F64_Sin</B ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:MO_F64_Cos" ><A NAME="v%3AMO_F64_Cos" ></A ></A ><B >MO_F64_Cos</B ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:MO_F64_Tan" ><A NAME="v%3AMO_F64_Tan" ></A ></A ><B >MO_F64_Tan</B ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:MO_F64_Sinh" ><A NAME="v%3AMO_F64_Sinh" ></A ></A ><B >MO_F64_Sinh</B ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:MO_F64_Cosh" ><A NAME="v%3AMO_F64_Cosh" ></A ></A ><B >MO_F64_Cosh</B ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:MO_F64_Tanh" ><A NAME="v%3AMO_F64_Tanh" ></A ></A ><B >MO_F64_Tanh</B ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:MO_F64_Asin" ><A NAME="v%3AMO_F64_Asin" ></A ></A ><B >MO_F64_Asin</B ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:MO_F64_Acos" ><A NAME="v%3AMO_F64_Acos" ></A ></A ><B >MO_F64_Acos</B ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:MO_F64_Atan" ><A NAME="v%3AMO_F64_Atan" ></A ></A ><B >MO_F64_Atan</B ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:MO_F64_Log" ><A NAME="v%3AMO_F64_Log" ></A ></A ><B >MO_F64_Log</B ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:MO_F64_Exp" ><A NAME="v%3AMO_F64_Exp" ></A ></A ><B >MO_F64_Exp</B ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:MO_F64_Sqrt" ><A NAME="v%3AMO_F64_Sqrt" ></A ></A ><B >MO_F64_Sqrt</B ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:MO_F32_Pwr" ><A NAME="v%3AMO_F32_Pwr" ></A ></A ><B >MO_F32_Pwr</B ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:MO_F32_Sin" ><A NAME="v%3AMO_F32_Sin" ></A ></A ><B >MO_F32_Sin</B ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:MO_F32_Cos" ><A NAME="v%3AMO_F32_Cos" ></A ></A ><B >MO_F32_Cos</B ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:MO_F32_Tan" ><A NAME="v%3AMO_F32_Tan" ></A ></A ><B >MO_F32_Tan</B ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:MO_F32_Sinh" ><A NAME="v%3AMO_F32_Sinh" ></A ></A ><B >MO_F32_Sinh</B ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:MO_F32_Cosh" ><A NAME="v%3AMO_F32_Cosh" ></A ></A ><B >MO_F32_Cosh</B ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:MO_F32_Tanh" ><A NAME="v%3AMO_F32_Tanh" ></A ></A ><B >MO_F32_Tanh</B ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:MO_F32_Asin" ><A NAME="v%3AMO_F32_Asin" ></A ></A ><B >MO_F32_Asin</B ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:MO_F32_Acos" ><A NAME="v%3AMO_F32_Acos" ></A ></A ><B >MO_F32_Acos</B ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:MO_F32_Atan" ><A NAME="v%3AMO_F32_Atan" ></A ></A ><B >MO_F32_Atan</B ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:MO_F32_Log" ><A NAME="v%3AMO_F32_Log" ></A ></A ><B >MO_F32_Log</B ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:MO_F32_Exp" ><A NAME="v%3AMO_F32_Exp" ></A ></A ><B >MO_F32_Exp</B ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:MO_F32_Sqrt" ><A NAME="v%3AMO_F32_Sqrt" ></A ></A ><B >MO_F32_Sqrt</B ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:MO_WriteBarrier" ><A NAME="v%3AMO_WriteBarrier" ></A ></A ><B >MO_WriteBarrier</B ></TD ><TD CLASS="rdoc" ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="section4" ><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:CallishMachOp')" ALT="show/hide" > Instances</TD ></TR ><TR ><TD CLASS="body" ><DIV ID="i:CallishMachOp" STYLE="display:block;" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="decl" ><A HREF="../base/Data-Eq.html#t%3AEq" >Eq</A > <A HREF="MachOp.html#t%3ACallishMachOp" >CallishMachOp</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="../base/Text-Show.html#t%3AShow" >Show</A > <A HREF="MachOp.html#t%3ACallishMachOp" >CallishMachOp</A ></TD ></TR ></TABLE ></DIV ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:pprCallishMachOp" ><A NAME="v%3ApprCallishMachOp" ></A ></A ><B >pprCallishMachOp</B > :: <A HREF="MachOp.html#t%3ACallishMachOp" >CallishMachOp</A > -> <A HREF="Outputable.html#t%3ASDoc" >SDoc</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" >wordRep</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" >halfWordRep</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" >cIntRep</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" >cLongRep</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" >mo_wordAdd</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" >mo_wordSub</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" >mo_wordEq</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" >mo_wordNe</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" >mo_wordMul</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" >mo_wordSQuot</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" >mo_wordSRem</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" >mo_wordSNeg</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" >mo_wordUQuot</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" >mo_wordURem</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" >mo_wordSGe</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" >mo_wordSLe</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" >mo_wordSGt</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" >mo_wordSLt</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" >mo_wordUGe</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" >mo_wordULe</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" >mo_wordUGt</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" >mo_wordULt</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" >mo_wordAnd</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" >mo_wordOr</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" >mo_wordXor</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" >mo_wordNot</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" >mo_wordShl</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" >mo_wordSShr</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" >mo_wordUShr</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" >mo_u_8To32</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" >mo_s_8To32</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" >mo_u_16To32</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" >mo_s_16To32</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" >mo_u_8ToWord</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" >mo_s_8ToWord</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" >mo_u_16ToWord</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" >mo_s_16ToWord</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" >mo_u_32ToWord</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" >mo_s_32ToWord</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" >mo_32To8</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" >mo_32To16</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" >mo_WordTo8</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" >mo_WordTo16</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" >mo_WordTo32</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="botbar" >Produced by <A HREF="http://www.haskell.org/haddock/" >Haddock</A > version 2.4.2</TD ></TR ></TABLE ></BODY ></HTML >