Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > 70ec89744a04da80369b4702b2c37256 > files > 806

ghc-doc-6.10.4-1mdv2010.0.i586.rpm

<!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
> -&gt; <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
> -&gt; <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
> -&gt; <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
> -&gt; <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
> -&gt; <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
> -&gt; <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
> -&gt; <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
> -&gt; <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
> -&gt; <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
> -&gt; [<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
> -&gt; <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
> -&gt; <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 -&gt; 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
> -&gt; <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
> -&gt; <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
> -&gt; <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
> -&gt; <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
> -&gt; <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
> -&gt; <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
> -&gt; <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
> -&gt; <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
> -&gt; <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
> -&gt; [<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
> -&gt; <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
> -&gt; <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
>