[PATCH, i386]: AMD bdver3 enablement

Gopalasubramanian, Ganesh Ganesh.Gopalasubramanian@amd.com
Wed Nov 14 09:22:00 GMT 2012


Hi Uros!

> sseshuf replaces sselog in some insn patterns, but should be handled in the same way in *existing* .md files.

Modifications done as per the comments. 
1. Sseshuf is added along with sselog in existing md files.
2. sseshuf is handled in a separate pattern in bdver3.md

Bootstrapping and "make -k check" passes.
Ok for trunk?

Regards
Ganesh

2012-11-14  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/sse.md (sseshuf): New type attribute.
	* config/i386/athlon.md (sseshuf):Likewise.
	* config/i386/atom.md (sseshuf):Likewise.
	* config/i386/ppro.md (sseshuf):Likewise.
	* config/i386/bdver1.md (sseshuf):Likewise.
	* 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 bdver3_cost): New.
	(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_option_override_internal): Remove XSAVEOPT for bdver1 
	and bdver2.
	(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.

-----Original Message-----
From: Uros Bizjak [mailto:ubizjak@gmail.com] 
Sent: Monday, November 12, 2012 1:39 PM
To: Gopalasubramanian, Ganesh
Cc: gcc-patches@gcc.gnu.org
Subject: Re: [PATCH, i386]: AMD bdver3 enablement

On Mon, Nov 12, 2012 at 6:34 AM, Gopalasubramanian, Ganesh <Ganesh.Gopalasubramanian@amd.com> wrote:
>> You can see from the changes of sse.md that this is functionally a no-op change.
> Sseshuf replaces sselog.
> So, do you mean it should be added with sselog instead of sseadd?
> Adding it with sseadd (instead of sselog) influences the latency information.

sseshuf replaces sselog in some insn patterns, but should be handled in the same way in *existing* .md files.

Uros,

-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: difflog.txt
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20121114/28d65915/attachment.txt>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: bdver3.md
Type: application/octet-stream
Size: 32733 bytes
Desc: bdver3.md
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20121114/28d65915/attachment.obj>


More information about the Gcc-patches mailing list