Add @simd support.
This is a collective commit that supercedes the earlier commits for @simd.