struct differs between emu and device

Note for those with the same problem:

writing align(32) before every struct helped.
I would be glad if somebody could tell, why. gcc/g++ with -malign-double did nothing.