public static sbyte16 nabs(sbyte16 x) { if (Ssse3.IsSsse3Supported) { return(Sse2.sub_epi8(default(v128), Ssse3.abs_epi8(x))); } else if (Sse2.IsSse2Supported) { return(Mask.BlendV(-x, x, Sse2.cmpgt_epi8(default(v128), x))); } else { return(new sbyte16((sbyte)nabs((int)x.x0), (sbyte)nabs((int)x.x1), (sbyte)nabs((int)x.x2), (sbyte)nabs((int)x.x3), (sbyte)nabs((int)x.x4), (sbyte)nabs((int)x.x5), (sbyte)nabs((int)x.x6), (sbyte)nabs((int)x.x7), (sbyte)nabs((int)x.x8), (sbyte)nabs((int)x.x9), (sbyte)nabs((int)x.x10), (sbyte)nabs((int)x.x11), (sbyte)nabs((int)x.x12), (sbyte)nabs((int)x.x13), (sbyte)nabs((int)x.x14), (sbyte)nabs((int)x.x15))); } }
public static sbyte4 nabs(sbyte4 x) { if (Ssse3.IsSsse3Supported) { return(Sse2.sub_epi8(default(v128), Ssse3.abs_epi8(x))); } else if (Sse2.IsSse2Supported) { return(Mask.BlendV(-x, x, Sse2.cmpgt_epi8(default(v128), x))); } else { return(new sbyte4((sbyte)nabs((int)x.x), (sbyte)nabs((int)x.y), (sbyte)nabs((int)x.z), (sbyte)nabs((int)x.w))); } }
public static sbyte16 abs(sbyte16 x) { if (Ssse3.IsSsse3Supported) { return(Ssse3.abs_epi8(x)); } else if (Sse2.IsSse2Supported) { v128 mask = Sse2.cmpgt_epi8(default(v128), x); return((x + mask) ^ mask); } else { return(new sbyte16((sbyte)math.abs(x.x0), (sbyte)math.abs(x.x1), (sbyte)math.abs(x.x2), (sbyte)math.abs(x.x3), (sbyte)math.abs(x.x4), (sbyte)math.abs(x.x5), (sbyte)math.abs(x.x6), (sbyte)math.abs(x.x7), (sbyte)math.abs(x.x8), (sbyte)math.abs(x.x9), (sbyte)math.abs(x.x10), (sbyte)math.abs(x.x11), (sbyte)math.abs(x.x12), (sbyte)math.abs(x.x13), (sbyte)math.abs(x.x14), (sbyte)math.abs(x.x15))); } }
public static sbyte4 abs(sbyte4 x) { if (Ssse3.IsSsse3Supported) { return(Ssse3.abs_epi8(x)); } else if (Sse2.IsSse2Supported) { v128 mask = Sse2.cmpgt_epi8(default(v128), x); return((x + mask) ^ mask); } else { return(new sbyte4((sbyte)math.abs(x.x), (sbyte)math.abs(x.y), (sbyte)math.abs(x.z), (sbyte)math.abs(x.w))); } }