public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
From: Janis Johnson <janis187@us.ibm.com>
To: gcc@gcc.gnu.org, jh@suse.cz
Cc: rodrigc@attbi.com, bangerth@ticam.utexas.edu
Subject: patch that caused regression PR middle-end/8808
Date: Wed, 18 Dec 2002 15:22:00 -0000	[thread overview]
Message-ID: <20021218141138.A31322@us.ibm.com> (raw)

The regression reported in PR middle-end/8808 showed up starting
with this patch:

Tue Feb 13 13:31:33 CET 2001  Jan Hubicka  <jh@suse.cz>

	* i386.c (print_reg): Use ANY_FP_REG instead of FP_REG
	* i386.h (MASK_128BIT_LONG_DOUBLE): Renumber
	(MASK_SSE2): New.
	(MASK_MIX_SSE_I387): New.
	(TARGET_SSE): SSE2 imply SSE.
	(TARGET_SSE2, TARGET_MIX_SSE_I387): New.
	(TARGET_SWITCHES): Add "sse2", "mix-sse-i387".
	(enum reg_class): Add new classes.
	(REG_CLASS_NAMES): Likewise.
	(REG_CLASS_CONTENTS): Likewise.
	(ANY_FP_REG_P, ANY_FP_REGNO_P, SSE_REG_P, SSE_FLOAT_MODE): New macros.
	(REG_CLASS_FROM_LETTER): 'x' and 'y' is SSE_REGS only when SSE is
	supported. Add 'Y' to be SSE_REGS when SSE2 is supported.
	(CLASS_MAX_NREGS): Use new macros.
	(REGISTER_MOVE_COST): Rewrite using SECONDARY_MEMORY_MAYBE_NEEDED.
	* i386.md (pushsf, movsf): Support SSE.
	(pushdf_nointeger, pushdf_integer, pushdf): Support SSE, update
	splitters to use ANY_FP_REGNO_P.
	(movdf_nointeger, movdf_integer): Likewise.

Here's a small test case that causes the compiler to ICE when compiled
on i686-linux:

-------------------
void f(unsigned long long int);

void g () {
  register unsigned long long int i asm ("mm0");
  f(i);
}
-------------------

Output from the compiler (current mainline):

8808.c: In function `g':
8808.c:6: error: insn does not satisfy its constraints:
(insn 18 23 28 (nil) (set (mem:DI (plus:SI (reg/f:SI 6 ebp)
                (const_int -8 [0xfffffff8])) [0 S8 A8])
        (reg/v:DI 29 rmm0)) 59 {*movdi_2} (nil)
    (nil))
8808.c:6: internal compiler error: in extract_constrain_insn_cached, at recog.c:2092
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://www.gnu.org/software/gcc/bugs.html> for instructions.

The test compiles with -march=pentium4; perhaps the compiler should
validate asm instructions against the target architecture and give
a meaningful error message in this case.

I'll add this information to the PR.

Janis

             reply	other threads:[~2002-12-18 22:09 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-12-18 15:22 Janis Johnson [this message]
2002-12-19  3:57 ` Jan Hubicka
2002-12-19 11:19   ` Richard Henderson
2002-12-19 15:31     ` Jan Hubicka

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=20021218141138.A31322@us.ibm.com \
    --to=janis187@us.ibm.com \
    --cc=bangerth@ticam.utexas.edu \
    --cc=gcc@gcc.gnu.org \
    --cc=jh@suse.cz \
    --cc=rodrigc@attbi.com \
    /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: link
Be 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).