[Bug target/64180] PowerPC carry bit improvements

2015-01-01 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64180

Segher Boessenkool segher at gcc dot gnu.org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED

--- Comment #10 from Segher Boessenkool segher at gcc dot gnu.org ---
All done.


[Bug target/64180] PowerPC carry bit improvements

2014-12-12 Thread pthaugen at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64180

Pat Haugen pthaugen at gcc dot gnu.org changed:

   What|Removed |Added

 CC||pthaugen at gcc dot gnu.org

--- Comment #9 from Pat Haugen pthaugen at gcc dot gnu.org ---
(In reply to Segher Boessenkool from comment #8)
 Author: segher
 Date: Wed Dec 10 18:37:58 2014
 New Revision: 218595
 

This revision causes CPU2000 benchmark 186.crafty to loop when compiled with
-m32.


[Bug target/64180] PowerPC carry bit improvements

2014-12-10 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64180

--- Comment #2 from Segher Boessenkool segher at gcc dot gnu.org ---
Author: segher
Date: Wed Dec 10 18:28:57 2014
New Revision: 218589

URL: https://gcc.gnu.org/viewcvs?rev=218589root=gccview=rev
Log:
PR target/64180
* config/rs6000/rs6000.c (TARGET_MD_ASM_CLOBBERS): Define.
(rs6000_md_asm_clobbers): New function.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/rs6000/rs6000.c


[Bug target/64180] PowerPC carry bit improvements

2014-12-10 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64180

--- Comment #3 from Segher Boessenkool segher at gcc dot gnu.org ---
Author: segher
Date: Wed Dec 10 18:30:07 2014
New Revision: 218590

URL: https://gcc.gnu.org/viewcvs?rev=218590root=gccview=rev
Log:
PR target/64180
* config/rs6000/darwin.md (macho_low_si): Remove r alternative.
(macho_low_di): Ditto.
* config/rs6000/rs6000.md (*largetoc_low): Ditto.
(tocrefmode): Ditto.
(elf_low): Ditto.
* config/rs6000/spe.md (mov_simode_e500_subreg0_elf_low_be): Ditto.
(mov_simode_e500_subreg0_elf_low_le): Ditto.
(mov_simode_e500_subreg4_elf_low_be): Ditto.  Reformat condition.
(mov_simode_e500_subreg4_elf_low_le): Ditto.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/rs6000/darwin.md
trunk/gcc/config/rs6000/rs6000.md
trunk/gcc/config/rs6000/spe.md


[Bug target/64180] PowerPC carry bit improvements

2014-12-10 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64180

--- Comment #4 from Segher Boessenkool segher at gcc dot gnu.org ---
Author: segher
Date: Wed Dec 10 18:31:15 2014
New Revision: 218591

URL: https://gcc.gnu.org/viewcvs?rev=218591root=gccview=rev
Log:
PR target/64180
* config/rs6000/rs6000.md (*ctrmode_internal1, *ctrmode_internal2,
*ctrmode_internal5, *ctrmode_internal6): Change r alternatives
to b.  Increase length.
(splitters for these): Split to cmp+addi instead of addic.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/rs6000/rs6000.md


[Bug target/64180] PowerPC carry bit improvements

2014-12-10 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64180

--- Comment #5 from Segher Boessenkool segher at gcc dot gnu.org ---
Author: segher
Date: Wed Dec 10 18:32:15 2014
New Revision: 218592

URL: https://gcc.gnu.org/viewcvs?rev=218592root=gccview=rev
Log:
PR target/64180
* config/rs6000/rs6000.md (*addmode3_internal1): Remove addic
alternative.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/rs6000/rs6000.md


[Bug target/64180] PowerPC carry bit improvements

2014-12-10 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64180

--- Comment #6 from Segher Boessenkool segher at gcc dot gnu.org ---
Author: segher
Date: Wed Dec 10 18:33:26 2014
New Revision: 218593

URL: https://gcc.gnu.org/viewcvs?rev=218593root=gccview=rev
Log:
PR target/64180
* config/rs6000/rs6000.md (*addmode3_internal1): Rename to
*addmode3.
(*addmode3_internal2, *addmode3_internal3, and (their splitters):
Delete.
(*addmode3_dot, *addmode3_dot2): New.
(*addmode3_imm_dot, *addmode3_imm_dot2): New.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/rs6000/rs6000.md


[Bug target/64180] PowerPC carry bit improvements

2014-12-10 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64180

--- Comment #7 from Segher Boessenkool segher at gcc dot gnu.org ---
Author: segher
Date: Wed Dec 10 18:36:18 2014
New Revision: 218594

URL: https://gcc.gnu.org/viewcvs?rev=218594root=gccview=rev
Log:
PR target/64180
* config/rs6000/predicates.md (adde_operand): New.
* config/rs6000/rs6000.md (addmode3_carry): New.
(*addmode3_imm_carry_pos): New.
(*addmode3_imm_carry_0): New.
(*addmode3_imm_carry_m1): New.
(*addmode3_imm_carry_neg): New.
(addmode3_carry_in): New.
(*addmode3_carry_in_internal): New.
(addmode3_carry_in_0): New.
(addmode3_carry_in_m1): New.
(subfmode3_carry): New.
(*subfmode3_imm_carry_0): New.
(*subfmode3_imm_carry_m1): New.
(subfmode3_carry_in): New.
(*subfmode3_carry_in_internal): New.
(subfmode3_carry_in_0): New.
(subfmode3_carry_in_m1): New.
(subfmode3_carry_in_xx): New.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/rs6000/predicates.md
trunk/gcc/config/rs6000/rs6000.md


[Bug target/64180] PowerPC carry bit improvements

2014-12-10 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64180

--- Comment #8 from Segher Boessenkool segher at gcc dot gnu.org ---
Author: segher
Date: Wed Dec 10 18:37:58 2014
New Revision: 218595

URL: https://gcc.gnu.org/viewcvs?rev=218595root=gccview=rev
Log:
PR target/64180
* config/rs6000/predicates.md (unsigned_comparison_operator): New.
(signed_comparison_operator): New.
* config/rs6000/rs6000-protos.h (rs6000_emit_eqne): Declare.
* config/rs6000/rs6000.c (rs6000_emit_eqne): New function.
(rs6000_emit_sCOND): Remove ISEL test (move it to the expander).
* config/rs6000/rs6000.md (addmode3 for SDI): Expand DImode
add to addc,adde directly, if !TARGET_POWERPC64.
(submode3 for SDI): Expand DImode sub to subfc,subfe directly,
if !TARGET_POWERPC64.
(negmode2): Delete expander.
(*negmode2): Rename to negmode2.
(addti3, subti3): Delete.
(addti3, subti3): New expanders.
(*adddi3_noppc64, *subdi3_noppc64, *negdi2_noppc64): Delete.
(cstoremode4_unsigned): New expander.
(cstoremode4): Allow GPR as output (not just SI).  Rewrite.
(cstoremode4 for FP): Remove superfluous quotes.
(*eqmode, *eqmode_compare, *plus_eqsi and splitter,
*compare_plus_eqsi and splitter, *plus_eqsi_compare and splitter,
*neg_eq0mode, *neg_eqmode, *ne0_mode, plus_ne0_mode,
compare_plus_ne0_mode and splitter, *compare_plus_ne0_mode_1 and
splitter, *plus_ne0_mode_compare and splitter, *leumode,
*leumode_compare and splitter, *plus_leumode, *neg_leumode,
*and_neg_leumode, *ltumode, *ltumode_compare, *plus_ltumode,
*plus_ltumode_1, *plus_ltumodecompare, *neg_ltumode, *geumode,
*geumode_compare and splitter, *plus_geumode, *neg_geumode,
*and_neg_geumode, *plus_gt0mode, *gtumode, *gtumode_compare,
*plus_gtumode, *plus_gtumode_1, *plus_gtumode_compare,
*neg_gtumode, 12 anonymous insns, and 12 anonymous splitters):
Delete.
(eqmode3, nemode3): New.
(*neg_eq_mode, *neg_ne_mode): New.
(*plus_eq_mode, *plus_ne_mode): New.
(*minus_eq_mode, *minus_ne_mode): New.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/rs6000/predicates.md
trunk/gcc/config/rs6000/rs6000-protos.h
trunk/gcc/config/rs6000/rs6000.c
trunk/gcc/config/rs6000/rs6000.md


[Bug target/64180] PowerPC carry bit improvements

2014-12-04 Thread dje at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64180

David Edelsohn dje at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2014-12-04
 CC||dje at gcc dot gnu.org
 Ever confirmed|0   |1
   Severity|normal  |enhancement

--- Comment #1 from David Edelsohn dje at gcc dot gnu.org ---
Confirmed.  Very nice enhancement.