https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66486

            Bug ID: 66486
           Summary: MMIX code produced is invalid
           Product: gcc
           Version: 4.0.1
            Status: UNCONFIRMED
          Severity: major
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: ruckert at cs dot hm.edu
  Target Milestone: ---

The following c code:
typedef struct node { struct node *next; int i; } node;
void InsertEnd(node *p, node **head)
{ while (*head!=0) head=&((*head)->next);
  *head=p;
}
compliled with mmix-gcc -O2 -S bug.c
produces:
InsertEnd       IS @
        LDO $15,$1,0
        BZ $15,L:9
L:5     IS @
        SET $1,$2
        LDO $2,$1,0
        PBNZ $2,L:5
L:9     IS @
        STOU $0,$1,0
        POP 0,0

In the first SET instruction $2 is uninitialized. Probably the $15 in the
first two instructions should be a $2.

Reply via email to