Path: utzoo!telly!ddsw1!lll-winken!killer!texbell!bigtex!milano!cs.utexas.edu!tut.cis.ohio-state.edu!ATHENA.MIT.EDU!raeburn From: raeburn@ATHENA.MIT.EDU (Ken Raeburn) Newsgroups: gnu.gcc.bug Subject: gcc 1.32 (vax) aborts on asm with conflicting constraints Message-ID: <8812280402.AA00784@PROMETHEUS.MIT.EDU> Date: 28 Dec 88 04:02:15 GMT Sender: daemon@tut.cis.ohio-state.edu Distribution: gnu Organization: GNUs Not Usenet Lines: 23 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)); } } ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~