Commit 763c4445 by Jeffrey A Law Committed by Jeff Law

* gcc.dg/990130-1.c: New test.

From-SVN: r24917
parent 9eab30bc
Sat Jan 30 11:10:06 1999 Jeffrey A Law (law@cygnus.com)
* gcc.dg/990130-1.c: New test.
Sun Jan 17 00:02:33 1999 Jeffrey A Law (law@cygnus.com)
* gcc.dg/990117-1.c: New test.
......
/* { dg-do compile { target i?86-*-* } } */
/* { dg-options -O0 } */
typedef int SItype __attribute__ ((mode (SI)));
typedef int DItype __attribute__ ((mode (DI)));
typedef unsigned int USItype __attribute__ ((mode (SI)));
struct DIstruct {SItype low, high;};
typedef union
{
struct DIstruct s;
DItype ll;
} DIunion;
DItype
__muldi3 (DItype u, DItype v)
{
DIunion w;
DIunion uu, vv;
uu.ll = u,
vv.ll = v;
w.ll = ({DIunion __w; __asm__ ("mull %3" : "=a" ((USItype) ( __w.s.low )), "=d" ((USItype) ( __w.s.high )) : "%0" ((USItype) ( uu.s.low )), "rm" ((USItype) ( vv.s.low ))) ; __w.ll; }) ;
w.s.high += ((USItype) uu.s.low * (USItype) vv.s.high
+ (USItype) uu.s.high * (USItype) vv.s.low);
return w.ll;
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment