This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: x86/MMX/SSE shift by immediate



On Jan 14, 2004, at 5:12 PM, Richard Henderson wrote:


On Wed, Jan 14, 2004 at 05:03:36PM -0800, Stuart Hastings wrote:
Does this look plausible (IANA x86 expert ;-) ?

{ target pentium-mmx-*-* pentium2-*-* winchip*-*-* c3*-*-* athlon*-*-*
k[68]*-*-* x86_64-*-* } for MMX
{ target pentium3-*-* k[68]*-*-* x86_64-*-* } for SSE
{ target pentium4-*-* k8*-*-* x86_64-*-* } for SSE2

No. Most folks just type configure, which won't come up with all these exotic names. Indeed, config.guess is going to choose i686 (not listed) virtually all of the time with hardware produced in the last 4 years.

If we're generating cmov just because -msse is set, then that is a bug.

O.K.


We shouldn't be generating those insns without the appropriate -march argument.

This fragment from i386.h seems to explain it:


/* For sane SSE instruction set generation we need fcomi instruction. It is
safe to enable all CMOVE instructions. */
#define TARGET_CMOVE ((x86_cmove & (1 << ix86_arch)) || TARGET_SSE)


The patch apparently came from here:

http://gcc.gnu.org/ml/gcc-patches/2001-02/msg00719.html

stuart hastings
Apple Computer


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]