Add some AVX2 intrinsics

This commit is contained in:
Vsevolod Livinskij
2013-11-27 00:55:57 +04:00
parent 19f73b2ede
commit 35a4d1b3a2
5 changed files with 292 additions and 13 deletions

View File

@@ -4264,34 +4264,73 @@ static inline uniform int8 padds(uniform int8 a, uniform int8 b) {
return __padds_i8(a, b);
}
static inline varying int8 padds(varying int8 a, varying int8 b) {
return __padds_vi8(a, b);
}
static inline uniform int16 padds(uniform int16 a, uniform int16 b) {
return __padds_i16(a, b);
}
static inline uniform unsigned int8 paddus(uniform unsigned int8 a, uniform unsigned int8 b) {
static inline varying int16 padds(varying int16 a, varying int16 b) {
return __padds_vi16(a, b);
}
static inline uniform unsigned int8 paddus(uniform unsigned int8 a,
uniform unsigned int8 b) {
return __paddus_i8(a, b);
}
static inline uniform unsigned int16 paddus(uniform unsigned int16 a, unsigned uniform int16 b) {
static inline varying unsigned int8 paddus(varying unsigned int8 a,
varying unsigned int8 b) {
return __paddus_vi8(a, b);
}
static inline uniform unsigned int16 paddus(uniform unsigned int16 a,
unsigned uniform int16 b) {
return __paddus_i16(a, b);
}
static inline varying unsigned int16 paddus(varying unsigned int16 a,
unsigned varying int16 b) {
return __paddus_vi16(a, b);
}
static inline uniform int8 psubs(uniform int8 a, uniform int8 b) {
return __psubs_i8(a, b);
}
static inline varying int8 psubs(varying int8 a, varying int8 b) {
return __psubs_vi8(a, b);
}
static inline uniform int16 psubs(uniform int16 a, uniform int16 b) {
return __psubs_i16(a, b);
}
static inline uniform unsigned int8 psubus(uniform unsigned int8 a, uniform unsigned int8 b) {
static inline varying int16 psubs(varying int16 a, varying int16 b) {
return __psubs_vi16(a, b);
}
static inline uniform unsigned int8 psubus(uniform unsigned int8 a,
uniform unsigned int8 b) {
return __psubus_i8(a, b);
}
static inline uniform unsigned int16 psubus(uniform unsigned int16 a, unsigned uniform int16 b) {
static inline varying unsigned int8 psubus(varying unsigned int8 a,
varying unsigned int8 b) {
return __psubus_vi8(a, b);
}
static inline uniform unsigned int16 psubus(uniform unsigned int16 a,
unsigned uniform int16 b) {
return __psubus_i16(a, b);
}
static inline varying unsigned int16 psubus(varying unsigned int16 a,
unsigned varying int16 b) {
return __psubus_vi16(a, b);
}
///////////////////////////////////////////////////////////////////////////
// rdrand