Source-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: src/external/mit/xorg/lib/pixman



Module Name:    src
Committed By:   mrg
Date:           Wed Dec  1 08:59:13 UTC 2010

Modified Files:
        src/external/mit/xorg/lib/pixman: Makefile

Log Message:
dsable SSE2 support on amd64 for now.  GCC generates code that causes
alignment faults.  the code is:

0x00007f7ffd40ccd7 <_pixman_implementation_create_sse2+0>:      push   %rbp
0x00007f7ffd40ccd8 <_pixman_implementation_create_sse2+1>:      mov    %rsp,%rbp
0x00007f7ffd40ccdb <_pixman_implementation_create_sse2+4>:      sub    
$0x10,%rsp
...
0x00007f7ffd40cdab <_pixman_implementation_create_sse2+212>:    mov    
$0xffffffffffffffff,%rdx
0x00007f7ffd40cdb2 <_pixman_implementation_create_sse2+219>:    mov    
%rdx,0xfffffffffffffff0(%rbp)
0x00007f7ffd40cdb6 <_pixman_implementation_create_sse2+223>:    mov    
%rdx,0xfffffffffffffff8(%rbp)
0x00007f7ffd40cdba <_pixman_implementation_create_sse2+227>:    movdqa 
0xfffffffffffffff0(%rbp),%xmm0

upon entry we have stack aligned to 16 bytes.  the first instruction
subtracts 8, we copy this not-16-byte aligned value into %rbp, and
then decrement the stack by 16 bytes.

then we store a big -1 into 16 bytes on the stack, and then load it
into %xmm0.. except we load it from an unaligned pointer and GP.


To generate a diff of this commit:
cvs rdiff -u -r1.12 -r1.13 src/external/mit/xorg/lib/pixman/Makefile

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



Home | Main Index | Thread Index | Old Index