diff options
author | James Greenhalgh <james.greenhalgh@arm.com> | 2014-05-16 10:15:54 +0000 |
---|---|---|
committer | James Greenhalgh <jgreenhalgh@gcc.gnu.org> | 2014-05-16 10:15:54 +0000 |
commit | 3d840f7d1f4b0172b8179e6e0a41694fc88fde67 (patch) | |
tree | 38885cbb6df59f2d93501932618adf8ee308e446 /gcc | |
parent | a2f4bd2ae1b6f66290315e145be759e4a8abd7ac (diff) | |
download | gcc-3d840f7d1f4b0172b8179e6e0a41694fc88fde67.zip gcc-3d840f7d1f4b0172b8179e6e0a41694fc88fde67.tar.gz gcc-3d840f7d1f4b0172b8179e6e0a41694fc88fde67.tar.bz2 |
[AArch64 costs] Fixup to costing of FNMUL
gcc/
* config/aarch64/aarch64.c (aarch64_rtx_mult_cost): Fix FNMUL case.
From-SVN: r210512
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/config/aarch64/aarch64.c | 14 |
2 files changed, 8 insertions, 10 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 1815d4b..4ec3c7d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,9 @@ 2014-05-16 James Greenhalgh <james.greenhalgh@arm.com> + * config/aarch64/aarch64.c (aarch64_rtx_mult_cost): Fix FNMUL case. + +2014-05-16 James Greenhalgh <james.greenhalgh@arm.com> + * config/aarch64/aarch64.c (aarch64_rtx_costs): Handle the case where we were unable to cost an RTX. diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c index 6eb2303..0a7f441 100644 --- a/gcc/config/aarch64/aarch64.c +++ b/gcc/config/aarch64/aarch64.c @@ -4711,24 +4711,18 @@ aarch64_rtx_mult_cost (rtx x, int code, int outer, bool speed) { if (speed) { - /* Floating-point FMA can also support negations of the + /* Floating-point FMA/FMUL can also support negations of the operands. */ if (GET_CODE (op0) == NEG) - { - maybe_fma = true; - op0 = XEXP (op0, 0); - } + op0 = XEXP (op0, 0); if (GET_CODE (op1) == NEG) - { - maybe_fma = true; - op1 = XEXP (op1, 0); - } + op1 = XEXP (op1, 0); if (maybe_fma) /* FMADD/FNMADD/FNMSUB/FMSUB. */ cost += extra_cost->fp[mode == DFmode].fma; else - /* FMUL. */ + /* FMUL/FNMUL. */ cost += extra_cost->fp[mode == DFmode].mult; } |