worked on implementing the simd real compare and shuffle primitives

I put these off untill now because they're a bit more compilcated, they
both take an 8 bit immediate so they don't fit a simple binary template.
I'm not done but I think I'm done with the c side of things.