This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/20082] New: unrecognizable insn
- From: "a dot plot at nettaxi dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 19 Feb 2005 15:50:21 -0000
- Subject: [Bug target/20082] New: unrecognizable insn
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
avr-gcc (GCC) 3.4.3
Copyright (C) 2004 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Compiling: igncontrol.c
igncontrol.c: In function `__vector_3':
igncontrol.c:121: error: unrecognizable insn:
(insn 16 14 15 0 igncontrol.c:107 (set (reg:QI 46)
(mem:QI (reg/v:HI 2 r2 [ event_ptr ]) [0 S1 A8])) -1 (insn_list 9 (nil))
(nil))
igncontrol.c:121: internal compiler error: in extract_insn, at recog.c:2083
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.
make: *** [compile/igncontrol.o] Error 1
Process make exited with code 2
Parts of code:
...
// Globals
register char *event_ptr asm("r2");
...
SIGNAL(SIG_OUTPUT_COMPARE2)
{
// if (event_cnt == jump_point_keep)
// event_cnt = jump_point;
// Set output signals
IGN_CONTROL = *event_ptr++ & ctrl_mask_keep;
unsigned char cmp_tmp = *event_ptr++;
// If use of separate lines like:
//
// unsigned char cmp_tmp = *event_ptr;
// event_ptr++;
//
// so everything works fine.
if (cmp_tmp)
TIM2_CMP = cmp_tmp;
else
{
STOP_TIM2();
TIMSK = tim_mask;
IGN_FEED = 1;
}
}
...
Preprocessor:
...
void __vector_3 (void) __attribute__ ((signal)); void __vector_3 (void)
{
(*(volatile uint8_t *)((0x15) + 0x20)) = *event_ptr++ & ctrl_mask_keep;
unsigned char cmp_tmp = *event_ptr++;
if (cmp_tmp)
(*(volatile uint8_t *)((0x23) + 0x20)) = cmp_tmp;
else
{
(*(volatile uint8_t *)((0x25) + 0x20)) = 0x00;
(*(volatile uint8_t *)((0x39) + 0x20)) = tim_mask;
(*(volatile bit_field *) (((uint16_t) &((*(volatile uint8_t *)((0x18) + 0x20))
)))).bit2 = 1;
}
}
--
Summary: unrecognizable insn
Product: gcc
Version: 3.4.3
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: target
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: a dot plot at nettaxi dot com
CC: ericw at evcohs dot com,gcc-bugs at gcc dot gnu dot org
GCC target triplet: avr
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20082