Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(497)

Issue 5975045: [Patch, i386] Avoid LCP stalls

Can't Edit
Can't Publish+Mail
Start Review
Created:
12 years ago by tejohnson
Modified:
9 years, 7 months ago
Reviewers:
hjl.tools, ubizjak, rth, davidxl, hubicka
CC:
gcc-patches_gcc.gnu.org
Base URL:
svn+ssh://gcc.gnu.org/svn/gcc/trunk/gcc/
Visibility:
Public.

Patch Set 1 #

Patch Set 2 : [Patch, i386] Avoid LCP stalls #

Patch Set 3 : [Patch, i386] Avoid LCP stalls #

Total comments: 1
Unified diffs Side-by-side diffs Delta from patch set Stats (+16 lines, -5 lines) Patch
M config/i386/i386.h View 2 chunks +3 lines, -0 lines 0 comments Download
M config/i386/i386.c View 1 chunk +4 lines, -0 lines 0 comments Download
M config/i386/i386.md View 1 2 2 chunks +9 lines, -5 lines 1 comment Download

Messages

Total messages: 15
tejohnson
This patch addresses instructions that incur expensive length-changing prefix (LCP) stalls on some x86-64 implementations, ...
12 years ago (2012-03-30 14:18:59 UTC) #1
tejohnson
I should add that I have tested performance of this on Core2, Corei7 (Nehalem) and ...
12 years ago (2012-03-30 14:26:28 UTC) #2
tejohnson
Minor update to patch to remove unnecessary check in new movhi_imm_internal define_insn. Retested successfully. Teresa ...
12 years ago (2012-03-30 15:03:41 UTC) #3
rth_redhat.com
On 03/30/2012 11:03 AM, Teresa Johnson wrote: > +(define_insn "*movhi_imm_internal" > + [(set (match_operand:HI 0 ...
12 years ago (2012-03-30 15:11:45 UTC) #4
hubicka_ucw.cz
> Index: config/i386/i386.md > =================================================================== > --- config/i386/i386.md (revision 185920) > +++ config/i386/i386.md (working copy) ...
12 years ago (2012-03-30 15:18:14 UTC) #5
rth_redhat.com
On 03/30/2012 11:11 AM, Richard Henderson wrote: > On 03/30/2012 11:03 AM, Teresa Johnson wrote: ...
12 years ago (2012-03-30 15:19:12 UTC) #6
hjl.tools_gmail.com
On Fri, Mar 30, 2012 at 8:19 AM, Richard Henderson <rth@redhat.com> wrote: > On 03/30/2012 ...
12 years ago (2012-03-30 16:23:03 UTC) #7
tejohnson
Hi Richard, Jan and H.J., Thanks for all the quick responses and suggestions. I had ...
12 years ago (2012-03-30 16:32:43 UTC) #8
hubicka_ucw.cz
> Hi Richard, Jan and H.J., > > Thanks for all the quick responses and ...
12 years ago (2012-03-30 20:37:03 UTC) #9
tejohnson
New patch to avoid LCP stalls based on feedback from earlier patch. I modified H.J.'s ...
12 years ago (2012-04-05 00:07:02 UTC) #10
hjl.tools_gmail.com
On Wed, Apr 4, 2012 at 5:07 PM, Teresa Johnson <tejohnson@google.com> wrote: > New patch ...
12 years ago (2012-04-05 00:39:37 UTC) #11
davidxl
http://codereview.appspot.com/5975045/diff/6001/config/i386/i386.md File config/i386/i386.md (right): http://codereview.appspot.com/5975045/diff/6001/config/i386/i386.md#newcode16974 config/i386/i386.md:16974: ;; gets too big. The comments may need to ...
12 years ago (2012-04-05 04:25:02 UTC) #12
tejohnson
On Wed, Apr 4, 2012 at 5:39 PM, H.J. Lu <hjl.tools@gmail.com> wrote: > On Wed, ...
12 years ago (2012-04-05 04:56:55 UTC) #13
ubizjak_gmail.com
Hello! > New patch to avoid LCP stalls based on feedback from earlier patch. I ...
12 years ago (2012-04-05 07:41:34 UTC) #14
tejohnson
12 years ago (2012-04-05 13:50:20 UTC) #15
Thanks, I will do both and update the comment as suggested by David,
retest and then commit.

Teresa

On Thu, Apr 5, 2012 at 12:41 AM, Uros Bizjak <ubizjak@gmail.com> wrote:
> Hello!
>
>> New patch to avoid LCP stalls based on feedback from earlier patch. I
modified
>> H.J.'s old patch to perform the peephole2 to split immediate moves to HImode
>> memory. This is now enabled for Core2, Corei7 and Generic.
>
>> 2012-04-04   Teresa Johnson  <tejohnson@google.com>
>>
>>       * config/i386/i386.h (ix86_tune_indices): Add
>>       X86_TUNE_LCP_STALL.
>>       * config/i386/i386.md (move immediate to memory peephole2):
>>       Add cases for HImode move when LCP stall avoidance is needed.
>>       * config/i386/i386.c (initial_ix86_tune_features): Initialize
>>       X86_TUNE_LCP_STALL entry.
>
>   "optimize_insn_for_speed_p ()
> -   && !TARGET_USE_MOV0
> -   && TARGET_SPLIT_LONG_MOVES
> -   && get_attr_length (insn) >= ix86_cur_cost ()->large_insn
> +   && ((TARGET_LCP_STALL
> +       && GET_MODE (operands[0]) == HImode)
> +       || (!TARGET_USE_MOV0
> +          && TARGET_SPLIT_LONG_MOVES
> +          && get_attr_length (insn) >= ix86_cur_cost ()->large_insn))
>
> Please change added condition to:
>
> && ((<MODE>mode == HImode
>        && TARGET_LCP_STALL)
>       || (...))
>
> Please also add H.J. as co-author of this change to ChangeLog.
>
> OK with these changes.
>
> Thanks,
> Uros.



-- 
Teresa Johnson | Software Engineer | tejohnson@google.com | 408-460-2413
Sign in to reply to this message.

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b