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/] [g++.old-deja/] [g++.pt/] [asm2.C] - Diff between revs 305 and 384

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

Rev 305 Rev 384
// { dg-do assemble { target i?86-*-linux* x86_64-*-linux* } }
// { dg-do assemble { target i?86-*-linux* x86_64-*-linux* } }
// { dg-require-effective-target ilp32 }
// { dg-require-effective-target ilp32 }
// We'd use ebx with 32-bit pic code, so require nonpic.
// We'd use ebx with 32-bit pic code, so require nonpic.
// { dg-require-effective-target nonpic }
// { dg-require-effective-target nonpic }
// Origin: "Weidmann, Nicholas" 
// Origin: "Weidmann, Nicholas" 
typedef void (function_ptr)(int);
typedef void (function_ptr)(int);
void foo(int)
void foo(int)
{
{
}
}
template void doit(int i)
template void doit(int i)
{
{
        __asm__("pushl %0\n\t"
        __asm__("pushl %0\n\t"
                  "call *%1\n\t"
                  "call *%1\n\t"
                  "popl %0"
                  "popl %0"
                  :
                  :
                  : "a" (i), "b" (ptr));
                  : "a" (i), "b" (ptr));
}
}
void bar()
void bar()
{
{
        doit(123);
        doit(123);
}
}
 
 

powered by: WebSVN 2.1.0

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