aboutsummaryrefslogtreecommitdiff
path: root/gcc/combine-stack-adj.c
diff options
context:
space:
mode:
authorGeorg-Johann Lay <avr@gjlay.de>2013-07-19 11:10:08 +0000
committerGeorg-Johann Lay <gjl@gcc.gnu.org>2013-07-19 11:10:08 +0000
commit0237179843a59b84cc1ae9a14bdf66a308ebd289 (patch)
treeaec31c0be57cb1d48958052153b5c54d7e94476e /gcc/combine-stack-adj.c
parent1545921d63fe20ebe99a3280728ec33c99f8af78 (diff)
downloadgcc-0237179843a59b84cc1ae9a14bdf66a308ebd289.zip
gcc-0237179843a59b84cc1ae9a14bdf66a308ebd289.tar.gz
gcc-0237179843a59b84cc1ae9a14bdf66a308ebd289.tar.bz2
re PR target/57516 ([avr] Incorrect fixed-point rounding result in the overflow case)
gcc/ PR target/57516 * config/avr/avr-fixed.md (round<mode>3_const): Turn expander to insn. * config/avr/avr.md (adjust_len): Add `round'. * config/avr/avr-protos.h (avr_out_round): New prototype. (avr_out_plus): Add `out_label' argument. * config/avr/avr.c (avr_out_plus_1): Add `out_label' argument. (avr_out_plus): Pass down `out_label' to avr_out_plus_1. Handle the case where `insn' is just a pattern. (avr_out_bitop): Handle the case where `insn' is just a pattern. (avr_out_round): New function. (avr_adjust_insn_length): Handle ADJUST_LEN_ROUND. libgcc/ PR target/57516 * config/avr/lib1funcs-fixed.S (__roundqq3, __rounduqq3) (__round_s2_const, __round_u2_const) (__round_s4_const, __round_u4_const, __round_x8): Saturate result if addition result cannot be represented. gcc/testsuite/ PR target/57516 * gcc.target/avr/torture/builtins-4-roundfx.c (test2hr, test2k): Adjust to corrected rounding. From-SVN: r201051
Diffstat (limited to 'gcc/combine-stack-adj.c')
0 files changed, 0 insertions, 0 deletions