public static ushort2 addsub(ushort2 a, ushort2 b) { if (Ssse3.IsSsse3Supported) { return(a + Ssse3.sign_epi16(b, new ushort2(1, ushort.MaxValue))); } else { return(a + select(b, (ushort2)(-(short2)b), new bool2(false, true))); } }
public static short8 sign(short8 x) { if (Ssse3.IsSsse3Supported) { return(Ssse3.sign_epi16(new short8(1), x)); } else { return((x >> 15) | (short8)((ushort8)(-x) >> 15)); } }