no reason for 3 vec_mins, 2 are enough apparently in ei_predux_min

This commit is contained in:
Konstantinos A. Margaritis 2009-02-12 22:03:30 +00:00
parent ad2bf14dbb
commit 349557db9a

View File

@ -363,37 +363,33 @@ inline int ei_predux_mul(const v4i& a)
inline float ei_predux_min(const v4f& a) inline float ei_predux_min(const v4f& a)
{ {
v4f b, c, res; v4f b, res;
b = vec_min(a, vec_sld(a, a, 4)); b = vec_min(a, vec_sld(a, a, 8));
c = vec_min(a, vec_sld(b, b, 4)); res = vec_min(b, vec_sld(b, b, 4));
res = vec_min(a, vec_sld(c, c, 4));
return ei_pfirst(res); return ei_pfirst(res);
} }
inline int ei_predux_min(const v4i& a) inline int ei_predux_min(const v4i& a)
{ {
v4i b, c, res; v4i b, res;
b = vec_min(a, vec_sld(a, a, 4)); b = vec_min(a, vec_sld(a, a, 8));
c = vec_min(a, vec_sld(b, b, 4)); res = vec_min(b, vec_sld(b, b, 4));
res = vec_min(a, vec_sld(c, c, 4));
return ei_pfirst(res); return ei_pfirst(res);
} }
inline float ei_predux_max(const v4f& a) inline float ei_predux_max(const v4f& a)
{ {
v4f b, c, res; v4f b, res;
b = vec_max(a, vec_sld(a, a, 4)); b = vec_max(a, vec_sld(a, a, 8));
c = vec_max(a, vec_sld(b, b, 4)); res = vec_max(b, vec_sld(b, b, 4));
res = vec_max(a, vec_sld(c, c, 4));
return ei_pfirst(res); return ei_pfirst(res);
} }
inline int ei_predux_max(const v4i& a) inline int ei_predux_max(const v4i& a)
{ {
v4i b, c, res; v4i b, res;
b = vec_max(a, vec_sld(a, a, 4)); b = vec_max(a, vec_sld(a, a, 8));
c = vec_max(a, vec_sld(b, b, 4)); res = vec_max(b, vec_sld(b, b, 4));
res = vec_max(a, vec_sld(c, c, 4));
return ei_pfirst(res); return ei_pfirst(res);
} }