[Bug c/42227] New: fr30-gcc-4.4.2 generate Illigal 32bit immediate data

2009-11-30 Thread t_yokota at monami-software dot com
s->__sglue._niobs = 3;
  s->__sglue._iobs = &s->__sf[0];
# 209 "../../../.././newlib/libc/stdio/findfp.c"
  std (s->_stdin, 0x0004, 0, s);
# 220 "../../../.././newlib/libc/stdio/findfp.c"
  std (s->_stdout, 0x0008 | 0x0001, 1, s);

this C language (newlib/stdio/findfp.c) code generate following the assembler
code.

.LM45:
ldi:8   #1, r2
st  r2, @r1
.LM46:
ldi:20  #736, r1
addnr4, r1
st  r6, @r1
.LM47:
ldi:20  #740, r1
addnr4, r1
ldi:8   #3, r3
st  r3, @r1
.LM48:
ldi:20  #744, r1
addnr4, r1
ldi:20  #748, r2
addnr4, r2
st  r2, @r1
.LM49:
ldi:32  #-740, r1   <-- illigal immidiate code
addnr1, r1
ldi:32  std, r9
ld  @r1, r4
.LVL14:

 gcc-4.3.4 (fr30-unknown-elf) generate following code. It can  execute
correctly.

14690:   c0 12   ldi:8 0x1,r2
   14692:   14 12   st r2,@r1
   14694:   cf c1   ldi:8 0xfc,r1
   14696:   97 81   extsb r1
   14698:   a2 e1   addn r14,r1
   1469a:   04 12   ld @r1,r2
   1469c:   9b 01 02 e0 ldi:20 0x2e0,r1
   146a0:   a2 21   addn r2,r1
   146a2:   c0 02   ldi:8 0x0,r2
   146a4:   14 12   st r2,@r1
   146a6:   cf c1   ldi:8 0xfc,r1
   146a8:   97 81   extsb r1
   146aa:   a2 e1   addn r14,r1
   146ac:   04 12   ld @r1,r2
   146ae:   9b 01 02 e4 ldi:20 0x2e4,r1
   146b2:   a2 21   addn r2,r1
   146b4:   c0 32   ldi:8 0x3,r2
   146b6:   14 12   st r2,@r1
   146b8:   cf c1   ldi:8 0xfc,r1
   146ba:   97 81   extsb r1
   146bc:   a2 e1   addn r14,r1
   146be:   04 11   ld @r1,r1
   146c0:   9b 02 02 ec ldi:20 0x2ec,r2
   146c4:   a2 12   addn r1,r2
   146c6:   cf c1   ldi:8 0xfc,r1
   146c8:   97 81   extsb r1
   146ca:   a2 e1   addn r14,r1
   146cc:   04 13   ld @r1,r3
   146ce:   9b 01 02 e8 ldi:20 0x2e8,r1
   146d2:   a2 31   addn r3,r1
   146d4:   14 12   st r2,@r1
   146d6:   cf c1   ldi:8 0xfc,r1
   146d8:   97 81   extsb r1
   146da:   a2 e1   addn r14,r1
   146dc:   04 11   ld @r1,r1
   146de:   a0 41   addn 0x4,r1
   146e0:   04 12   ld @r1,r2
   146e2:   cf c1   ldi:8 0xfc,r1
   146e4:   97 81   extsb r1
   146e6:   a2 e1   addn r14,r1
   146e8:   8b 24   mov r2,r4
   146ea:   c0 45   ldi:8 0x4,r5
   146ec:   c0 06   ldi:8 0x0,r6
   146ee:   04 17   ld @r1,r7
   146f0:   9f 81 00 01 ldi:32 0x141dc,r1
   146f4:   41 dc 
   146f6:   97 11   call @r1
   146f8:   cf c1   ldi:8 0xfc,r1


-- 
   Summary: fr30-gcc-4.4.2 generate Illigal 32bit immediate data
   Product: gcc
   Version: 4.4.2
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
    ReportedBy: t_yokota at monami-software dot com
 GCC build triplet: i386-apple-darwin10.2.0
  GCC host triplet: i386-apple-darwin10.2.0
GCC target triplet: fr30-unknown-elf


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



[Bug c/42227] fr30-gcc-4.4.2 generate Illigal 32bit immediate data

2009-11-30 Thread t_yokota at monami-software dot com


--- Comment #1 from t_yokota at monami-software dot com  2009-11-30 10:00 
---
Created an attachment (id=19185)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=19185&action=view)
i, S and rtl output files


-- 


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