You need to add WDL_FIXALIGN to any doubles inside a struct/class that might be misaligned, e.g.:
Code:
struct Foo
{
int x;
double WDL_FIXALIGN y;
};
struct Bar
{
double a;
int b;
}
WDL_FIXALIGN;
AFAIK local variables are always properly aligned, because they are on the stack, so you only need to worry about global variables and structs/classes.
You could first try to narrow down what part of your code slows things down by temporarily disabling chunks of code. That way you could probably only add WDL_FIXALIGN where it's really needed.
BTW, are you sure you are really using the same compiler flags? Because if e.g. you're using /fp:fast on MSVC, but no -ffast-math in Xcode, then this might also slow things down...