On Wed, Sep 11, 2013 at 3:59 PM, Geoffrey Mainland <mainland@apeiron.net> wrote:
I don't see why we should limit ourselves by insisting that the gap
between what the LLVM back-end and the native back-end not grow further.
If we want SIMD, the gap is already quite large. Yes it would be nice to
have feature parity, but there are only so many man-hours available, and
we want to invest them wisely. The SIMD primops already do not work on
the native codegen; the user gets an error telling them to use the LLVM
back-end if they use the SIMD primops with the native codegen.

Having conditional primops makes for lots of ugly #ifdefs everywhere and everyone need to make sure they do these correctly. We don't have to implement SIMD in the native backend, we just need to have some reasonable emulation e.g. see how MO_PopCnt has a C fallback or how Int64 falls back to C code.