raeburn@ATHENA.MIT.EDU (Ken Raeburn) (12/28/88)
Although the construct below isn't valid (*ip++ and ip have to match
because of the "0" constraint -- this is the result of only partly
undoing a workaround for a bug in 1.31), the compiler should print a
warning rather than dumping core. (This is both with and without
optimization.)
-- Ken
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
extern int i, *jp, j;
foo ()
{
volatile int *ip = jp;
for (i=0; i < j ; i++) {
asm volatile ("extzv %1,$1,%2,%0"
: "g" (*ip++)
: "g" (i), "g" (*jp), "0" (ip));
}
}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~