For CRIS ports, switch to soft-fp. Improve arit.c and longlong.h.
authorHans-Peter Nilsson <hp@axis.com>
Wed, 16 Oct 2013 01:43:14 +0000 (01:43 +0000)
committerHans-Peter Nilsson <hp@gcc.gnu.org>
Wed, 16 Oct 2013 01:43:14 +0000 (01:43 +0000)
commit0e499e759cbc393de610e7023c483d0ca0a8a7b0
treec5d3a341da560ba98e56324e917e4ecf6c089531
parentb82d0df95b6592adfb3f8c4872fdad41c513e7c5
For CRIS ports, switch to soft-fp.  Improve arit.c and longlong.h.

* config.host (cpu_type) <Setting default>: Add entry for
crisv32-*-*.
(tmake_file) <crisv32-*-elf, cris-*-elf, cris-*-linux*>
<crisv32-*-linux*>: Adjust.
* longlong.h: Wrap the whole CRIS section in a single
defined(__CRIS__) conditional.  Add comment about add_ssaaaa
and sub_ddmmss.
(COUNT_LEADING_ZEROS_0): Define when count_leading_zeros is
defined.
[__CRIS__] (__umulsidi3): Define.
[__CRIS__] (umul_ppmm): Define in terms of __umulsidi3.
* config/cris/sfp-machine.h: New file.
* config/cris/umulsidi3.S: New file.
* config/cris/t-elfmulti (LIB2ADD_ST): Add umulsidi3.S.
* config/cris/arit.c (SIGNMULT): New macro.
(__Div, __Mod): Use SIGNMULT instead of naked multiplication.
* config/cris/mulsi3.S: Tweak to avoid redundant register-copying;
saving 3 out of originally 33 cycles from the fastest
path, 3 out of 54 from the medium path and one from the longest
path.  Improve comments.

From-SVN: r203640
libgcc/ChangeLog
libgcc/config.host
libgcc/config/cris/arit.c
libgcc/config/cris/mulsi3.S
libgcc/config/cris/sfp-machine.h [new file with mode: 0644]
libgcc/config/cris/t-elfmulti
libgcc/config/cris/umulsidi3.S [new file with mode: 0644]
libgcc/longlong.h