foreach_element(2, (dest).e[_i] = (u32)(source).e[_i] >> (shift)) \
#define shr_4x16b(dest, source, shift) \
- foreach_element(4, (dest).e[_i] = (source).e[_i] >> (shift)) \
+ foreach_element(4, (dest).e[_i] = (u16)(source).e[_i] >> (shift)) \
#define shl_4x16b(dest, source, shift) \
foreach_element(4, (dest).e[_i] = (u32)(source).e[_i] << (shift)) \
(dest).e[_i] = result; \
}) \
+#define min_4x16b(dest, source_a, source_b) \
+ foreach_element(4, \
+ { \
+ s32 result = (source_a).e[_i]; \
+ if((source_b).e[_i] < result) \
+ result = (source_b).e[_i]; \
+ (dest).e[_i] = result; \
+ }) \
+
#define min_8x16b(dest, source_a, source_b) \
foreach_element(8, \
{ \