Prakash Punnoor schrieb:
> Am Samstag 09 September 2006 14:50 schrieb Martin Wache:
>> Maybe there is a simpler workaround, or it is some bug in the code...
> 
> Yes, it seems like it:
> 
> Index: SoftOsd.c
> ===================================================================
> RCS file: /cvsroot/softdevice/softdevice/SoftOsd.c,v
> retrieving revision 1.16
> diff -u -r1.16 SoftOsd.c
> --- SoftOsd.c   10 Jul 2006 18:23:28 -0000      1.16
> +++ SoftOsd.c   10 Sep 2006 08:02:43 -0000
> @@ -1381,10 +1381,10 @@
>  #ifdef USE_MMX2
>          __asm__ __volatile__ (
>                   " pxor %%mm0,%%mm0 \n" //mm0: dest pixel
> -                 " movd (%0),%%mm6  \n"
> +                 " movd %0,%%mm6  \n"
>                   " pshufw $0,%%mm6,%%mm6 \n"// mm6: new_pixel_width_rec
>                   " pxor %%mm7,%%mm7 \n" //mm7: 00 00 00 ...
> -                 : : "r" (&new_pixel_width_rec)  );
> +                 : : "r" (new_pixel_width_rec)  );
>  #endif
>          SCALEDEBH("OSD_WIDTH: %d dest_width: %d new_pixel_width: %d\n",
>                          OSD_WIDTH,dest_Width,new_pixel_width);
> 

Yes, this should fix it. To me this looks like a compiler bug, in
SoftOsd.sO2 the initialization of new_pixel_width_rec is moved below
this part of the code. It seems like a reference to the address is not
treated any more as a reference to the value. I don't know the
specification, but I doubt that this is correct.
I will check if this works also with the older compiler version and then
apply this fix.
Thank you, and Chris for your help!

Bye,
Martin
_______________________________________________
Softdevice-devel mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/softdevice-devel

Reply via email to