aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-predcom.c
diff options
context:
space:
mode:
authorGeorg-Johann Lay <avr@gjlay.de>2011-07-29 09:33:54 +0000
committerGeorg-Johann Lay <gjl@gcc.gnu.org>2011-07-29 09:33:54 +0000
commit6130646b8811ec5af4d58bd08fee7ebd8ffbc973 (patch)
tree6f22c438fb8d622f073b27db738c553a713ab2b9 /gcc/tree-predcom.c
parentf2b4b91a9e3b311038effb3b200ded7e6cdba777 (diff)
downloadgcc-6130646b8811ec5af4d58bd08fee7ebd8ffbc973.zip
gcc-6130646b8811ec5af4d58bd08fee7ebd8ffbc973.tar.gz
gcc-6130646b8811ec5af4d58bd08fee7ebd8ffbc973.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: r176920
Diffstat (limited to 'gcc/tree-predcom.c')
0 files changed, 0 insertions, 0 deletions