Hi,
  I'm working on str* operation under x86 platform, and  have improved speedup 
of strcmp function with SSE instruction to 2xx% by libmicro benchmark,however 
when I run specCPU2006, it generate exception. 
  After multiple verifications, I think at least there is conflict under snv_67 
platform.
  If I append only pcmpeqb %xmm2,%xmm0 in original AMD source code 
-usr/src/lib/libc/amd64/strcmp.s,
  after BFU and run specCPU2006 benchmark ,¡°comiss +0x854210(%rip),%xmm0¡± 
instruction in module_ra_sw.swpara_ function generates exception . 
  If removing pcmpeqb %xmm2,%xmm0, after BFU module_ra_sw.swpara_ work normally.
  From above result, I suppose because they should use the same register -xmm0 
without saving context and failed, or I need append addtional option, correct? 
  Thanks
  Ma Ling  
   
   
   
  // original AMD code                                                          
        
  #ifdef USE_AS_STRNCMP                                             
          ENTRY(strncmp)                                            
  #else                                                             
          ENTRY(strcmp)                   /* (const char *, const ch
  #endif                                                            
          pcmpeqb %xmm2,%xmm0        // my test code ,which caused problem
          xor     %ecx, %ecx                                        
                                                                    
  #ifdef USE_AS_STRNCMP                                             
          test    %rdx, %rdx              /* (const char *, const ch
          mov     %r14, -8 (%rsp)                                   
          mov     %rdx, %r14                                        
          mov     %edx, %eax                                        
          jz      LABEL(exitz)            /* early exit */          
  #endif                                                            
                                                                    
  LABEL(aligntry):                                                  
          mov     %rsi, %r8               /* align by "source" */   

       
---------------------------------
Never miss a thing.   Make Yahoo your homepage.
_______________________________________________
perf-discuss mailing list
perf-discuss@opensolaris.org

Reply via email to