diff options
author | Oleg Endo <olegendo@gcc.gnu.org> | 2013-03-06 00:41:25 +0000 |
---|---|---|
committer | Oleg Endo <olegendo@gcc.gnu.org> | 2013-03-06 00:41:25 +0000 |
commit | 8f6d1c8601131f3ebdab1629ff923fa03ceb7ea5 (patch) | |
tree | 35b525cb1796949ce2d7f1ab6707d25bbbf5116e /libgcc | |
parent | 018fa87af9dc9e72fe62716403bc76fa87ed18ef (diff) | |
download | gcc-8f6d1c8601131f3ebdab1629ff923fa03ceb7ea5.zip gcc-8f6d1c8601131f3ebdab1629ff923fa03ceb7ea5.tar.gz gcc-8f6d1c8601131f3ebdab1629ff923fa03ceb7ea5.tar.bz2 |
re PR target/56529 ([SH] Calls to __sdivsi3_i4i and __udivsi3_i4i are generated on SH2)
PR target/56529
* config/sh/sh.c (sh_option_override): Check for TARGET_DYNSHIFT
instead of TARGET_SH2 for call-table case. Do not set sh_div_strategy
to SH_DIV_CALL_TABLE for TARGET_SH2.
* config.gcc (sh_multilibs): Add m2 and m2a to sh*-*-linux* multilib
list.
* doc/invoke.texi (SH options): Document mdiv= call-div1, call-fp,
call-table options.
PR target/56529
* config/sh/lib1funcs.S (udivsi3_i4i, sdivsi3_i4i): Add __SH2A__ to
inclusion list.
From-SVN: r196484
Diffstat (limited to 'libgcc')
-rw-r--r-- | libgcc/ChangeLog | 6 | ||||
-rw-r--r-- | libgcc/config/sh/lib1funcs.S | 4 |
2 files changed, 8 insertions, 2 deletions
diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog index b0c7aaf..8482f1f 100644 --- a/libgcc/ChangeLog +++ b/libgcc/ChangeLog @@ -1,3 +1,9 @@ +2013-03-06 Oleg Endo <olegendo@gcc.gnu.org> + + PR target/56529 + * config/sh/lib1funcs.S (udivsi3_i4i, sdivsi3_i4i): Add __SH2A__ to + inclusion list. + 2013-03-04 Edgar E. Iglesias <edgar.iglesias@gmail.com> * config/microblaze/crti.S: Setup stack protection at entry diff --git a/libgcc/config/sh/lib1funcs.S b/libgcc/config/sh/lib1funcs.S index 86a500f..5625719 100644 --- a/libgcc/config/sh/lib1funcs.S +++ b/libgcc/config/sh/lib1funcs.S @@ -3288,8 +3288,8 @@ GLOBAL(div_table): .word 17136 .word 16639 -#elif defined (__SH3__) || defined (__SH3E__) || defined (__SH4__) || defined (__SH4_SINGLE__) || defined (__SH4_SINGLE_ONLY__) || defined (__SH4_NOFPU__) -/* This code used shld, thus is not suitable for SH1 / SH2. */ +#elif defined (__SH2A__) || defined (__SH3__) || defined (__SH3E__) || defined (__SH4__) || defined (__SH4_SINGLE__) || defined (__SH4_SINGLE_ONLY__) || defined (__SH4_NOFPU__) +/* This code uses shld, thus is not suitable for SH1 / SH2. */ /* Signed / unsigned division without use of FPU, optimized for SH4. Uses a lookup table for divisors in the range -128 .. +128, and |