]> git.ipfire.org Git - thirdparty/gcc.git/commit - libgcc/ChangeLog
re PR target/49880 (SuperH: ICE when -m4 is used with -mdiv=call-div1)
authorOleg Endo <olegendo@gcc.gnu.org>
Wed, 13 Mar 2013 18:09:10 +0000 (18:09 +0000)
committerOleg Endo <olegendo@gcc.gnu.org>
Wed, 13 Mar 2013 18:09:10 +0000 (18:09 +0000)
commitdecc676eb52a061b15df7eed9fead794458e9e09
treef74de87ca2e71aa3f530e74fa71a89a4e333a087
parentf4b719c71872d8c37a0f0d9e2598b3a3c3848196
re PR target/49880 (SuperH: ICE when -m4 is used with -mdiv=call-div1)

PR target/49880
* config/sh/sh.opt (FPU_SINGLE_ONLY): New mask.
(musermode): Convert to Var(TARGET_USERMODE).
* config/sh/sh.h (SELECT_SH2A_SINGLE_ONLY, SELECT_SH4_SINGLE_ONLY,
MASK_ARCH): Add MASK_FPU_SINGLE_ONLY.
* config/sh/sh.c (sh_option_override): Use
TARGET_FPU_DOUBLE || TARGET_FPU_SINGLE_ONLY for call-fp case.
* config/sh/sh.md (udivsi3_i1, divsi3_i1): Remove ! TARGET_SH4
condition.
(udivsi3_i4, divsi3_i4): Use TARGET_FPU_DOUBLE condition instead of
TARGET_SH4.
(udivsi3_i4_single, divsi3_i4_single): Use
TARGET_FPU_SINGLE_ONLY || TARGET_FPU_DOUBLE instead of TARGET_HARD_SH4.

PR target/49880
* config/sh/lib1funcs.S (sdivsi3_i4, udivsi3_i4): Enable for SH2A.
(sdivsi3, udivsi3): Remove SH4 check and always compile these functions.

PR target/49880
* gcc.target/sh/pr49880-1.c: New.
* gcc.target/sh/pr49880-2.c: New.
* gcc.target/sh/pr49880-3.c: New.
* gcc.target/sh/pr49880-4.c: New.
* gcc.target/sh/pr49880-5.c: New.

From-SVN: r196636
13 files changed:
gcc/ChangeLog
gcc/config/sh/sh.c
gcc/config/sh/sh.h
gcc/config/sh/sh.md
gcc/config/sh/sh.opt
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/sh/pr49880-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/sh/pr49880-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/sh/pr49880-3.c [new file with mode: 0644]
gcc/testsuite/gcc.target/sh/pr49880-4.c [new file with mode: 0644]
gcc/testsuite/gcc.target/sh/pr49880-5.c [new file with mode: 0644]
libgcc/ChangeLog
libgcc/config/sh/lib1funcs.S