On Mon, 2006-01-09 at 01:39 +0900, Carsten Haitzler wrote:

> now...it doesnt build at all/ first try:
> 
> 86_64=301 -DETERM_SIMD_UNKNOWN=1 -DETERM_SIMD_MMX=201 
> -DETERM_SIMD_MMX_PLUS=202 
> -DETERM_SIMD_SSE=301 -DETERM_SIMD_SSE2=302 -DETERM_SIMD_SSE3=303 
> -DETERM_ARCH=ET
> ERM_ARCH_x86_64 -DETERM_SIMD=ETERM_SIMD_SSE2 -DETERM_ALIGNMENT=16 -c 
> sse2_cmod.c
>  -o sse2_cmod.o
> sse2_cmod.c: In function ‘shade_ximage_15_x86_64_sse2_U’:
> sse2_cmod.c:99: Error: error: can't find a register in class ‘GENERAL_REGS’ 
> whil
> e reloading ‘asm’
> make: *** [sse2_cmod.o] Error 1

There are less registers available on a x86 than a x86-64 chip.  This
has been accounted for in the shade_ximage_16_x86_sse_A functions and
the like.

> something is weird here... grrr

I assume you have a 32 bit computer.  (I should have said this at the
top of my last email)  Because this code needs to be adjustable and is
not going to be distributable on its own it's build system is stupid.
In Makefile (line ~73) try uncommenting the following lines:

CFLAGS += -DETERM_ARCH=ETERM_ARCH_x86
CFLAGS += -DETERM_SIMD=ETERM_SIMD_SSE2
CFLAGS += -DETERM_ALIGNMENT=16

The aligned stuff can be dis/enable in cmod.h with:
#define SIMD_USE_ALIGNED        0


-- 
Tres Melton
IRC & Gentoo: RiverRat

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to