Re: [PING ^ 3][PATCH, AArch64] Add doloop_end pattern for -fmodulo-sched

2014-12-10 Thread Yangfei (Felix)
> > --- gcc/config/aarch64/aarch64.c(revision 217394) > > +++ gcc/config/aarch64/aarch64.c(working copy) > > @@ -10224,6 +10224,9 @@ aarch64_use_by_pieces_infrastructure_p > (unsigned i > > #define TARGET_USE_BY_PIECES_INFRASTRUCTURE_P \ > > aarch64_use_by_pieces_infrastructure_p > >

Re: [PING ^ 3][PATCH, AArch64] Add doloop_end pattern for -fmodulo-sched

2014-12-09 Thread Tejas Belagod
On 18/11/14 11:28, Yangfei (Felix) wrote: On 11/18/2014 11:48 AM, Yangfei (Felix) wrote: +(define_expand "doloop_end" + [(use (match_operand 0 "" "")) ; loop pseudo + (use (match_operand 1 "" ""))] ; label + "" +{ + /* Currently SMS relies on the do-loop pattern to recognize loops

Re: [PING ^ 3][PATCH, AArch64] Add doloop_end pattern for -fmodulo-sched

2014-11-18 Thread Marcus Shawcroft
On 18 November 2014 11:28, Yangfei (Felix) wrote: > Yeah, that's a good idea. See my updated patch :-) > > > Index: gcc/ChangeLog > === > --- gcc/ChangeLog (revision 217394) > +++ gcc/ChangeLog (working copy) > @@ -1,3 +

Re: [PING ^ 3][PATCH, AArch64] Add doloop_end pattern for -fmodulo-sched

2014-11-18 Thread Richard Henderson
On 11/18/2014 12:28 PM, Yangfei (Felix) wrote: > +2014-11-13 Felix Yang > + > + * config/aarch64/aarch64.c (doloop_end): New pattern. > + * config/aarch64/aarch64.md (TARGET_CAN_USE_DOLOOP_P): Implement. Looks good to me. I'll leave it for aarch64 maintainers for final approval. r~

Re: [PING ^ 3][PATCH, AArch64] Add doloop_end pattern for -fmodulo-sched

2014-11-18 Thread Yangfei (Felix)
> On 11/18/2014 11:48 AM, Yangfei (Felix) wrote: > > +(define_expand "doloop_end" > > + [(use (match_operand 0 "" "")) ; loop pseudo > > + (use (match_operand 1 "" ""))] ; label > > + "" > > +{ > > + /* Currently SMS relies on the do-loop pattern to recognize loops > > + where (1)

Re: [PING ^ 3][PATCH, AArch64] Add doloop_end pattern for -fmodulo-sched

2014-11-18 Thread Richard Henderson
On 11/18/2014 11:48 AM, Yangfei (Felix) wrote: > +(define_expand "doloop_end" > + [(use (match_operand 0 "" "")) ; loop pseudo > + (use (match_operand 1 "" ""))] ; label > + "" > +{ > + /* Currently SMS relies on the do-loop pattern to recognize loops > + where (1) the control par

Re: [PING ^ 3][PATCH, AArch64] Add doloop_end pattern for -fmodulo-sched

2014-11-18 Thread Yangfei (Felix)
Yes, major code is borrowed from ARM port with the expected mode of loop pseudo changed to DImode. The function loop_canon_p called in sms_schedule can make sure that SMS is only performed for innermost loops. But I think it's a good idea to implement the TARGET_CAN_USE_DOLOOP_P hook here. Se

Re: [PING ^ 3][PATCH, AArch64] Add doloop_end pattern for -fmodulo-sched

2014-11-18 Thread Marcus Shawcroft
On 17 November 2014 07:59, Yangfei (Felix) wrote: >> +2014-11-13 Felix Yang >> + >> + * config/aarch64/aarch64.md (doloop_end): New pattern. >> + This looks like a straight copy of the ARM code, but without the TARGET_CAN_USE_DOLOOP_P definition. If the reason for including this code is

[PING ^ 3][PATCH, AArch64] Add doloop_end pattern for -fmodulo-sched

2014-11-17 Thread Yangfei (Felix)
PING? Is it OK for me to apply this patch? Thanks. > > > On 11/12/2014 11:01 AM, Yangfei (Felix) wrote: > > > +(define_expand "doloop_end" > > >> + [(use (match_operand 0 "" "")) ; loop pseudo > > >> + (use (match_operand 1 "" ""))] ; label > > >> + "" > > >> + " > > >> +{ > > >

[PING ^ 2][PATCH, AArch64] Add doloop_end pattern for -fmodulo-sched

2014-11-13 Thread Yangfei (Felix)
> On 11/12/2014 11:01 AM, Yangfei (Felix) wrote: > > +(define_expand "doloop_end" > >> + [(use (match_operand 0 "" "")) ; loop pseudo > >> + (use (match_operand 1 "" ""))] ; label > >> + "" > >> + " > >> +{ > > Drop the "" surrounding the { }. > > > r~ Hello, I updated the pa

Re: [PING][PATCH, AArch64] Add doloop_end pattern for -fmodulo-sched

2014-11-12 Thread Richard Henderson
On 11/12/2014 11:01 AM, Yangfei (Felix) wrote: > +(define_expand "doloop_end" >> + [(use (match_operand 0 "" "")) ; loop pseudo >> + (use (match_operand 1 "" ""))] ; label >> + "" >> + " >> +{ Drop the "" surrounding the { }. r~

Re: [PING][PATCH, AArch64] Add doloop_end pattern for -fmodulo-sched

2014-11-12 Thread Andrew Pinski
On Wed, Nov 12, 2014 at 2:54 AM, Jiong Wang wrote: > On 12/11/14 10:01, Yangfei (Felix) wrote: > >> + if (GET_MODE (operands[0]) != DImode) >> + FAIL; > > > shouldn't SImode be considered for -mabi=ilp32 ? I don't think it is needed for -mabi=ilp32 since word_mode is still DImode for -

Re: [PING][PATCH, AArch64] Add doloop_end pattern for -fmodulo-sched

2014-11-12 Thread Jiong Wang
On 12/11/14 10:01, Yangfei (Felix) wrote: + if (GET_MODE (operands[0]) != DImode) + FAIL; shouldn't SImode be considered for -mabi=ilp32 ?

[PING][PATCH, AArch64] Add doloop_end pattern for -fmodulo-sched

2014-11-12 Thread Yangfei (Felix)
Hello, Any comments on this patch? Thanks. > Hi, > This patch adds doloop_end standard pattern for AArch64 port so that > -fmodulo-sched can do its job. > Reg-tested for aarch64-linux-gnu with QEMU. OK for the trunk? > > > Index: gcc/ChangeLog > ===

[PATCH, AArch64] Add doloop_end pattern for -fmodulo-sched

2014-11-09 Thread Yangfei (Felix)
Hi, This patch adds doloop_end standard pattern for AArch64 port so that -fmodulo-sched can do its job. Reg-tested for aarch64-linux-gnu with QEMU. OK for the trunk? Index: gcc/ChangeLog === --- gcc/ChangeLog (revi