On 06/27/2012 02:42 PM, Steven Bosscher wrote: > Maybe also a bit in doc/generic.texi? Or is this not supposed to be > exposed to the front ends?
I can't imagine it being terribly useful to front ends, but there's certainly nothing that ought to prevent it. How's this? r~
diff --git a/gcc/doc/generic.texi b/gcc/doc/generic.texi index e99366f..c48b663 100644 --- a/gcc/doc/generic.texi +++ b/gcc/doc/generic.texi @@ -1235,6 +1235,7 @@ the byte offset of the field, but should not be used directly; call @tindex PLUS_EXPR @tindex MINUS_EXPR @tindex MULT_EXPR +@tindex MULT_HIGHPART_EXPR @tindex RDIV_EXPR @tindex TRUNC_DIV_EXPR @tindex FLOOR_DIV_EXPR @@ -1433,6 +1434,11 @@ one operand is of floating type and the other is of integral type. The behavior of these operations on signed arithmetic overflow is controlled by the @code{flag_wrapv} and @code{flag_trapv} variables. +@item MULT_HIGHPART_EXPR +This node represents the ``high-part'' of a widening multiplication. +For an integral type with @var{b} bits of precision, the result is +the most significant @var{b} bits of the full @math{2@var{b}} product. + @item RDIV_EXPR This node represents a floating point division operation.