2006-03-23 J"orn Rennecke <joern.rennecke@st.com>
commitd6005df343c8e6440a406d5b40c8f53117bc858b
authoramylaar <amylaar@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 23 Mar 2006 21:39:32 +0000 (23 21:39 +0000)
committeramylaar <amylaar@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 23 Mar 2006 21:39:32 +0000 (23 21:39 +0000)
tree6eb8d5d19c35a219b954adb42735d22b79b838cd
parente5f7d6dac7f35e3a0a83de2425b459a861f8a11c
2006-03-23  J"orn Rennecke <joern.rennecke@st.com>

* config/sh/divtab-sh4.c, config/sh/divcost-analysis: New files.
* config/sh/lib1funcs.asm (div_table): Add !__SH5__ variant.
* config/sh/t-sh (LIB1ASMFUNCS): Add _div_table.
* config/sh/sh.opt (mdiv=): Amend description.
* config/sh/sh.h (TARGET_DIVIDE_CALL_DIV1): New macro.
(TARGET_DIVIDE_CALL_FP, TARGET_DIVIDE_CALL_TABLE): Likewise.
(sh_divide_strategy_e): Add new members SH_DIV_CALL_DIV1,
SH_DIV_CALL_FP, SH_DIV_CALL_TABLE and SH_DIV_INTRINSIC.
(OVERRIDE_OPTIONS): Also process sh_div_str for TARGET_SH1.
Calculate sh_divsi3_libfunc using TARGET_DIVIDE_* macros.
* config/sh/sh.md (udivsi3_i4_int, divsi3_i4_int): New patterns.
(udivsi3, divsi3): Use them.  Check TARGET_DIVIDE_CALL_TABLE /
TARGET_DIVIDE_CALL_FP.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@112331 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/config/sh/divcost-analysis [new file with mode: 0644]
gcc/config/sh/divtab-sh4.c [new file with mode: 0644]
gcc/config/sh/lib1funcs.asm
gcc/config/sh/sh.h
gcc/config/sh/sh.md
gcc/config/sh/sh.opt
gcc/config/sh/t-sh