public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug target/16884] New: [avr-gcc] bug while initialising variables
@ 2004-08-05  1:27 em at la dot mine dot nu
  2004-08-30 19:39 ` [Bug target/16884] " ericw at evcohs dot com
                   ` (10 more replies)
  0 siblings, 11 replies; 12+ messages in thread
From: em at la dot mine dot nu @ 2004-08-05  1:27 UTC (permalink / raw)
  To: gcc-bugs

int
main( void )
{
  unsigned char   s[8] = { 0x6E, 0x4E, 0xF7, 0x07, 0x41, 0xFA, 0xB9, 0xD4 };
  unsigned char   d[8] = { 0x1B, 0x55, 0x7C, 0xE6, 0x54, 0xAC, 0x54, 0xDB };
  return 0;
}

Compile it with avr-gcc version 3.4.0 and the following flags:
CPFLAGS = -mmcu=atmega16 -g -O3 -funsigned-char -funsigned-bitfields 
-fpack-struct -fshort-enums -Wall -W

The generated code looks like this:

  unsigned char   s[8] = { 0x6E, 0x4E, 0xF7, 0x07, 0x41, 0xFA, 0xB9, 0xD4 };
  96:   88 e0           ldi     r24, 0x08       ; 8
  98:   a0 e6           ldi     r26, 0x60       ; 96
  9a:   b0 e0           ldi     r27, 0x00       ; 0
  9c:   fe 01           movw    r30, r28
  9e:   31 96           adiw    r30, 0x01       ; 1
  a0:   0d 90           ld      r0, X+
  a2:   01 92           st      Z+, r0
  a4:   8a 95           dec     r24
  a6:   e1 f7           brne    .-8             ; 0xa0
  unsigned char   d[8] = { 0x1B, 0x55, 0x7C, 0xE6, 0x54, 0xAC, 0x54, 0xDB };
  a8:   a8 e6           ldi     r26, 0x68       ; 104
  aa:   b0 e0           ldi     r27, 0x00       ; 0
  ac:   fe 01           movw    r30, r28
  ae:   39 96           adiw    r30, 0x09       ; 9
  b0:   0d 90           ld      r0, X+
  b2:   01 92           st      Z+, r0
  b4:   8a 95           dec     r24
  b6:   e1 f7           brne    .-8             ; 0xb0

For the second initialisation there is a "ldi r24, 0x08" instruction
missing from the code.

-- 
           Summary: [avr-gcc] bug while initialising variables
           Product: gcc
           Version: 3.4.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: target
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: em at la dot mine dot nu
                CC: gcc-bugs at gcc dot gnu dot org


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


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

* [Bug target/16884] [avr-gcc] bug while initialising variables
  2004-08-05  1:27 [Bug target/16884] New: [avr-gcc] bug while initialising variables em at la dot mine dot nu
@ 2004-08-30 19:39 ` ericw at evcohs dot com
  2004-08-30 19:45 ` [Bug target/16884] [3.4/3.5? Regression] " pinskia at gcc dot gnu dot org
                   ` (9 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: ericw at evcohs dot com @ 2004-08-30 19:39 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From ericw at evcohs dot com  2004-08-30 19:39 -------
avr-gcc 3.3.2, same flags, seems to work:

------------------------
   4:bug16884.c    ****   unsigned char   s[8] = { 0x6E, 0x4E, 0xF7, 0x07, 0x41,
0xFA, 0xB9, 0xD4 };
  69               	.LM2:
  70               	.LBB2:
  71 0008 28E0      		ldi r18,lo8(8)
  72 000a DE01      		movw r26,r28
  73 000c 1196      		adiw r26,1
  74 000e E0E0      		ldi r30,lo8(.LC0)
  75 0010 F0E0      		ldi r31,hi8(.LC0)
  76 0012 0190      		ld __tmp_reg__,Z+
  77 0014 0D92      		st X+,__tmp_reg__
  78 0016 2A95      		dec r18
  79 0018 E1F7      		brne .-8
   5:bug16884.c    ****   unsigned char   d[8] = { 0x1B, 0x55, 0x7C, 0xE6, 0x54,
0xAC, 0x54, 0xDB };
  81               	.LM3:
  82 001a 28E0      		ldi r18,lo8(8)
  83 001c DE01      		movw r26,r28
  84 001e 1996      		adiw r26,9
  85 0020 E0E0      		ldi r30,lo8(.LC1)
  86 0022 F0E0      		ldi r31,hi8(.LC1)
  87 0024 0190      		ld __tmp_reg__,Z+
  88 0026 0D92      		st X+,__tmp_reg__
  89 0028 2A95      		dec r18
  90 002a E1F7      		brne .-8
   6:bug16884.c    ****   return 0;
------------------------


Bug confirmed with avr-gcc 3.4.1, same flags:
------------------------
   4:bug16884.c    ****   unsigned char   s[8] = { 0x6E, 0x4E, 0xF7, 0x07, 0x41,
0xFA, 0xB9, 0xD4 };
  69               	.LM2:
  70 0008 88E0      		ldi r24,lo8(8)
  71 000a A0E0      		ldi r26,lo8(.LC0)
  72 000c B0E0      		ldi r27,hi8(.LC0)
  73 000e FE01      		movw r30,r28
  74 0010 3196      		adiw r30,1
  75 0012 0D90      		ld __tmp_reg__,X+
  76 0014 0192      		st Z+,__tmp_reg__
  77 0016 8A95      		dec r24
  78 0018 E1F7      		brne .-8
   5:bug16884.c    ****   unsigned char   d[8] = { 0x1B, 0x55, 0x7C, 0xE6, 0x54,
0xAC, 0x54, 0xDB };
  80               	.LM3:
  81 001a A0E0      		ldi r26,lo8(.LC1)
  82 001c B0E0      		ldi r27,hi8(.LC1)
  83 001e FE01      		movw r30,r28
  84 0020 3996      		adiw r30,9
  85 0022 0D90      		ld __tmp_reg__,X+
  86 0024 0192      		st Z+,__tmp_reg__
  87 0026 8A95      		dec r24
  88 0028 E1F7      		brne .-8
------------------------

There is no LDI instruction after the d[8] declaration that loads the register
with the value that gets decremented with the following DEC instruction.

I would suggest marking this bug as NEW.
Also, please mark "Known to work" field with 3.3.2,
and mark "Known to fail" field with 3.4.0, 3.4.1.

Thanks

Eric Weddington
WinAVR Admin

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |ericw at evcohs dot com


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


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

* [Bug target/16884] [3.4/3.5? Regression] [avr-gcc] bug while initialising variables
  2004-08-05  1:27 [Bug target/16884] New: [avr-gcc] bug while initialising variables em at la dot mine dot nu
  2004-08-30 19:39 ` [Bug target/16884] " ericw at evcohs dot com
@ 2004-08-30 19:45 ` pinskia at gcc dot gnu dot org
  2004-08-31  5:22 ` pinskia at gcc dot gnu dot org
                   ` (8 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-08-30 19:45 UTC (permalink / raw)
  To: gcc-bugs



-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |wrong-code
      Known to fail|                            |3.4.0
      Known to work|                            |3.3.2
            Summary|[avr-gcc] bug while         |[3.4/3.5? Regression] [avr-
                   |initialising variables      |gcc] bug while initialising
                   |                            |variables
   Target Milestone|---                         |3.4.2


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


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

* [Bug target/16884] [3.4/3.5? Regression] [avr-gcc] bug while initialising variables
  2004-08-05  1:27 [Bug target/16884] New: [avr-gcc] bug while initialising variables em at la dot mine dot nu
  2004-08-30 19:39 ` [Bug target/16884] " ericw at evcohs dot com
  2004-08-30 19:45 ` [Bug target/16884] [3.4/3.5? Regression] " pinskia at gcc dot gnu dot org
@ 2004-08-31  5:22 ` pinskia at gcc dot gnu dot org
  2004-09-02 17:20 ` cvs-commit at gcc dot gnu dot org
                   ` (7 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-08-31  5:22 UTC (permalink / raw)
  To: gcc-bugs



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


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


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

* [Bug target/16884] [3.4/3.5? Regression] [avr-gcc] bug while initialising variables
  2004-08-05  1:27 [Bug target/16884] New: [avr-gcc] bug while initialising variables em at la dot mine dot nu
                   ` (2 preceding siblings ...)
  2004-08-31  5:22 ` pinskia at gcc dot gnu dot org
@ 2004-09-02 17:20 ` cvs-commit at gcc dot gnu dot org
  2004-09-03  1:19 ` [Bug target/16884] [3.4 Regression] [avr-gcc] [fweb related] " pinskia at gcc dot gnu dot org
                   ` (6 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: cvs-commit at gcc dot gnu dot org @ 2004-09-02 17:20 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From cvs-commit at gcc dot gnu dot org  2004-09-02 17:20 -------
Subject: Bug 16884

CVSROOT:	/cvs/gcc
Module name:	gcc
Changes by:	denisc@gcc.gnu.org	2004-09-02 17:20:05

Modified files:
	gcc            : ChangeLog 
	gcc/config/avr : avr.md 

Log message:
	PR target/16884
	* config/avr/avr.md ("movmemhi"): Substitute match_dup to
	match_scratch.
	(*movmemqi_insn): Likewise.
	(*movmemhi): Likewise.
	(clrmemhi): Likewise.
	(*clrmemqi): Likewise.
	(*clrmemhi): Likewise.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&r1=2.5209&r2=2.5210
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/avr/avr.md.diff?cvsroot=gcc&r1=1.46&r2=1.47



-- 


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


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

* [Bug target/16884] [3.4 Regression] [avr-gcc] [fweb related] bug while initialising variables
  2004-08-05  1:27 [Bug target/16884] New: [avr-gcc] bug while initialising variables em at la dot mine dot nu
                   ` (3 preceding siblings ...)
  2004-09-02 17:20 ` cvs-commit at gcc dot gnu dot org
@ 2004-09-03  1:19 ` pinskia at gcc dot gnu dot org
  2004-09-22 13:35 ` [Bug target/16884] [3.4 Regression] " pinskia at gcc dot gnu dot org
                   ` (5 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-09-03  1:19 UTC (permalink / raw)
  To: gcc-bugs



-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|                            |1
   Last reconfirmed|0000-00-00 00:00:00         |2004-09-03 01:19:27
               date|                            |
            Summary|[3.4/3.5? Regression] [avr- |[3.4 Regression] [avr-gcc]
                   |gcc] bug while initialising |[fweb related] bug while
                   |variables                   |initialising variables


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


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

* [Bug target/16884] [3.4 Regression] [fweb related] bug while initialising variables
  2004-08-05  1:27 [Bug target/16884] New: [avr-gcc] bug while initialising variables em at la dot mine dot nu
                   ` (4 preceding siblings ...)
  2004-09-03  1:19 ` [Bug target/16884] [3.4 Regression] [avr-gcc] [fweb related] " pinskia at gcc dot gnu dot org
@ 2004-09-22 13:35 ` pinskia at gcc dot gnu dot org
  2004-09-23  0:28 ` giovannibajo at libero dot it
                   ` (4 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-09-22 13:35 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2004-09-22 13:35 -------
*** Bug 17602 has been marked as a duplicate of this bug. ***

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jurij dot kotar at gmail dot
                   |                            |com


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


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

* [Bug target/16884] [3.4 Regression] [fweb related] bug while initialising variables
  2004-08-05  1:27 [Bug target/16884] New: [avr-gcc] bug while initialising variables em at la dot mine dot nu
                   ` (5 preceding siblings ...)
  2004-09-22 13:35 ` [Bug target/16884] [3.4 Regression] " pinskia at gcc dot gnu dot org
@ 2004-09-23  0:28 ` giovannibajo at libero dot it
  2004-09-24 15:21 ` cvs-commit at gcc dot gnu dot org
                   ` (3 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: giovannibajo at libero dot it @ 2004-09-23  0:28 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From giovannibajo at libero dot it  2004-09-23 00:28 -------
Denis, would you please backport the patch to the 3.4 branch so that we can 
close this PR? Thanks.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |denisc at overta dot ru
         AssignedTo|unassigned at gcc dot gnu   |denisc at overta dot ru
                   |dot org                     |
             Status|NEW                         |ASSIGNED


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


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

* [Bug target/16884] [3.4 Regression] [fweb related] bug while initialising variables
  2004-08-05  1:27 [Bug target/16884] New: [avr-gcc] bug while initialising variables em at la dot mine dot nu
                   ` (6 preceding siblings ...)
  2004-09-23  0:28 ` giovannibajo at libero dot it
@ 2004-09-24 15:21 ` cvs-commit at gcc dot gnu dot org
  2004-09-24 15:51 ` pinskia at gcc dot gnu dot org
                   ` (2 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: cvs-commit at gcc dot gnu dot org @ 2004-09-24 15:21 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From cvs-commit at gcc dot gnu dot org  2004-09-24 15:21 -------
Subject: Bug 16884

CVSROOT:	/cvs/gcc
Module name:	gcc
Branch: 	gcc-3_4-branch
Changes by:	denisc@gcc.gnu.org	2004-09-24 15:20:58

Modified files:
	gcc            : ChangeLog 
	gcc/config/avr : avr.md 

Log message:
	PR target/16884
	* config/avr/avr.md ("movmemhi"): Substitute match_dup to
	match_scratch.
	(*movmemqi_insn): Likewise.
	(*movmemhi): Likewise.
	(clrmemhi): Likewise.
	(*clrmemqi): Likewise.
	(*clrmemhi): Likewise.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=2.2326.2.633&r2=2.2326.2.634
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/avr/avr.md.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.42&r2=1.42.4.1



-- 


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


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

* [Bug target/16884] [3.4 Regression] [fweb related] bug while initialising variables
  2004-08-05  1:27 [Bug target/16884] New: [avr-gcc] bug while initialising variables em at la dot mine dot nu
                   ` (7 preceding siblings ...)
  2004-09-24 15:21 ` cvs-commit at gcc dot gnu dot org
@ 2004-09-24 15:51 ` pinskia at gcc dot gnu dot org
  2004-10-17 16:24 ` pinskia at gcc dot gnu dot org
  2004-10-17 20:07 ` ralf_corsepius at rtems dot org
  10 siblings, 0 replies; 12+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-09-24 15:51 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2004-09-24 15:50 -------
Fixed.

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


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


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

* [Bug target/16884] [3.4 Regression] [fweb related] bug while initialising variables
  2004-08-05  1:27 [Bug target/16884] New: [avr-gcc] bug while initialising variables em at la dot mine dot nu
                   ` (8 preceding siblings ...)
  2004-09-24 15:51 ` pinskia at gcc dot gnu dot org
@ 2004-10-17 16:24 ` pinskia at gcc dot gnu dot org
  2004-10-17 20:07 ` ralf_corsepius at rtems dot org
  10 siblings, 0 replies; 12+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-10-17 16:24 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2004-10-17 16:24 -------
*** Bug 18039 has been marked as a duplicate of this bug. ***

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |ralf_corsepius at rtems dot
                   |                            |org


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


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

* [Bug target/16884] [3.4 Regression] [fweb related] bug while initialising variables
  2004-08-05  1:27 [Bug target/16884] New: [avr-gcc] bug while initialising variables em at la dot mine dot nu
                   ` (9 preceding siblings ...)
  2004-10-17 16:24 ` pinskia at gcc dot gnu dot org
@ 2004-10-17 20:07 ` ralf_corsepius at rtems dot org
  10 siblings, 0 replies; 12+ messages in thread
From: ralf_corsepius at rtems dot org @ 2004-10-17 20:07 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From ralf_corsepius at rtems dot org  2004-10-17 20:07 -------
(In reply to comment #7)
> *** Bug 18039 has been marked as a duplicate of this bug. ***

I can confirm that the bug I had reported in PR 18039, does not occur anymore with 
today's GCC from gcc-3.4-branc (version 3.4.3 20041017 (prerelease)).

-- 


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


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

end of thread, other threads:[~2004-10-17 20:07 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-08-05  1:27 [Bug target/16884] New: [avr-gcc] bug while initialising variables em at la dot mine dot nu
2004-08-30 19:39 ` [Bug target/16884] " ericw at evcohs dot com
2004-08-30 19:45 ` [Bug target/16884] [3.4/3.5? Regression] " pinskia at gcc dot gnu dot org
2004-08-31  5:22 ` pinskia at gcc dot gnu dot org
2004-09-02 17:20 ` cvs-commit at gcc dot gnu dot org
2004-09-03  1:19 ` [Bug target/16884] [3.4 Regression] [avr-gcc] [fweb related] " pinskia at gcc dot gnu dot org
2004-09-22 13:35 ` [Bug target/16884] [3.4 Regression] " pinskia at gcc dot gnu dot org
2004-09-23  0:28 ` giovannibajo at libero dot it
2004-09-24 15:21 ` cvs-commit at gcc dot gnu dot org
2004-09-24 15:51 ` pinskia at gcc dot gnu dot org
2004-10-17 16:24 ` pinskia at gcc dot gnu dot org
2004-10-17 20:07 ` ralf_corsepius at rtems dot org

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