public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
From: Bernardo Innocenti <bernie@develer.com>
To: Andreas Schwab <schwab@suse.de>
Cc: Richard Zidlicky <rz@linux-m68k.org>,  gcc@gnu.org
Subject: Re: m68k bootstrapping broken
Date: Thu, 08 Jan 2004 11:56:00 -0000	[thread overview]
Message-ID: <3FFD44F0.6070907@develer.com> (raw)
In-Reply-To: <jek742hj02.fsf@sykes.suse.de>

Andreas Schwab wrote:

>>printf.c:2451: error: insn does not satisfy its constraints:
>>(insn 1379 542 543 38 (nil) (set (reg:QI 8 %a0)
>>        (mem:QI (plus:SI (reg/f:SI 14 %a6)
>>                        (const_int -209 [0xffffff2f])) [0 mode S1 A8])) 37 {*m68k.md:1060} (nil)
>>                            (nil))
> 
> This tries to move a QImode from memory to an address register.  m68k.md
> has this pattern for movqi:
> 
> (define_expand "movqi"
>   [(set (match_operand:QI 0 "nonimmediate_operand" "")
>         (match_operand:QI 1 "general_src_operand" ""))]
>   ""
>   "")
> 
> (define_insn ""
>   [(set (match_operand:QI 0 "nonimmediate_operand" "=d,*a,m")
> 	(match_operand:QI 1 "general_src_operand" "dmSi*a,di*a,dmSi"))]
>   "!TARGET_COLDFIRE"
>   "* return output_move_qimode (operands);")

You meant to quote the TARGET_COLDFIRE version?  The ICE happens
with -m5200.

> And indeed this combination of operands is not allowed by the constraints.
> Shouldn't the define_expand reject this in the first place, or is there
> some other mechanism to tell the reload pass not to generate such an insn?

Sorry, I think I don't fully understand how the code generation pass
works.  In gccint, I read:

   Every RTL insn emitted by a `define_expand' must match some
   `define_insn' in the machine description.  Otherwise, the compiler will
   crash when trying to generate code for the insn or trying to optimize
   it.

So it means that once you've defined the "movqi" pattern, you must
provide enough insns to satisfy all possible combinations of operands.

Could we fix it by adding a new insn for TARGET_COLDFIRE with relaxed
constraints, implemented using a longer/slower sequence of m68k
instructions?

-- 
  // Bernardo Innocenti - Develer S.r.l., R&D dept.
\X/  http://www.develer.com/


  reply	other threads:[~2004-01-08 11:56 UTC|newest]

Thread overview: 106+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-01-05  0:20 Richard Zidlicky
2004-01-05  4:08 ` Bernardo Innocenti
2004-01-05 13:20   ` Richard Zidlicky
2004-01-06  1:07     ` Bernardo Innocenti
2004-01-06  9:24       ` Richard Zidlicky
2004-01-06 11:41         ` Bernardo Innocenti
2004-01-06 15:59           ` Peter Barada
2004-01-06 23:24             ` Bernardo Innocenti
2004-01-07  0:26               ` Peter Barada
2004-01-07  1:08                 ` Bernardo Innocenti
2004-01-07  0:50                   ` Peter Barada
2004-01-07  2:20                     ` Bernardo Innocenti
2004-01-07  3:25                       ` Peter Barada
2004-01-07 10:54                       ` Andreas Schwab
2004-01-07 11:02                         ` Andreas Schwab
2004-01-07 19:42                         ` Bernardo Innocenti
2004-01-08  9:49                           ` Andreas Schwab
2004-01-08 10:32                             ` Bernardo Innocenti
2004-01-08 14:38                               ` Peter Barada
2004-01-06 22:18           ` Richard Zidlicky
2004-01-07  0:15             ` Bernardo Innocenti
2004-01-07 18:40               ` Richard Zidlicky
2004-01-07 20:58                 ` Bernardo Innocenti
2004-01-08  9:45                   ` Andreas Schwab
2004-01-08 11:56                     ` Bernardo Innocenti [this message]
2004-01-09  2:13                       ` Andreas Schwab
2004-01-08 14:37                     ` Peter Barada
2004-01-08 18:26                   ` Richard Zidlicky
2004-01-08 23:55                   ` Richard Zidlicky
2004-01-08 22:11                     ` Bernardo Innocenti
2004-01-09  0:48                       ` Richard Zidlicky
2004-01-09  5:53                         ` Bernardo Innocenti
2004-01-09 23:23                           ` Richard Zidlicky
2004-01-10 21:09                             ` Bernardo Innocenti
2004-01-11  1:35                               ` Richard Henderson
2004-01-11  6:33                                 ` Bernardo Innocenti
2004-01-11 11:55                                   ` Richard Zidlicky
2004-01-11 16:35                                     ` Andreas Schwab
2004-01-11 21:45                                     ` Bernardo Innocenti
2004-01-11 14:18                                   ` Richard Henderson
2004-01-11 18:08                                     ` Matt Thomas
2004-01-11 21:21                                       ` VAX support (was: m68k bootstrapping broken) Jan-Benedict Glaw
2004-01-11 14:59                                   ` m68k bootstrapping broken Richard Zidlicky
2004-01-11 18:01                                     ` Andreas Schwab
2004-01-11 20:10                                     ` Andreas Schwab
2004-01-11 20:37                                       ` Andreas Schwab
2004-01-11 22:25                                         ` Bernardo Innocenti
2004-01-13  2:19                                         ` Richard Zidlicky
2004-01-13 12:18                                           ` Andreas Schwab
2004-01-13 23:00                                             ` Richard Zidlicky
2004-01-14  0:59                                               ` Bernardo Innocenti
2004-01-15  0:29                                                 ` Richard Zidlicky
2004-01-15  1:16                                                   ` Bernardo Innocenti
2004-01-15 13:08                                                     ` Richard Zidlicky
2004-01-15 19:10                                                       ` Bernardo Innocenti
2004-01-15 19:35                                                         ` Andrew Pinski
2004-01-15 13:49                                                   ` Matthias Klose
2004-01-15 23:21                                               ` Bernardo Innocenti
2004-01-16  1:36                                                 ` Richard Henderson
2004-02-09  1:47                                                   ` Bernardo Innocenti
2004-02-09 14:57                                                     ` Richard Zidlicky
2004-02-15 18:34                                                       ` Bernardo Innocenti
2004-02-16 20:40                                                         ` Richard Zidlicky
2004-01-16 11:27                                                 ` Andreas Schwab
2004-01-16 19:03                                                   ` Bernardo Innocenti
2004-01-17  1:01                                                     ` Andreas Schwab
2004-01-17  1:28                                                       ` Bernardo Innocenti
2004-01-17  3:57                                                         ` Andreas Schwab
2004-01-21  0:30                                                           ` Jim Wilson
2004-01-21  0:30                                                             ` Andreas Schwab
2004-01-21  1:55                                                             ` Jim Wilson
2004-01-13 15:12                                         ` Gunther Nikl
2004-01-13 21:58                                           ` Bernardo Innocenti
2004-01-13 22:55                                             ` Richard Zidlicky
2004-01-14  0:56                                               ` Bernardo Innocenti
2004-01-15  0:00                                                 ` Richard Zidlicky
2004-01-15  0:08                                                   ` Bernardo Innocenti
2004-01-15 12:32                                                     ` Richard Zidlicky
2004-01-15 14:00                                                       ` Andreas Schwab
2004-01-16  3:34                                                         ` Richard Zidlicky
2004-01-16  3:39                                                           ` Daniel Jacobowitz
2004-01-16  4:18                                                         ` Richard Zidlicky
2004-01-15 22:10                                                       ` Bernardo Innocenti
2004-01-14 10:15                                             ` Gunther Nikl
2004-01-14 17:10                                               ` Andreas Schwab
2004-01-14 17:05                                                 ` Gunther Nikl
2004-01-14 17:13                                                   ` Andreas Schwab
2004-01-14 23:14                                                     ` Gunther Nikl
2004-01-14 18:55                                                       ` Andreas Schwab
2004-01-15  1:16                                                       ` Joe Buck
2004-01-13 17:18                                         ` Richard Zidlicky
2004-01-14  1:13                                           ` Bernardo Innocenti
2004-01-15  2:50                                         ` Bernardo Innocenti
2004-01-15  6:22                                           ` Richard Henderson
2004-01-15  9:40                                           ` Andreas Schwab
2004-01-15 14:12                                             ` Matthias Klose
2004-01-15 16:08                                               ` Richard Zidlicky
2004-01-15 23:21                                             ` Bernardo Innocenti
2004-01-13 11:04                                   ` Gunther Nikl
2004-01-13 12:14                                     ` Andreas Schwab
2004-01-13 13:24                                       ` Gunther Nikl
2004-01-14  0:46                                     ` Bernardo Innocenti
2004-01-14 10:01                                       ` Gunther Nikl
2004-01-11 11:07                               ` Richard Zidlicky
2004-01-11 16:08                                 ` Andreas Schwab
2004-01-05 20:42 ` Hans-Peter Nilsson

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=3FFD44F0.6070907@develer.com \
    --to=bernie@develer.com \
    --cc=gcc@gnu.org \
    --cc=rz@linux-m68k.org \
    --cc=schwab@suse.de \
    /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).