From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ian Lance Taylor To: rth@cygnus.com Cc: cort@attis.cs.nmt.edu, gas2@sourceware.cygnus.com Subject: Re: ppc instructions in gas Date: Thu, 06 May 1999 20:43:00 -0000 Message-id: <19990507034233.10892.qmail@daffy.airs.com> References: <19990504180843.A31050@attis.cs.nmt.edu> <19990505145806.H9469@cygnus.com> <19990505165232.A8594@attis.cs.nmt.edu> <19990506150724.A10994@cygnus.com> <19990507030530.10843.qmail@daffy.airs.com> <19990506201322.A14952@cygnus.com> <19990506201322.A14952@cygnus.com> X-SW-Source: 1999/msg00103.html Date: Thu, 6 May 1999 20:13:22 -0700 From: Richard Henderson On Fri, May 07, 1999 at 03:05:30AM -0000, Ian Lance Taylor wrote: > I don't have the context of the original message. The addis/lis > instruction is documented to take a signed operand. I don't know why > it makes sense to remove PPC_OPERAND_SIGNED. Context is that gcc doesn't emit signed, and some of the ppc linux kernel sources don't use signed values either. This worked for ppc32 due to the PPC_OPERAND_SIGNOPT hack, and only showed up when Cort started work on ppc64. We iterated enough to conclude that we should in fact fix gcc, and the kernel sources. The one remaining question is whether to continue to silently accept unsigned values for ppc32, or whether we should warn for them. Thoughts on that last? I believe we should continue to silently accept them. The patch was put in there because of existing code which should continue to work. I now remember that I opposed it at the time, and argued David Edelsohn (I believe it was) into only accepting unsigned values in 32 bit mode, and requiring people to fix their code as they upgraded to 64 bits. I even have a vague recollection that the Power liu instruction was documented to load an unsigned value. The Power was only 32 bits, so of course it didn't really matter. The PowerPC renamed liu to lis, and made it signed for the 64 bit version. Power code and Power programmers naturally used unsigned values, so we made gas permit unsigned values for lis. Ian