Re: Inline Assembly Error: suffix or operands invalid for 'shr'

2009-03-24 Thread H.J. Lu
On Tue, Mar 24, 2009 at 11:02 AM, Rodrigo Dominguez rodd...@hotmail.com wrote: Hi, While debugging a problem with Open64, I ran into a similar problem with GCC. I created the following unit test program: #include stdint.h int main(void) {    uint32_t    a = 7;    int8_t      s = -1;  

RE: Inline Assembly Error: suffix or operands invalid for 'shr'

2009-03-24 Thread Rodrigo Dominguez
like an Intel/AMD/ATT manual explaining this? Thank you, Rodrigo -Original Message- From: H.J. Lu [mailto:hjl.to...@gmail.com] Sent: Tuesday, March 24, 2009 2:09 PM To: Rodrigo Dominguez Cc: gcc@gcc.gnu.org Subject: Re: Inline Assembly Error: suffix or operands invalid for 'shr

RE: Inline Assembly Error: suffix or operands invalid for 'shr'

2009-03-24 Thread Paul Koning
Rodrigo == Rodrigo Dominguez rodd...@hotmail.com writes: Rodrigo H.J, Thanks for replying but this doesn't answer my Rodrigo question. Shouldn't __asm__ generate the right code without Rodrigo using the %b1 trick? The reason I am asking is I have a 350 Rodrigo line macro which I can't

Re: Inline Assembly Error: suffix or operands invalid for 'shr'

2009-03-24 Thread H.J. Lu
- From: H.J. Lu [mailto:hjl.to...@gmail.com] Sent: Tuesday, March 24, 2009 2:09 PM To: Rodrigo Dominguez Cc: gcc@gcc.gnu.org Subject: Re: Inline Assembly Error: suffix or operands invalid for 'shr' On Tue, Mar 24, 2009 at 11:02 AM, Rodrigo Dominguez rodd...@hotmail.com wrote: Hi, While

Re: Inline Assembly Error: suffix or operands invalid for 'shr'

2009-03-24 Thread Chris Lattner
On Mar 24, 2009, at 11:02 AM, Rodrigo Dominguez wrote: When assembling this program, 'cc1' emits a 'shrl %ecx, %eax' instruction. The 'shr' instruction can only take an 8-bit register as the first operand. The emitted instruction should have been 'shrl %cl, %eax'. Therefore, the