[Ping]: [Patch] [AArch64] PR target 66049: fix add/extend gcc test suite failures

Kumar, Venkataramanan Venkataramanan.Kumar@amd.com
Tue May 26 16:25:00 GMT 2015


Thanks James 

Committed as https://gcc.gnu.org/viewcvs/gcc?view=revision&revision=223703

Regards,
Venkat.

> -----Original Message-----
> From: James Greenhalgh [mailto:james.greenhalgh@arm.com]
> Sent: Tuesday, May 26, 2015 2:09 PM
> To: Kumar, Venkataramanan
> Cc: gcc-patches@gcc.gnu.org; Marcus Shawcroft
> Subject: Re: [Ping]: [Patch] [AArch64] PR target 66049: fix add/extend gcc
> test suite failures
> 
> On Mon, May 25, 2015 at 06:39:36AM +0100, Kumar, Venkataramanan wrote:
> > Ping!
> >
> > -----Original Message-----
> > From: gcc-patches-owner@gcc.gnu.org
> > [mailto:gcc-patches-owner@gcc.gnu.org] On Behalf Of Kumar,
> > Venkataramanan
> > Sent: Tuesday, May 19, 2015 9:07 PM
> > To: James Greenhalgh (james.greenhalgh@arm.com);
> > gcc-patches@gcc.gnu.org
> > Cc: Kyrill Tkachov (kyrylo.tkachov@arm.com);
> > ramana.radhakrishnan@arm.com; segher@kernel.crashing.org; Marcus
> > Shawcroft (marcus.shawcroft@arm.com)
> > Subject: [Patch] [AArch64] PR target 66049: fix add/extend gcc test
> > suite failures
> >
> > Hi Maintainers,
> >
> > Please find the attached patch, that fixes add/extend gcc test suite failures
> in Aarch64 target.
> > Ref: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66049
> >
> > These tests started to fail after we prevented combiner from
> > converting shift RTX to mult RTX, when the RTX is not inside a memory
> operation (r222874) .
> > Now I have added new add/extend patterns which are based on shift
> > operations, to fix these cases.
> >
> > Testing status with the patch.
> >
> > (1) GCC bootstrap on AArch64 successful.
> > (2)  SPEC2006 INT runs did not show any degradation.
> > (3) gcc regression testing passed.
> 
> Perfect, thank you.
> 
> > Is this OK for trunk ?
> 
> Yup, this is OK for trunk. Make sure you reference the PR number in the
> ChangeLog entry and close off the BZ entry when this is done.
> 
> Thanks again for your patience.
> 
> > +;; zero_extend version of above
> > +(define_insn "*add_uxtsi_shift2_uxtw"
> > +  [(set (match_operand:DI 0 "register_operand" "=rk")
> > +	(zero_extend:DI
> > +	 (plus:SI (and:SI
> > +		   (ashift:SI (match_operand:SI 1 "register_operand" "r")
> > +			      (match_operand 2 "aarch64_imm3" "Ui3"))
> > +		   (match_operand 3 "const_int_operand" "n"))
> > +		  (match_operand:SI 4 "register_operand" "r"))))]
> > +  "aarch64_uxt_size (INTVAL (operands[2]), INTVAL (operands[3])) != 0"
> > +  "*
> > +  operands[3] = GEN_INT (aarch64_uxt_size (INTVAL (operands[2]),
> > +					   INTVAL (operands[3])));
> > +  return \"add\t%w0, %w4, %w1, uxt%e3 %2\";"
> > +  [(set_attr "type" "alu_ext")]
> > +)
> > +
> 
> You don't have to fix it in this patch (as it matches existing style), but if you
> are looking for a cleanup, we should use the
> 
> {
>   /* Code  */
> }
> 
> syntax in these patterns and avoid all the escaping of '"'.
> 
> Cheers,
> James



More information about the Gcc-patches mailing list