URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Subversion Repositories openrisc
[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [testsuite/] [g++.dg/] [opt/] [mmx1.C] - Rev 868
Go to most recent revision | Compare with Previous | Blame | View Log
// PR optimization/4994// This testcase ICEd because movsi was not supporting direct// mmx -> mmx register moves.// { dg-do compile }// { dg-options "-O2" }// { dg-options "-fno-exceptions -O2 -mmmx -fPIC" { target { { i?86-*-* x86_64-*-* } && { ilp32 && fpic } } } }struct A {unsigned a0;bool a1 () { return !--a0; }void a2 ();};struct B{B ();B (const B &);~B();B &operator= (const B &);B b0 (unsigned long x, int y = 0, int z = 10) const;private:A *b1;static A *b2;};inline B::~B(){if (b1->a1 () && b1 == b2)b1->a2();}struct C{C *c0;};struct D{C *d0;D ();D (const D &c0) {}D &operator++ () {C *x = d0; C *y = x->c0;while (x == y->c0)x = y;d0 = x;return *this;}};B foo (const char *x, const B &y);void bar (void){B *y = 0;B z;for (unsigned long l = 0; l < 2147483647L * 2UL + 1; l++){z = y->b0 (l);*y = foo ("data", z);}D d;++d;}
Go to most recent revision | Compare with Previous | Blame | View Log
