public inbox for gcc-bugs@sourceware.org help / color / mirror / Atom feed
From: "dje at watson dot ibm dot com" <gcc-bugzilla@gcc.gnu.org> To: gcc-bugs@gcc.gnu.org Subject: [Bug middle-end/18641] [4.0 Regression] Another ICE caused by reload of a psuedo reg into f0 for a DImode expr Date: Mon, 06 Dec 2004 17:16:00 -0000 [thread overview] Message-ID: <20041206171645.13753.qmail@sourceware.org> (raw) In-Reply-To: <20041124011632.18641.fjahanian@apple.com> ------- Additional Comments From dje at watson dot ibm dot com 2004-12-06 17:16 ------- Subject: Re: [4.0 Regression] Another ICE caused by reload of a psuedo reg into f0 for a DImode expr The following patch implements the two suggestions. It fixes the ICE on AIX, but continues to produce an ICE on Mac OS X. Also, the CONST_INT case only should be relevant in 64-bit mode. Index: rs6000.h =================================================================== RCS file: /cvs/gcc/gcc/gcc/config/rs6000/rs6000.h,v retrieving revision 1.348 diff -c -p -r1.348 rs6000.h *** rs6000.h 27 Nov 2004 22:45:24 -0000 1.348 --- rs6000.h 6 Dec 2004 17:14:18 -0000 *************** enum reg_class *** 1397,1404 **** */ #define PREFERRED_RELOAD_CLASS(X,CLASS) \ ! (((GET_CODE (X) == CONST_DOUBLE \ ! && GET_MODE_CLASS (GET_MODE (X)) == MODE_FLOAT) \ ? NO_REGS \ : (GET_MODE_CLASS (GET_MODE (X)) == MODE_INT \ && (CLASS) == NON_SPECIAL_REGS) \ --- 1397,1404 ---- */ #define PREFERRED_RELOAD_CLASS(X,CLASS) \ ! (((CONSTANT_P (X) \ ! && reg_classes_intersect_p ((CLASS), FLOAT_REGS)) \ ? NO_REGS \ : (GET_MODE_CLASS (GET_MODE (X)) == MODE_INT \ && (CLASS) == NON_SPECIAL_REGS) \ Index: rs6000.md =================================================================== RCS file: /cvs/gcc/gcc/gcc/config/rs6000/rs6000.md,v retrieving revision 1.336 diff -c -p -r1.336 rs6000.md *** rs6000.md 1 Dec 2004 17:18:38 -0000 1.336 --- rs6000.md 6 Dec 2004 17:14:18 -0000 *************** *** 8496,8502 **** ; List r->r after r->"o<>", otherwise reload will try to reload a ; non-offsettable address by using r->r which won't make progress. (define_insn "*movdi_internal32" ! [(set (match_operand:DI 0 "nonimmediate_operand" "=o<>,r,r,f,f,m,r") (match_operand:DI 1 "input_operand" "r,r,m,f,m,f,IJKnGHF"))] "! TARGET_POWERPC64 && (gpc_reg_operand (operands[0], DImode) --- 8496,8502 ---- ; List r->r after r->"o<>", otherwise reload will try to reload a ; non-offsettable address by using r->r which won't make progress. (define_insn "*movdi_internal32" ! [(set (match_operand:DI 0 "nonimmediate_operand" "=o<>,r,r,!*f,!*f,m,r") (match_operand:DI 1 "input_operand" "r,r,m,f,m,f,IJKnGHF"))] "! TARGET_POWERPC64 && (gpc_reg_operand (operands[0], DImode) *************** *** 8567,8573 **** }") (define_insn "*movdi_internal64" ! [(set (match_operand:DI 0 "nonimmediate_operand" "=r,r,m,r,r,r,r,??f,f,m,r,*h,*h") (match_operand:DI 1 "input_operand" "r,m,r,I,L,nF,R,f,m,f,*h,r,0"))] "TARGET_POWERPC64 && (gpc_reg_operand (operands[0], DImode) --- 8567,8573 ---- }") (define_insn "*movdi_internal64" ! [(set (match_operand:DI 0 "nonimmediate_operand" "=r,r,m,r,r,r,r,!*f,!*f,m,r,*h,*h") (match_operand:DI 1 "input_operand" "r,m,r,I,L,nF,R,f,m,f,*h,r,0"))] "TARGET_POWERPC64 && (gpc_reg_operand (operands[0], DImode) -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18641
next prev parent reply other threads:[~2004-12-06 17:16 UTC|newest] Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top 2004-11-24 1:16 [Bug target/18641] New: " fjahanian at apple dot com 2004-11-24 1:28 ` [Bug middle-end/18641] " pinskia at gcc dot gnu dot org 2004-11-24 1:53 ` pinskia at gcc dot gnu dot org 2004-11-24 1:55 ` [Bug middle-end/18641] [4.0 Regression] " pinskia at gcc dot gnu dot org 2004-11-24 2:00 ` pinskia at gcc dot gnu dot org 2004-11-24 2:04 ` pinskia at gcc dot gnu dot org 2004-11-24 5:07 ` pinskia at gcc dot gnu dot org 2004-11-24 5:56 ` pinskia at gcc dot gnu dot org 2004-11-24 6:01 ` pinskia at gcc dot gnu dot org 2004-11-24 6:05 ` pinskia at gcc dot gnu dot org 2004-11-24 6:08 ` pinskia at gcc dot gnu dot org 2004-11-24 14:50 ` uweigand at gcc dot gnu dot org 2004-11-24 18:19 ` dje at gcc dot gnu dot org 2004-11-25 20:32 ` rth at gcc dot gnu dot org 2004-11-25 21:53 ` uweigand at gcc dot gnu dot org 2004-11-25 21:57 ` uweigand at gcc dot gnu dot org 2004-11-25 22:44 ` rth at gcc dot gnu dot org 2004-11-28 18:12 ` laurent at guerby dot net 2004-12-01 22:08 ` fjahanian at apple dot com 2004-12-02 16:15 ` uweigand at gcc dot gnu dot org 2004-12-05 6:09 ` dje at gcc dot gnu dot org 2004-12-05 15:45 ` uweigand at gcc dot gnu dot org 2004-12-06 17:16 ` dje at watson dot ibm dot com [this message] 2004-12-06 17:29 ` pinskia at gcc dot gnu dot org 2004-12-06 17:56 ` fjahanian at apple dot com 2004-12-06 23:32 ` fjahanian at apple dot com 2004-12-07 3:10 ` dje at watson dot ibm dot com 2004-12-07 15:11 ` pinskia at gcc dot gnu dot org 2004-12-07 23:26 ` amodra at bigpond dot net dot au 2004-12-11 17:37 ` cvs-commit at gcc dot gnu dot org 2004-12-11 17:55 ` dje at gcc dot gnu dot org
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20041206171645.13753.qmail@sourceware.org \ --to=gcc-bugzilla@gcc.gnu.org \ --cc=gcc-bugs@gcc.gnu.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).