-march prescott: GENERAL_REGS error; but -msseX Ok ?

sean darcy seandarcy@hotmail.com
Sun Jan 30 00:28:00 GMT 2005


Building mythtv with gcc 3.4.2

i386/dsputil_mmx.c: In function `h263_h_loop_filter_mmx':
i386/dsputil_mmx.c:634: error: can't find a register in class `GENERAL_REGS'
while reloading `asm'
dmesg | less make[2]: *** [dsputil_mmx.o] Error 1

My cflags are -mtune=prescott -O3 -funit-at-a-time -ffast-math
-fomit-frame-pointer


But  -O3 -funit-at-a-time -ffast-math -fomit-frame-pointer -mmmx -msse 
-msse2 -msse3 works!

config/i386.c has:
{"prescott", PROCESSOR_NOCONA, PTA_SSE | PTA_SSE2 | PTA_SSE3
				        | PTA_MMX | PTA_PREFETCH_SSE}

So is the only reason prescott doesn't work is prefetch-sse.  I can't find a 
switch for it. Isn't it an intrinsic that's always on? If so, why does the 
long form work, while prescott doesn't?

sean




More information about the Gcc mailing list