OSDN Git Service

* doc/rtl.texi (Expressions): Add more docs on conversion functions.
authordevans <devans>
Sat, 23 Jan 2010 18:39:35 +0000 (18:39 +0000)
committerdevans <devans>
Sat, 23 Jan 2010 18:39:35 +0000 (18:39 +0000)
cgen/ChangeLog
cgen/doc/rtl.texi

index e66fa2b..782d657 100644 (file)
@@ -1,3 +1,7 @@
+2010-01-23  Doug Evans  <dje@sebabeach.org>
+
+       * doc/rtl.texi (Expressions): Add more docs on conversion functions.
+
 2010-01-21  Doug Evans  <dje@sebabeach.org>
 
        * doc/rtl.texi (Expressions): Fix docs on `subword'.
index f2468a5..73b527c 100644 (file)
@@ -2760,12 +2760,50 @@ otherwise the result is zero.
 The mode of the result is @samp{BI}.
 @samp{mode} is generally elided or is @samp{BI}.
 
-@item (convop mode operand)
-Perform a mode->mode conversion operation.
+@item (integer-convop mode operand)
+Perform an integer mode->mode conversion operation.
 
-@samp{convop} is one of
-@code{ext}, @code{zext}, @code{trunc}, @code{float}, @code{ufloat},
-@code{fix}, @code{ufix}.
+@samp{integer-convop} is one of:
+
+@itemize @bullet
+@item @code{ext}
+Sign-extend @samp{operand}, which must have an integer mode
+narrower than @samp{mode}, which also must be an integer mode.
+@item @code{zext}
+Zero-extend @samp{operand}, which must have an integer mode
+narrower than @samp{mode}, which also must be an integer mode.
+@item @code{trunc}
+Truncate @samp{operand}, which must have an integer mode
+wider than @samp{mode}, which also must be an integer mode.
+@end itemize
+
+@item (float-convop mode operand)
+Perform a mode->mode conversion operation involving a floating point value.
+
+@samp{float-convop} is one of:
+
+@itemize @bullet
+@item @code{fext}
+Extend @samp{operand}, which must have a floating point mode
+narrower than @samp{mode}, which also must be a floating point mode.
+@item @code{ftrunc}
+Truncate @samp{operand}, which must have a floating point mode
+wider than @samp{mode}, which also must be a floating point mode.
+@item @code{float}
+Convert @samp{operand}, which must have an integer mode,
+to a floating point value of mode @samp{mode}.
+@samp{operand} is treated as a signed integer.
+@item @code{ufloat}
+Convert @samp{operand}, which must have an integer mode,
+to a floating point value of mode @samp{mode}.
+@samp{operand} is treated as an unsigned integer.
+@item @code{fix}
+Convert @samp{operand}, which must have a floating point mode,
+to a signed integer of mode @samp{mode}.
+@item @code{ufix}
+Convert @samp{operand}, which must have a floating point mode,
+to an unsigned integer of mode @samp{mode}.
+@end itemize
 
 @item (cmpop mode operand1 operand2)
 Perform a comparison.