@Aatch  A macro will prevent it from having variables in the shuffle, which is the correct semantics for llvm to generate a good shuffle. 

```simdex![v, 0, 0, 1, 1, 2, 2, 3, 3];```
is a good place to start that doesn't require inducing magic syntax. 

better syntax can be added later