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.