[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