diff options
author | olegendo <olegendo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2013-03-06 00:41:25 +0000 |
---|---|---|
committer | olegendo <olegendo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2013-03-06 00:41:25 +0000 |
commit | 9fe603c35ae9aeebef1fb77bf4df7d9832904d79 (patch) | |
tree | 35b525cb1796949ce2d7f1ab6707d25bbbf5116e /gcc/config/sh | |
parent | 1a368c1028b6c0fd1d7cc77aa1ed46898623e11b (diff) | |
download | gcc-9fe603c35ae9aeebef1fb77bf4df7d9832904d79.tar.gz |
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@196484 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/sh')
-rw-r--r-- | gcc/config/sh/sh.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/gcc/config/sh/sh.c b/gcc/config/sh/sh.c index be49e46bc4d..dcbd93286ed 100644 --- a/gcc/config/sh/sh.c +++ b/gcc/config/sh/sh.c @@ -820,7 +820,7 @@ sh_option_override (void) || (TARGET_HARD_SH4 && TARGET_SH2E) || (TARGET_SHCOMPACT && TARGET_FPU_ANY))) sh_div_strategy = SH_DIV_CALL_FP; - else if (! strcmp (sh_div_str, "call-table") && TARGET_SH2) + else if (! strcmp (sh_div_str, "call-table") && TARGET_DYNSHIFT) sh_div_strategy = SH_DIV_CALL_TABLE; else /* Pick one that makes most sense for the target in general. @@ -840,8 +840,6 @@ sh_option_override (void) sh_div_strategy = SH_DIV_CALL_FP; /* SH1 .. SH3 cores often go into small-footprint systems, so default to the smallest implementation available. */ - else if (TARGET_SH2) /* ??? EXPERIMENTAL */ - sh_div_strategy = SH_DIV_CALL_TABLE; else sh_div_strategy = SH_DIV_CALL_DIV1; } |