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

Reply via email to