So the problem on Darwin seems to be with conversion of the float results to integer results. Geoff has said he has done all he intends to with TImode for now so perhaps someone else more interested might take a look at this bug (which may well be independent of, but exposed by the TImode support).
FWIW this works for me with the TImode patch that Geoff posted (that I need for x86_64 anyhow)...
-eric