On 8 January 2012 19:56, Peter Alexander <peter.alexander.au@gmail.com> wrote:
These don't make a lot of sense to return as value, e.g.

__v128 a, b;
a = simdop(movhlps, b); // ???

movhlps moves the top 64-bits of b into the bottom 64-bits of a. Can't be done as an expression like this.

The conventional way is to write it like this:
  r = simdop(movhlps, a, b);

This allows you to chain the functions together, ie. passing the result as an arg..