diff options
author | Richard Stallman <rms@gnu.org> | 1992-07-11 22:23:31 +0000 |
---|---|---|
committer | Richard Stallman <rms@gnu.org> | 1992-07-11 22:23:31 +0000 |
commit | e7a522bae602d0dab745f0c996b554ad7100b274 (patch) | |
tree | a139ae750dc624b330ca6827cebdfe4e9026a98d /gcc | |
parent | db7e5239390f0e259b64858ae1333ddb708e4486 (diff) | |
download | gcc-e7a522bae602d0dab745f0c996b554ad7100b274.zip gcc-e7a522bae602d0dab745f0c996b554ad7100b274.tar.gz gcc-e7a522bae602d0dab745f0c996b554ad7100b274.tar.bz2 |
*** empty log message ***
From-SVN: r1560
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/cse.c | 9 |
1 files changed, 7 insertions, 2 deletions
@@ -3736,9 +3736,14 @@ simplify_binary_operation (code, mode, op0, op1) case DIV: if (op1 == CONST1_RTX (mode)) return op0; - else if (op0 == CONST0_RTX (mode) - && ! side_effects_p (op1)) + + /* In IEEE floating point, 0/x is not always 0. */ + if ((TARGET_FLOAT_FORMAT != IEEE_FLOAT_FORMAT + || GET_MODE_CLASS (mode) == MODE_INT) + && op0 == CONST0_RTX (mode) + && ! side_effects_p (op1)) return op0; + #if 0 /* Turned off till an expert says this is a safe thing to do. */ #if ! defined (REAL_IS_NOT_DOUBLE) || defined (REAL_ARITHMETIC) /* Change division by a constant into multiplication. */ |