On Mon, 30 Jan 2006 22:51:48 -0500 Michael Jennings <[EMAIL PROTECTED]> babbled:

> On Tuesday, 31 January 2006, at 10:29:48 (+0900),
> Carsten Haitzler wrote:
> 
> > > > literally the mmx in that uses movq (see the macro in evas_mmx.h)
> > > > and monvtq - movntq is a newer call in sse and thats what the sse
> > > > test routines should be looking for - stargint at the code in front
> > > > of me right now - thats what it does.
> > > 
> > > If I were to hazard a guess, I'd say an SSE routine is being called
> > > inside BUILD_MMX by accident.  Could that be?
> > 
> > that shouldnt matter as there needs to be a runtime test to choose as
> > originally u ONLY built the routiens - later i made it runtime chosen so sse
> > and mmx are always built on x86, but chosen runtime. somehow the sse check
> > is either just being ignored (weird) or the check is wrong (i just want to
> > check your souce is the same as i have here). ie - does the sse test
> > function use movntq to test as the only sse instruction in
> > evas_common_copy_pixels_rgba_to_rgba_sse() is the MOVE_16DWORDS_MMX2 macro
> > (movq is old fashioned basic mmx and only these 2 instrucitons are used in
> > that macro). so check your evas_cpu.c sse test is the same as mine here -
> > ie it should be testing:
> > 
> >    movntq_r2m(mm0, blah);
> > 
> > it could be the cpu_can_do though... i've made a small change as technically
> > mmx2 and sse come together. :)
> 
> Line 52 of src/lib/engines/common/evas_cpu.c has:
> 
> void
> evas_common_cpu_sse_test(void)
> {
> #ifdef BUILD_SSE
>    int blah[2500];
> 
>    prefetch(blah + 1200);
> #endif
> }

ok - your evas is not what is in cvs:

void
evas_common_cpu_sse_test(void)
{
#ifdef BUILD_SSE
   int blah[16];

   movntq_r2m(mm0, blah);
#endif
}

is what's in dev cvs for evas. up to date:
[  1:31PM ~/C/evas/src/lib/engines/common ] cvs commit
cvs commit: Examining .
[  1:31PM ~/C/evas/src/lib/engines/common ] 

ie - nothing left to commit. that'll be your problem atm :)

> prefetch is defined in src/lib/include/evas_mmx.h as:
> 
> #define prefetch(var) \
>         __asm__ __volatile__ ( \
>                                  "prefetchnta (%0) \n" \
>                                  : \
>                                  : "r" (var) \
>                                  );
> 
> I only see movntq_r2m being used in
> src/lib/engines/common/evas_convert_yuv.c
> 
> Michael
> 
> -- 
> Michael Jennings (a.k.a. KainX)  http://www.kainx.org/  <[EMAIL PROTECTED]>
> n + 1, Inc., http://www.nplus1.net/       Author, Eterm (www.eterm.org)
> -----------------------------------------------------------------------
>  "Whoa.  Somebody computer programmers think is anti-social?  That
>   I'd like to see."                    -- Sydney Penny, "Hyperion Bay"
> 
> 
> -------------------------------------------------------
> This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
> for problems?  Stop!  Download the new AJAX search engine that makes
> searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
> http://sel.as-us.falkag.net/sel?cmd=lnk&kid=103432&bid=230486&dat=121642
> _______________________________________________
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
> 


-- 
------------- Codito, ergo sum - "I code, therefore I am" --------------
The Rasterman (Carsten Haitzler)    [EMAIL PROTECTED]
裸好多
Tokyo, Japan (東京 日本)


-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=103432&bid=230486&dat=121642
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to