diff options
author | Michael Meissner <meissner@gcc.gnu.org> | 2010-10-15 17:42:05 +0000 |
---|---|---|
committer | Michael Meissner <meissner@gcc.gnu.org> | 2010-10-15 17:42:05 +0000 |
commit | 1b1562a55947daed482e2d8ef47a4f577397beb9 (patch) | |
tree | 5a6ace72e7cb1c4c33366822e3836c93b74e3f78 /gcc/simplify-rtx.c | |
parent | e74bf53a08b08e94ef88b0e1b0401e393efb1dac (diff) | |
download | gcc-1b1562a55947daed482e2d8ef47a4f577397beb9.zip gcc-1b1562a55947daed482e2d8ef47a4f577397beb9.tar.gz gcc-1b1562a55947daed482e2d8ef47a4f577397beb9.tar.bz2 |
Add fma support
From-SVN: r165515
Diffstat (limited to 'gcc/simplify-rtx.c')
-rw-r--r-- | gcc/simplify-rtx.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/simplify-rtx.c b/gcc/simplify-rtx.c index 97ff266..f700958 100644 --- a/gcc/simplify-rtx.c +++ b/gcc/simplify-rtx.c @@ -4712,6 +4712,12 @@ simplify_ternary_operation (enum rtx_code code, enum machine_mode mode, switch (code) { + /* At present, don't simplify fused multiply and add ops, because we need + to make sure there are no intermediate rounding steps used, and that + we get the right sign if negative 0 would be returned. */ + case FMA: + return NULL_RTX; + case SIGN_EXTRACT: case ZERO_EXTRACT: if (CONST_INT_P (op0) |