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