This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/54222] [avr] Implement fixed-point support
- From: "gjl at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Thu, 22 Nov 2012 10:00:24 +0000
- Subject: [Bug target/54222] [avr] Implement fixed-point support
- Auto-submitted: auto-generated
- References: <bug-54222-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54222
--- Comment #8 from Georg-Johann Lay <gjl at gcc dot gnu.org> 2012-11-22 10:00:24 UTC ---
Author: gjl
Date: Thu Nov 22 10:00:13 2012
New Revision: 193721
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=193721
Log:
libgcc/
Adjust decimal point of signed accum mode to GCC default.
PR target/54222
* config/avr/t-avr (LIB1ASMFUNCS): Add _fractsfsq _fractsfusq,
_divqq_helper.
* config/avr/lib1funcs-fixed.S (__fractqqsf, __fracthqsf)
(__fractsasf, __fractsfha, __fractusqsf, __fractsfsa)
(__mulha3, __mulsa3)
(__divqq3, __divha3, __divsa3): Adjust to new position of
decimal point of signed accum types.
(__mulusa3_round): New function.
(__mulusa3): Use it.
(__divqq_helper): New function.
(__udivuqq3): Use it.
gcc/
Adjust decimal point of signed accum mode to GCC default.
PR target/54222
* config/avr/avr-modes.def (HA, SA, DA): Remove mode adjustments.
(TA): Move decimal point one bit to the right.
* config/avr/avr.c (avr_out_fract): Rewrite.
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/avr/avr-modes.def
trunk/gcc/config/avr/avr.c
trunk/libgcc/ChangeLog
trunk/libgcc/config/avr/lib1funcs-fixed.S
trunk/libgcc/config/avr/t-avr