This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Fwd: [PATCH] Scheduling result adjustment to enable macro-fusion
- From: Wei Mi <wmi at google dot com>
- To: "H.J. Lu" <hjl dot tools at gmail dot com>
- Cc: Alexander Monakov <amonakov at ispras dot ru>, Steven Bosscher <stevenb dot gcc at gmail dot com>, GCC Patches <gcc-patches at gcc dot gnu dot org>, David Li <davidxl at google dot com>, Kirill Yukhin <kirill dot yukhin at gmail dot com>
- Date: Fri, 13 Sep 2013 16:07:43 -0700
- Subject: Re: Fwd: [PATCH] Scheduling result adjustment to enable macro-fusion
- Authentication-results: sourceware.org; auth=none
- References: <CAMe9rOo-dc7=ax8_pA21wuxnqphLBvf_Voi2n1OHJX7ZEab=ew at mail dot gmail dot com> <CA+4CFy4fqCRvM2Luw2_p6AEZOmucSV1KemntEO3_XU5TfzA-7A at mail dot gmail dot com>
On Fri, Sep 13, 2013 at 1:45 PM, Wei Mi <wmi@google.com> wrote:
> On Fri, Sep 13, 2013 at 12:09 PM, H.J. Lu <hjl.tools@gmail.com> wrote:
>> On Fri, Sep 13, 2013 at 11:28 AM, Wei Mi <wmi@google.com> wrote:
>>>> Checking corei7/corei7-avx explicitly isn't a good idea.
>>>> It is also useful for Ivy Bridge and Haswell. I think you
>>>> should use a variable to control it, similar to
>>>> TARGET_FUSE_CMP_AND_BRANCH.
>>>>
>>>>
>>>> --
>>>> H.J.
>>>
>>> Different x86 microarchitectures support macro-fusion for different
>>> compare and branch combinations. I need to differentiate various x86
>>> microarchitectures. If use TARGET_FUSE_CMP_AND_BRANCH like vars to
>>> control it, it requires a bunch of them. That is why I choose to check
>>
>> Can you use TARGET_FUSE_CMP_AND_BRANCH covers cmp/test
>> and branch, TARGET_FUSE_ALU_AND_BRANCH covers and/add/sub/inc/dec
>> and branch?
>>
>
> Yes, I can. Thanks for the suggestion. Will fix it, and with Ivy
> Bridge and Haswell included.
>
Just notice another problem here:
processor_type only contains PROCESSOR_COREI7, so I cannot
differentiate Westmere and Sandybridge in x86-tune.def, which are
different for TARGET_FUSE_ALU_AND_BRANCH. So do I have to separate
m_SANDYBRIDGE out from m_COREI7?