This is the mail archive of the 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]

[PATCH, x86]: Fix PR target/37179, wrong detection of geode processor


AFAICS from i386.c source, -march=geode means AMD's geode with 3dnow-a
extensions. There is a bit of mess w.r.t to geodes, since they have a
couple of vendor signatures: "CyrixInstead", "Geode by NSC" and finaly

Attached patch sets -march=geode only for AMD geodes, where processor
signature string starts with "Geod". Earlier geodes are now handled by
generic code using their family number. Later athlon based geodes
don't set processor signature and are still handled by generic AMD
code in the same way as other AMD processors.

The patch fixes original problem, where geode LX was detected as
athlon, and unsupported ffreep insn was emitted.

2009-05-11  Uros Bizjak  <>

	PR target/37197
	* config/i386/driver-i386.c (processor_signatures): New enum.
	(SIG_GEODE): Move from vendor_signatures to processor_signatures.
	(host_detect_local_cpu): For SIG_AMD vendor, check for SIG_GEODE
	processor signature to detect geode processor.

I will wait a day or two for possible comments before committing this
patch to all active branches.


Attachment: p.diff.txt
Description: Text document

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