aboutsummaryrefslogtreecommitdiff
path: root/gcc/gcc.c
diff options
context:
space:
mode:
authorGeorg-Johann Lay <avr@gjlay.de>2011-07-27 16:39:13 +0000
committerGeorg-Johann Lay <gjl@gcc.gnu.org>2011-07-27 16:39:13 +0000
commit04c9ea12e0f579e0f974ffe6a979376ddafbc0a1 (patch)
treeaf7198bc3f4a1db48a883d5db8cb07f2ad68da49 /gcc/gcc.c
parent479a49210d80642aee6841df8aa3a8bd2751146f (diff)
downloadgcc-04c9ea12e0f579e0f974ffe6a979376ddafbc0a1.zip
gcc-04c9ea12e0f579e0f974ffe6a979376ddafbc0a1.tar.gz
gcc-04c9ea12e0f579e0f974ffe6a979376ddafbc0a1.tar.bz2
re PR target/49313 (Inefficient libgcc implementations for avr)
PR target/49313 * config/avr/libgcc.S (__ffshi2): Don't skip 2-word instruction. (__ctzsi2): Result for 0 may be undefined. (__ctzhi2): Result for 0 may be undefined. (__popcounthi2): Don't clobber r30. Use __popcounthi2_tail. (__popcountsi2): Ditto. And don't clobber r26. (__popcountdi2): Ditto. And don't clobber r27. * config/avr/avr.md (UNSPEC_COPYSIGN): New c_enum. (parityhi2): New expand. (paritysi2): New expand. (popcounthi2): New expand. (popcountsi2): New expand. (clzhi2): New expand. (clzsi2): New expand. (ctzhi2): New expand. (ctzsi2): New expand. (ffshi2): New expand. (ffssi2): New expand. (copysignsf3): New insn. (bswapsi2): New expand. (*parityhi2.libgcc): New insn. (*parityqihi2.libgcc): New insn. (*paritysihi2.libgcc): New insn. (*popcounthi2.libgcc): New insn. (*popcountsi2.libgcc): New insn. (*popcountqi2.libgcc): New insn. (*popcountqihi2.libgcc): New insn-and-split. (*clzhi2.libgcc): New insn. (*clzsihi2.libgcc): New insn. (*ctzhi2.libgcc): New insn. (*ctzsihi2.libgcc): New insn. (*ffshi2.libgcc): New insn. (*ffssihi2.libgcc): New insn. (*bswapsi2.libgcc): New insn. From-SVN: r176835
Diffstat (limited to 'gcc/gcc.c')
0 files changed, 0 insertions, 0 deletions