This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH 06/10] rs6000: New add/subf carry insns
- From: David Edelsohn <dje dot gcc at gmail dot com>
- To: Segher Boessenkool <segher at kernel dot crashing dot org>
- Cc: GCC Patches <gcc-patches at gcc dot gnu dot org>
- Date: Wed, 10 Dec 2014 09:39:04 -0500
- Subject: Re: [PATCH 06/10] rs6000: New add/subf carry insns
- Authentication-results: sourceware.org; auth=none
- References: <cover dot 1418024189 dot git dot segher at kernel dot crashing dot org> <72cecd52901018524525d156113b1be658917f6b dot 1418024189 dot git dot segher at kernel dot crashing dot org> <CAGWvnynYapu=V2xp_aLmthjtSBz08j7K6cjn+KDgnE7Qw=S1Hw at mail dot gmail dot com> <CAGWvny=5Qh7=ybN+OP3K44QckiTOrvLMQDUoVNpy8aRVVNhQjA at mail dot gmail dot com> <20141210140030 dot GA15905 at gate dot crashing dot org>
On Wed, Dec 10, 2014 at 9:00 AM, Segher Boessenkool
<segher@kernel.crashing.org> wrote:
> On Mon, Dec 08, 2014 at 10:53:21AM -0500, David Edelsohn wrote:
>> As we both noticed, there are a few problems with this patch, so I'll
>> wait for a revised version.
>
> Here it is. It took a bit longer because of a latent problem in combine
> (ugh!) that caused mysterious failures in guality (double ugh).
>
> For the carry_in patterns I now have an expander that expands to the
> _0 and _m1 cases directly.
>
> Okay for mainline?
>
> Cheers,
>
>
> Segher
>
>
>
> 2014-12-10 Segher Boessenkool <segher@kernel.crashing.org>
>
> gcc/
> PR target/64180
> * config/rs6000/predicates.md (adde_operand): New.
> * config/rs6000/rs6000.md (add<mode>3_carry): New.
> (*add<mode>3_imm_carry_pos): New.
> (*add<mode>3_imm_carry_0): New.
> (*add<mode>3_imm_carry_m1): New.
> (*add<mode>3_imm_carry_neg): New.
> (add<mode>3_carry_in): New.
> (*add<mode>3_carry_in): New.
Please name this *add<mode>3_carry_in_internal
> (add<mode>3_carry_in_0): New.
> (add<mode>3_carry_in_m1): New.
> (subf<mode>3_carry): New.
> (*subf<mode>3_imm_carry_0): New.
> (*subf<mode>3_imm_carry_m1): New.
> (subf<mode>3_carry_in): New.
> (*subf<mode>3_carry_in): New.
Please name this *subf<mode>3_carry_in_internal
> (subf<mode>3_carry_in_0): New.
> (subf<mode>3_carry_in_m1): New.
> (subf<mode>3_carry_in_xx): New.
Okay with those changes.
Thanks for all of the great improvements!
- David