/* This testcase failed on mmix-knuth-mmixware. Problem was with storing to an unaligned mem:SC, gcc tried doing it by parts from a (concat:SC (reg:SF 293) (reg:SF 294)). */ typedef __complex__ float cf; struct x { char c; cf f; } __attribute__ ((__packed__)); extern void f2 (struct x*); extern void f1 (void); int main (void) { f1 (); exit (0); } void f1 (void) { struct x s; s.f = 1; s.c = 42; f2 (&s); } void f2 (struct x *y) { if (y->f != 1 || y->c != 42) abort (); }