question on inline assembly and long long values
    Chris Friesen 
    cfriesen at nortel.com
       
    Thu Apr  7 07:37:33 EST 2005
    
    
  
Gabriel Paubert wrote:
> On Wed, Apr 06, 2005 at 02:01:20PM -0600, Chris Friesen wrote:
>>static inline unsigned long long getmsr()
>>{
>>	unsigned long long val;
>>        asm volatile( \
>>                "mfmsr  %L0               \n\t" \
>>                "rldicl %0,%L0,32,32       \n\t" \
>>                "rldicl %L0,%L0,0,32        \n\t" \
>>                : "=r" (val));
>>	return val;
>>}
> If you are running in 32 bit mode, you don't need
> to clear the upper half of %L0.
Thanks for the tip.  That cuts out another instruction.
Chris
    
    
More information about the Linuxppc-dev
mailing list