mips.c (mips_scalar_mode_supported_p): Declare.
authorChao-ying Fu <fu@mips.com>
Tue, 11 Sep 2007 01:04:08 +0000 (01:04 +0000)
committerChao-ying Fu <chaoyingfu@gcc.gnu.org>
Tue, 11 Sep 2007 01:04:08 +0000 (01:04 +0000)
commit9fc777ad2561e542ef0eec9d94ee8cb5edc68554
tree90489292cc9aae88f88ecd159e05429ec37d914c
parent9ccaf0a6285b6b9d346cb0e3b8593ab89ef8fd46
mips.c (mips_scalar_mode_supported_p): Declare.

* config/mips/mips.c (mips_scalar_mode_supported_p): Declare.
(TARGET_SCALAR_MODE_SUPPORTED_P): Define.
(mips_emit_compare): Process fixed-point modes.
(mips_pad_arg_upward): Support fixed-point types.
(override_options): Allow fixed-point modes in accumulators.
(mips_pass_by_reference): Pass DQ, UDQ, DA, and UDA modes in registers.
(mips_vector_mode_supported_p): Support V2HQmode, V2UHQmode, V2HAmode,
V2UHAmode, V4QQmode, and V4UQQmode when TARGET_DSP.
(mips_scalar_mode_supported_p): New function to accept fixed-point
modes if the width is not greater than two BITS_PER_WORD.
* config/mips/mips.h (SHORT_FRACT_TYPE_SIZE, FRACT_TYPE_SIZE,
LONG_FRACT_TYPE_SIZE, LONG_LONG_FRACT_TYPE_SIZE,
SHORT_ACCUM_TYPE_SIZE, ACCUM_TYPE_SIZE, LONG_ACCUM_TYPE_SIZE,
LONG_LONG_ACCUM_TYPE_SIZE): Define.
* config/mips/mips.md ("d"): Update mode attribute for fixed-point
modes.
("IMODE"): New mode attribute.
(mips-fixed.md): Include.
* config/mips/mips-modes.def: Create VECTOR_MODES for FRACT, UFRACT,
ACCUM, UACCUM.
* config/mips/mips-fixed.md: New file.

From-SVN: r128360
gcc/ChangeLog
gcc/config/mips/mips-fixed.md [new file with mode: 0644]
gcc/config/mips/mips-modes.def
gcc/config/mips/mips.c
gcc/config/mips/mips.h
gcc/config/mips/mips.md