OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [testsuite/] [gcc.target/] [sh/] [20080410-1.c] - Blame information for rev 691

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 691 jeremybenn
/* { dg-do compile { target "sh-*-*" } } */
2
/* { dg-options "-O0" } */
3
/* { dg-skip-if "" { "sh*-*-*" } "-mb" "" }  */
4
/* { dg-final { scan-assembler-not "add\tr0,r0" } } */
5
 
6
/* This test checks chain reloads conflicts.  If they don't
7
   conflict, the same hard register R0 is used for the both reloads
8
   but in this case the second reload needs an intermediate register
9
   (which is the reload register).  As the result we have the
10
   following code
11
 
12
        mov     #4,r0   -- first reload
13
        mov     r14,r0  -- second reload
14
        add     r0,r0   -- second reload
15
 
16
   The right code should be
17
 
18
        mov     #4,r0   -- first reload
19
        mov     r14,r1  -- second reload
20
        add     r0,r1   -- second reload
21
 
22
*/
23
 
24
_Complex float foo_float ();
25
 
26
void bar_float ()
27
{
28
  __real foo_float ();
29
}

powered by: WebSVN 2.1.0

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