[Bug target/64180] PowerPC carry bit improvements
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
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
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
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
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
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
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
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
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
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.