From: Catherine Moore Date: Mon, 3 Nov 2008 23:55:25 +0000 (-0500) Subject: mips.c (mips_conditional_register_usage): Handle the DSP control register. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=1e27273ff09c94c23e5823710f2bc3722e9fab5c;p=gcc.git mips.c (mips_conditional_register_usage): Handle the DSP control register. * config/mips.c (mips_conditional_register_usage): Handle the DSP control register. * doc/extend.texi: Document the DSP control register. From-SVN: r141568 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 0d698b9948c..ea8aed427e6 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2008-11-03 Catherine Moore + + * config/mips.c (mips_conditional_register_usage): Handle the + DSP control register. + * doc/extend.texi: Document the DSP control register. + 2008-11-03 Steve Ellcey Jakub Jelinek diff --git a/gcc/config/mips/mips.c b/gcc/config/mips/mips.c index f566e03155b..fa78c8bf270 100644 --- a/gcc/config/mips/mips.c +++ b/gcc/config/mips/mips.c @@ -14019,7 +14019,14 @@ mips_swap_registers (unsigned int i) void mips_conditional_register_usage (void) { - if (!ISA_HAS_DSP) + + if (ISA_HAS_DSP) + { + /* These DSP control register fields are global. */ + global_regs[CCDSP_PO_REGNUM] = 1; + global_regs[CCDSP_SC_REGNUM] = 1; + } + else { int regno; diff --git a/gcc/doc/extend.texi b/gcc/doc/extend.texi index da9c1daacdc..e03eaf9faad 100644 --- a/gcc/doc/extend.texi +++ b/gcc/doc/extend.texi @@ -8698,6 +8698,12 @@ otherwise backwards-compatible with it. You can select revision 2 using the command-line option @option{-mdspr2}; this option implies @option{-mdsp}. +The SCOUNT and POS bits of the DSP control register are global. The +WRDSP, EXTPDP, EXTPDPV and MTHLIP instructions modify the SCOUNT and +POS bits. During optimization, the compiler will not delete these +instructions and it will not delete calls to functions containing +these instructions. + At present, GCC only provides support for operations on 32-bit vectors. The vector type associated with 8-bit integer data is usually called @code{v4i8}, the vector type associated with Q7