mirror of
https://gitlab.com/libeigen/eigen.git
synced 2025-06-04 18:54:00 +08:00
no reason for 3 vec_mins, 2 are enough apparently in ei_predux_min
This commit is contained in:
parent
ad2bf14dbb
commit
349557db9a
@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user