bug in arch/ppc/kernel/misc.S: __ashrdi3?

Frank van Maarseveen frankvm at frankvm.com
Sat Jul 16 02:01:15 EST 2005


I don't really grok the code but an operand seems to be missing and the
assembler makes something out of it I don't trust:

_GLOBAL(__ashrdi3)
	...
	rlwinm  r8,r7,0,32      # t3 = (count < 32) ? 32 : 0

Trying it out:

$ cat a.c
void f(void)
{
        __asm("rlwinm  8,7,0,32");
}
$ ppc_4xx-gcc -O2 -c a.c
$ ppc-linux-objdump -S a.o

a.o:     file format elf32-powerpc

Disassembly of section .text:

00000000 <f>:
f():
   0:   54 e8 06 b4     rlwinm  r8,r7,0,26,26
   4:   4e 80 00 20     blr

-- 
Frank



More information about the Linuxppc-dev mailing list