OpenCores
URL https://opencores.org/ocsvn/openrisc_2011-10-31/openrisc_2011-10-31/trunk

Subversion Repositories openrisc_2011-10-31

[/] [openrisc/] [tags/] [gnu-src/] [gcc-4.5.1/] [gcc-4.5.1-or32-1.0rc2/] [gcc/] [testsuite/] [gcc.target/] [sh/] [20080410-1.c] - Diff between revs 325 and 384

Only display areas with differences | Details | Blame | View Log

Rev 325 Rev 384
/* { dg-do compile { target "sh-*-*" } } */
/* { dg-do compile { target "sh-*-*" } } */
/* { dg-options "-O0 -m4 -ml" } */
/* { dg-options "-O0 -m4 -ml" } */
/* { dg-final { scan-assembler-not "add\tr0,r0" } } */
/* { dg-final { scan-assembler-not "add\tr0,r0" } } */
 
 
/* This test checks that chain reloads conflict.  I they don't
/* This test checks that chain reloads conflict.  I they don't
   conflict, the same hard register R0 is used for the both reloads
   conflict, the same hard register R0 is used for the both reloads
   but in this case the second reload needs an intermediate register
   but in this case the second reload needs an intermediate register
   (which is the reload register).  As the result we have the
   (which is the reload register).  As the result we have the
   following code
   following code
 
 
        mov     #4,r0   -- first reload
        mov     #4,r0   -- first reload
        mov     r14,r0  -- second reload
        mov     r14,r0  -- second reload
        add     r0,r0   -- second reload
        add     r0,r0   -- second reload
 
 
   The right code should be
   The right code should be
 
 
        mov     #4,r0   -- first reload
        mov     #4,r0   -- first reload
        mov     r14,r1  -- second reload
        mov     r14,r1  -- second reload
        add     r0,r1   -- second reload
        add     r0,r1   -- second reload
 
 
*/
*/
 
 
_Complex float foo_float ();
_Complex float foo_float ();
 
 
void bar_float ()
void bar_float ()
{
{
  __real foo_float ();
  __real foo_float ();
}
}
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.