> > --- 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
> >
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
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 +
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~
> 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)
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
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
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? 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
> > >> + ""
> > >> + "
> > >> +{
> >
>