OSDN Git Service

Backport from mainline:
authorolegendo <olegendo@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 25 Mar 2013 22:55:56 +0000 (22:55 +0000)
committerolegendo <olegendo@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 25 Mar 2013 22:55:56 +0000 (22:55 +0000)
commit9971b53e29b24cb77b75b816daab4dfb7451853b
tree18e883696261dcd8f60cf421d66984dcfa4eae4a
parent49825ea66c9a8615f2e71a8f687dc37d4976906e
Backport from mainline:
2013-03-13  Oleg Endo  <olegendo@gcc.gnu.org>
2013-03-14  Kaz Kojima  <kkojima@gcc.gnu.org>

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.
* config/sh/linux.h (TARGET_DEFAULT): Remove MASK_USERMODE.
(SUBTARGET_OVERRIDE_OPTIONS): Set TARGET_USERMODE as default.
* config/sh/netbsd-elf.h (TARGET_DEFAULT): Remove MASK_USERMODE.
(SUBTARGET_OVERRIDE_OPTIONS): New.

Backport from mainline:
2013-03-13  Oleg Endo  <olegendo@gcc.gnu.org>

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

Backport from mainline:
2013-03-13  Oleg Endo  <olegendo@gcc.gnu.org>

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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_7-branch@197071 138bc75d-0d04-0410-961f-82ee72b054a4
15 files changed:
gcc/ChangeLog
gcc/config/sh/linux.h
gcc/config/sh/netbsd-elf.h
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