Suggest looking at the SPARC backend. How weird is that?? :)