Hello, Felix!

On Sun, 1 Dec 2002 17:04:43 +0100 you wrote:

> On Sun, 1 Dec 2002 18:43:10 +0300
> Nick Kurshev <[EMAIL PROTECTED]> wrote:
> 
> [snip]
> > (gdb) info all-registers
> > eax            0x10     16
> > ecx            0x8289420        136877088
> > edx            0x8072a70        134687344
> > ebx            0x827c984        136825220
> > esp            0xbfffed98       0xbfffed98
> > ebp            0x81d0168        0x81d0168
> > esi            0x81d7c68        136150120
> > edi            0x8288720        136873760
> > eip            0x4046cb6a       0x4046cb6a
> > eflags         0x10202  66050
> > cs             0x23     35
> > ss             0x2b     43
> > ds             0x2b     43
> > es             0x2b     43
> > fs             0x2b     43
> > gs             0x2b     43
> > st0            0        (raw 0x00000000000000000000)
> > st1            9.15698587894439697265625        (raw 0x4002928303a000000000)
> > st2            -0.39477355778217315673828125    (raw 0xbffdca1fc28000000000)
> > st3            1.0389819958971111546475185605231673     (raw 
>0x3fff84fd5caec1652000)
> > st4            1        (raw 0x3fff8000000000000000)
> > st5            1        (raw 0x3fff8000000000000000)
> > st6            0        (raw 0x00000000000000000000)
> > st7            0.81921756267547607421875        (raw 0x3ffed1b83e0000000000)
> > fctrl          0x7f     127
> > fstat          0x0      0
> > ftag           0x0      0
> > fiseg          0x0      0
> > fioff          0x0      0
> > foseg          0x20     32
> > fooff          0x0      0
> > fop            0x0      0
> > xmm0           {f = {0x0, 0x0, 0x0, 0x0}}       {f = {-nan(0x7fffff),
> >     -nan(0x7fffff), -nan(0x7fffff), -nan(0x7fffff)}}
> > xmm1           {f = {0x0, 0x0, 0x0, 0x0}}       {f = {-nan(0x7fffff),
> >     -nan(0x7fffff), -nan(0x7fffff), -nan(0x7fffff)}}
> > xmm2           {f = {0x0, 0x0, 0x0, 0x0}}       {f = {-nan(0x7fffff),
> >     -nan(0x7fffff), -nan(0x7fffff), -nan(0x7fffff)}}
> > xmm3           {f = {0x0, 0x0, 0x0, 0x0}}       {f = {-nan(0x7fffff),
> >     -nan(0x7fffff), -nan(0x7fffff), -nan(0x7fffff)}}
> > xmm4           {f = {0x0, 0x0, 0x0, 0x0}}       {f = {-nan(0x7fffff),
> >     -nan(0x7fffff), -nan(0x7fffff), -nan(0x7fffff)}}
> > xmm5           {f = {0x0, 0x0, 0x0, 0x0}}       {f = {-nan(0x7fffff),
> >     -nan(0x7fffff), -nan(0x7fffff), -nan(0x7fffff)}}
> > xmm6           {f = {0x0, 0x0, 0x0, 0x0}}       {f = {-nan(0x7fffff),
> >     -nan(0x7fffff), -nan(0x7fffff), -nan(0x7fffff)}}
> > xmm7           {f = {0x0, 0x0, 0x0, 0x0}}       {f = {-nan(0x7fffff),
> >     -nan(0x7fffff), -nan(0x7fffff), -nan(0x7fffff)}}
> > mxcsr          0x1f80   8064
> 
> The xmm registers look like they were not saved in the core dump. Could
> you run glxgears inside gdb and get another register dump?
The result was the same! :(
I guess that SSE optimized function doesn't check length of parameters
and executes wrong code.
    MOV_L     ( EDX, REGOFF(V4F_COUNT, ECX) )
I think that (ecx % 4) != 0 in this place and it would be correctly
to limit SSE loop by less number of iteration:
and ~$3, %ecx
and execute scalar version for remaind of data.
> 
> Felix
> 
>                __\|/__    ___     ___     ___
> __Tschüß_______\_6 6_/___/__ \___/__ \___/___\___You can do anything,___
> _____Felix_______\Ä/\ \_____\ \_____\ \______U___just not everything____
>   [EMAIL PROTECTED]    >o<__/   \___/   \___/        at the same time!
> 


WBR! Nick


-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to