diff options
author | Richard Henderson <rth@gcc.gnu.org> | 2005-01-22 14:49:06 -0800 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2005-01-22 14:49:06 -0800 |
commit | 7ae4d8d4214508d400e28845b773e775ddbb7ac3 (patch) | |
tree | 44a7d07f7a98f7ff87b2faa87658e1de80d69f42 /gcc/rtl.def | |
parent | 190607885a2178612dcd3faefcb4a6e31d7c91cb (diff) | |
download | gcc-7ae4d8d4214508d400e28845b773e775ddbb7ac3.zip gcc-7ae4d8d4214508d400e28845b773e775ddbb7ac3.tar.gz gcc-7ae4d8d4214508d400e28845b773e775ddbb7ac3.tar.bz2 |
genopinit.c (optabs): Use smin/smax for floating point too.
* genopinit.c (optabs): Use smin/smax for floating point too.
* doc/md.texi: Update to match. Clarify that floating point
results are undefined for +0/-0 and NaN.
* doc/rtl.texi: Likewise.
* rtl.def (SMIN, SMAX): Likewise
* tree.def (MIN_EXPR, MAX_EXPR): Likewise.
* config/alpha/alpha.md (smaxdf3, smindf3, smaxsf3, sminsf3): Add
leading 's' to the name.
* config/ia64/ia64.md (smaxsf3, sminsf3, smaxdf3, smindf3,
smaxxf3, sminxf3): Likewise.
* config/rs6000/rs6000.md (smaxdf3, smindf3, smaxsf3, sminsf3):
Likewise.
From-SVN: r94083
Diffstat (limited to 'gcc/rtl.def')
-rw-r--r-- | gcc/rtl.def | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/gcc/rtl.def b/gcc/rtl.def index 8ef471f..8acb0f4 100644 --- a/gcc/rtl.def +++ b/gcc/rtl.def @@ -444,11 +444,8 @@ DEF_RTL_EXPR(UMOD, "umod", "ee", RTX_BIN_ARITH) /* Bitwise operations. */ DEF_RTL_EXPR(AND, "and", "ee", RTX_COMM_ARITH) - DEF_RTL_EXPR(IOR, "ior", "ee", RTX_COMM_ARITH) - DEF_RTL_EXPR(XOR, "xor", "ee", RTX_COMM_ARITH) - DEF_RTL_EXPR(NOT, "not", "e", RTX_UNARY) /* Operand: @@ -462,7 +459,10 @@ DEF_RTL_EXPR(ROTATERT, "rotatert", "ee", RTX_BIN_ARITH) /* rotate right */ /* Minimum and maximum values of two operands. We need both signed and unsigned forms. (We cannot use MIN for SMIN because it conflicts - with a macro of the same name.) */ + with a macro of the same name.) The signed variants should be used + with floating point. Further, if both operands are zeros, or if either + operand is NaN, then it is unspecified which of the two operands is + returned as the result. */ DEF_RTL_EXPR(SMIN, "smin", "ee", RTX_COMM_ARITH) DEF_RTL_EXPR(SMAX, "smax", "ee", RTX_COMM_ARITH) |