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

[PATCH, i386]: AMD bdver3 enablement

From: "Gopalasubramanian, Ganesh" <Ganesh dot Gopalasubramanian at amd dot com>

To: "gcc-patches at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>

Cc: "Uros Bizjak (ubizjak at gmail dot com)" <ubizjak at gmail dot com>

Date: Thu, 11 Oct 2012 07:19:12 +0000

Subject: [PATCH, i386]: AMD bdver3 enablement

Hi The attached patch (Patch.txt) enables the next version of AMD's bulldozer core. A new file (bdver3.md) is also attached which describes the pipelines. Presently, the tuning is copied mostly from its predecessor. However, the pipelines are modeled for the new core. "Make -k check" passes. Is it OK for upstream? Regards Ganesh 2012-10-11 Ganesh Gopalasubramanian <Ganesh.Gopalasubramanian@amd.com> bdver3 Enablement * gcc/doc/extend.texi: Add details about bdver3. * gcc/doc/invoke.texi: Add details about bdver3. * config.gcc (i[34567]86-*-linux* | ...): Add bdver3. (case ${target}): Add bdver3. * config/i386/i386.h (TARGET_BDVER3): New definition. * config/i386/i386.md (define_attr "cpu"): Add bdver3. * config/i386/cpuid.h (bit_XSAVEOPT): New field for getting the xsaveopt cpuid flag. * config/i386/sse.md (sseshuf): New instruction attribute added for identifying the shuffle instructions. * config/i386/i386.opt (flag_dispatch_scheduler): Add bdver3. * config/i386/i386-c.c (ix86_target_macros_internal): Add bdver3 def_and_undef * config/i386/driver-i386.c (host_detect_local_cpu): Let -march=native recognize bdver3 processors. * config/i386/i386.c (struct processor_costs btver2_cost): New bdver3 cost table. (m_BDVER3): New definition. (m_AMD_MULTIPLE): Includes m_BDVER3. (initial_ix86_tune_features): Add bdver3 tune. (processor_target_table): Add bdver3 entry. (static const char *const cpu_names): Add bdver3 entry. (software_prefetching_beneficial_p): Add bdver3. (ix86_option_override_internal): Add bdver3 instruction sets. (ix86_issue_rate): Add bdver3. (ix86_adjust_cost): Add bdver3. (enum target_cpu_default): Add TARGET_CPU_DEFAULT_bdver3. (enum processor_type): Add PROCESSOR_BDVER3. * config/i386/bdver3.md: New file describing bdver3 pipelines.

Attachment: bdver3.md

Description: bdver3.md