by jeremybennett » Thu Jan 10, 2013 11:09 am
I discussed this at some length with Joern Rennecke (who is responsible for the Epiphany compiler). I'll let him reply with a detailed explanation - there is too much risk of me getting the details wrong. However in summary, the underlying problem is with upstream GCC, which effectively insists on treating complex numbers as a pair of floats, 4 byte aligned.
This is something we want to fix, but it is a major piece of work, which will take some time. Although we would incorporate it first in GCC here, we would also want it included in upstream GCC as well (it will help other architectures, such as SH), which would have to wait until GCC 4.9 in 2014.
Joern has some suggestions for a workaround in the short term, which I'll let him explain.
HTH,
Jeremy