public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug target/13803] New: movqi operand constraints too restrictive
@ 2004-01-21 22:21 bernie at develer dot com
  2004-01-21 22:25 ` [Bug target/13803] " bernie at develer dot com
                   ` (8 more replies)
  0 siblings, 9 replies; 10+ messages in thread
From: bernie at develer dot com @ 2004-01-21 22:21 UTC (permalink / raw)
  To: gcc-bugs

for TARGET_COLDFIRE
X-Bugzilla-Reason: CC

Please reopen this bug for 3.4.0. The summary should read
something like "movqi operand constraints too restrictive
for TARGET_COLDFIRE"

This ICE was already present in 3.0.4 (PR c/5753), but
keeps appearing intermittently, probably triggered by
middle-end changes.

The ICE can be triggered on 3.3-branch and it was
apparently latent in mainline until after the 20030107
snapshot.  Both 20030114 and 20030121 consistently show
it.

The problem has also been discussed shortly here:
  http://gcc.gnu.org/ml/gcc/2004-01/msg00458.html

It seems this bug could be fixed by adding a new
insn for TARGET_COLDFIRE with relaxed constraints
and perhaps a longer/slower instruction sequence.


m68k-uclinux-gcc  -Wall -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing
 -Os  -Wa,--bitwise-or -I/usr/local/src/uclinux-tools/linux-2.6.x/include -m5200
  -msoft-float -fno-builtin -nostdinc -D_LIBC -I../../include -I.
-I/usr/local/lib/gcc/m68k-uclinux/3.4.0/include -DNDEBUG -DL__fpmaxtostr
printf.c -c -o _fpmaxtostr.o
printf.c: In function `_fpmaxtostr':
printf.c:2454: error: insn does not satisfy its constraints:
(insn 1378 536 537 38 (set (reg:QI 8 %a0)
        (mem:QI (plus:SI (reg/f:SI 14 %a6)
                (const_int -209 [0xffffff2f])) [0 mode+0 S1 A8])) 33
{*m68k.md:825} (nil)
    (nil))
printf.c:2454: internal compiler error: in reload_cse_simplify_operands, at
postreload.c:378



This is the offending pattern:

(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);")

(define_insn ""
  [(set (match_operand:QI 0 "nonimmediate_operand" "=d<Q>,dm,d*a")
        (match_operand:QI 1 "general_src_operand" "dmi,d<Q>,di*a"))]
  "TARGET_COLDFIRE"
  "* return output_move_qimode (operands);")

-- 
           Summary: movqi operand constraints too restrictive
                    for TARGET_COLDFIRE
           Product: gcc
           Version: 3.4.0
            Status: UNCONFIRMED
          Severity: critical
          Priority: P2
         Component: target
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: bernie at develer dot com
                CC: gcc-bugs at gcc dot gnu dot org,schwab at suse dot de
GCC target triplet: m68k-unknown-elf m68k-unkwnown-uclinux, probably others


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13803


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug target/13803] movqi operand constraints too restrictive
  2004-01-21 22:21 [Bug target/13803] New: movqi operand constraints too restrictive bernie at develer dot com
@ 2004-01-21 22:25 ` bernie at develer dot com
  2004-01-21 23:15 ` [Bug target/13803] [3.4/3.5 Regression] movqi operand constraints too restrictivefor TARGET_COLDFIRE pinskia at gcc dot gnu dot org
                   ` (7 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: bernie at develer dot com @ 2004-01-21 22:25 UTC (permalink / raw)
  To: gcc-bugs

for TARGET_COLDFIRE
X-Bugzilla-Reason: CC



-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |peter dot barada at motorola
                   |                            |dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13803


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug target/13803] [3.4/3.5 Regression] movqi operand constraints too restrictivefor TARGET_COLDFIRE
  2004-01-21 22:21 [Bug target/13803] New: movqi operand constraints too restrictive bernie at develer dot com
  2004-01-21 22:25 ` [Bug target/13803] " bernie at develer dot com
@ 2004-01-21 23:15 ` pinskia at gcc dot gnu dot org
  2004-01-21 23:15 ` pinskia at gcc dot gnu dot org
                   ` (6 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-01-21 23:15 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2004-01-21 23:15 -------
Confirmed.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|                            |1
 GCC target triplet|m68k-unknown-elf m68k-      |m68k-*-*
                   |unkwnown-uclinux, probably  |
                   |others                      |
   Last reconfirmed|0000-00-00 00:00:00         |2004-01-21 23:15:23
               date|                            |
            Summary|movqi operand constraints   |[3.4/3.5 Regression] movqi
                   |too restrictive             |operand constraints too
                   |for TARGET_COLDFIRE         |restrictivefor
                   |                            |TARGET_COLDFIRE
   Target Milestone|---                         |3.4.0


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13803


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug target/13803] [3.4/3.5 Regression] movqi operand constraints too restrictivefor TARGET_COLDFIRE
  2004-01-21 22:21 [Bug target/13803] New: movqi operand constraints too restrictive bernie at develer dot com
  2004-01-21 22:25 ` [Bug target/13803] " bernie at develer dot com
  2004-01-21 23:15 ` [Bug target/13803] [3.4/3.5 Regression] movqi operand constraints too restrictivefor TARGET_COLDFIRE pinskia at gcc dot gnu dot org
@ 2004-01-21 23:15 ` pinskia at gcc dot gnu dot org
  2004-02-28  2:59 ` mmitchel at gcc dot gnu dot org
                   ` (5 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-01-21 23:15 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2004-01-21 23:15 -------
*** Bug 5753 has been marked as a duplicate of this bug. ***

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |pbarada at mail dot wm dot
                   |                            |sps dot mot dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13803


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug target/13803] [3.4/3.5 Regression] movqi operand constraints too restrictivefor TARGET_COLDFIRE
  2004-01-21 22:21 [Bug target/13803] New: movqi operand constraints too restrictive bernie at develer dot com
                   ` (2 preceding siblings ...)
  2004-01-21 23:15 ` pinskia at gcc dot gnu dot org
@ 2004-02-28  2:59 ` mmitchel at gcc dot gnu dot org
  2004-06-09 19:30 ` mmitchel at gcc dot gnu dot org
                   ` (4 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2004-02-28  2:59 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From mmitchel at gcc dot gnu dot org  2004-02-28 02:59 -------
coldfire is not a primary target so I have changed the target milestone to 3.4.1.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|3.4.0                       |3.4.1


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13803


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug target/13803] [3.4/3.5 Regression] movqi operand constraints too restrictivefor TARGET_COLDFIRE
  2004-01-21 22:21 [Bug target/13803] New: movqi operand constraints too restrictive bernie at develer dot com
                   ` (3 preceding siblings ...)
  2004-02-28  2:59 ` mmitchel at gcc dot gnu dot org
@ 2004-06-09 19:30 ` mmitchel at gcc dot gnu dot org
  2004-06-10  0:13 ` bernie at develer dot com
                   ` (3 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2004-06-09 19:30 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From mmitchel at gcc dot gnu dot org  2004-06-09 19:30 -------
Postponed until 3.4.2.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|3.4.1                       |3.4.2


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13803


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug target/13803] [3.4/3.5 Regression] movqi operand constraints too restrictivefor TARGET_COLDFIRE
  2004-01-21 22:21 [Bug target/13803] New: movqi operand constraints too restrictive bernie at develer dot com
                   ` (4 preceding siblings ...)
  2004-06-09 19:30 ` mmitchel at gcc dot gnu dot org
@ 2004-06-10  0:13 ` bernie at develer dot com
  2004-06-10 13:34 ` [Bug target/13803] [3.4 " mark at codesourcery dot com
                   ` (2 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: bernie at develer dot com @ 2004-06-10  0:13 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From bernie at develer dot com  2004-06-10 00:13 -------
This patch fixes the bug:

2004-05-05  Peter Barada  <peter@the-baradas.com>
	* gcc/config/m68k/m68k.h(EXTRA_CONSTRAINT): add 'U' for
          register offset addressing.
	* gcc/config/m68k/m68k.md: Add 'U,U' alternative to ColdFire
	  variants of movsi,movhi,movqi insn patterns.

It's already present on mainline and I've been using it in my
local 3.4 tree for some time.

I'd like to backport it to 3.4 before 3.4.1.


-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |mmitchel at gcc dot gnu dot
                   |                            |org
             Status|NEW                         |ASSIGNED
   Last reconfirmed|2004-01-21 23:15:23         |2004-06-10 00:13:44
               date|                            |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13803


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug target/13803] [3.4 Regression] movqi operand constraints too restrictivefor TARGET_COLDFIRE
  2004-01-21 22:21 [Bug target/13803] New: movqi operand constraints too restrictive bernie at develer dot com
                   ` (5 preceding siblings ...)
  2004-06-10  0:13 ` bernie at develer dot com
@ 2004-06-10 13:34 ` mark at codesourcery dot com
  2004-06-10 13:36 ` pinskia at gcc dot gnu dot org
  2004-06-10 18:02 ` bernie at develer dot com
  8 siblings, 0 replies; 10+ messages in thread
From: mark at codesourcery dot com @ 2004-06-10 13:34 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From mark at codesourcery dot com  2004-06-10 13:33 -------
Subject: Re:  [3.4/3.5 Regression] movqi operand constraints
 too restrictivefor TARGET_COLDFIRE

bernie at develer dot com wrote:

> ------- Additional Comments From bernie at develer dot com  2004-06-10 00:13 -------
> This patch fixes the bug:
> 
> 2004-05-05  Peter Barada  <peter@the-baradas.com>
> 	* gcc/config/m68k/m68k.h(EXTRA_CONSTRAINT): add 'U' for
>           register offset addressing.
> 	* gcc/config/m68k/m68k.md: Add 'U,U' alternative to ColdFire
> 	  variants of movsi,movhi,movqi insn patterns.
> 
> It's already present on mainline and I've been using it in my
> local 3.4 tree for some time.
> 
> I'd like to backport it to 3.4 before 3.4.1.

Backporting this patch for 3.4.1 is fine.  Please proceed!



-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13803


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug target/13803] [3.4 Regression] movqi operand constraints too restrictivefor TARGET_COLDFIRE
  2004-01-21 22:21 [Bug target/13803] New: movqi operand constraints too restrictive bernie at develer dot com
                   ` (6 preceding siblings ...)
  2004-06-10 13:34 ` [Bug target/13803] [3.4 " mark at codesourcery dot com
@ 2004-06-10 13:36 ` pinskia at gcc dot gnu dot org
  2004-06-10 18:02 ` bernie at develer dot com
  8 siblings, 0 replies; 10+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-06-10 13:36 UTC (permalink / raw)
  To: gcc-bugs



-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|3.4.2                       |3.4.1


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13803


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug target/13803] [3.4 Regression] movqi operand constraints too restrictivefor TARGET_COLDFIRE
  2004-01-21 22:21 [Bug target/13803] New: movqi operand constraints too restrictive bernie at develer dot com
                   ` (7 preceding siblings ...)
  2004-06-10 13:36 ` pinskia at gcc dot gnu dot org
@ 2004-06-10 18:02 ` bernie at develer dot com
  8 siblings, 0 replies; 10+ messages in thread
From: bernie at develer dot com @ 2004-06-10 18:02 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From bernie at develer dot com  2004-06-10 18:01 -------
Applied to 3_4-branch.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|                            |FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13803


^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2004-06-10 18:02 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-01-21 22:21 [Bug target/13803] New: movqi operand constraints too restrictive bernie at develer dot com
2004-01-21 22:25 ` [Bug target/13803] " bernie at develer dot com
2004-01-21 23:15 ` [Bug target/13803] [3.4/3.5 Regression] movqi operand constraints too restrictivefor TARGET_COLDFIRE pinskia at gcc dot gnu dot org
2004-01-21 23:15 ` pinskia at gcc dot gnu dot org
2004-02-28  2:59 ` mmitchel at gcc dot gnu dot org
2004-06-09 19:30 ` mmitchel at gcc dot gnu dot org
2004-06-10  0:13 ` bernie at develer dot com
2004-06-10 13:34 ` [Bug target/13803] [3.4 " mark at codesourcery dot com
2004-06-10 13:36 ` pinskia at gcc dot gnu dot org
2004-06-10 18:02 ` bernie at develer dot com

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).