diff options
author | Richard Sandiford <rdsandiford@googlemail.com> | 2009-01-04 22:14:39 +0000 |
---|---|---|
committer | Richard Sandiford <rsandifo@gcc.gnu.org> | 2009-01-04 22:14:39 +0000 |
commit | 0009b473a0fe5c76e303f1cc34251df0cba2d478 (patch) | |
tree | 2afc7059c58e4a4029cc635e870740de81b70352 /gcc/tree.def | |
parent | 4f24c6d62f0818c402bcffb78186d1a64f2c5d1c (diff) | |
download | gcc-0009b473a0fe5c76e303f1cc34251df0cba2d478.zip gcc-0009b473a0fe5c76e303f1cc34251df0cba2d478.tar.gz gcc-0009b473a0fe5c76e303f1cc34251df0cba2d478.tar.bz2 |
tree.def (LSHIFT_EXPR, [...]): Add commentary.
gcc/
* tree.def (LSHIFT_EXPR, RSHIFT_EXPR): Add commentary.
* tree-cfg.c (verify_gimple_assign_binary): Allow shifts of
fixed-point types, and vectors of the same.
From-SVN: r143061
Diffstat (limited to 'gcc/tree.def')
-rw-r--r-- | gcc/tree.def | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/gcc/tree.def b/gcc/tree.def index 3e077cc..19a5029 100644 --- a/gcc/tree.def +++ b/gcc/tree.def @@ -691,7 +691,13 @@ DEFTREECODE (ABS_EXPR, "abs_expr", tcc_unary, 1) The second operand is the number of bits to shift by; it need not be the same type as the first operand and result. Note that the result is undefined if the second operand is larger - than or equal to the first operand's type size. */ + than or equal to the first operand's type size. + + The first operand of a shift can have either an integer or a + (non-integer) fixed-point type. We follow the ISO/IEC TR 18037:2004 + semantics for the latter. + + Rotates are defined for integer types only. */ DEFTREECODE (LSHIFT_EXPR, "lshift_expr", tcc_binary, 2) DEFTREECODE (RSHIFT_EXPR, "rshift_expr", tcc_binary, 2) DEFTREECODE (LROTATE_EXPR, "lrotate_expr", tcc_binary, 2) |