blob: d3ba31c425a90bef4518b934fde7fb19ace47019 [file] [log] [blame]
typedef float *__restrict__ pRF32;
typedef double *__restrict__ pRF64;
float maxv_f32 (pRF32 a)
{
int i;
float s;
asm ("" : "=w" (s) : "0" (a[0]));
for (i=0;i<8;i++)
s = (s > a[i] ? s : a[i]);
return s;
}
float minv_f32 (pRF32 a)
{
int i;
float s;
asm ("" : "=w" (s) : "0" (a[0]));
for (i=0;i<16;i++)
s = (s < a[i] ? s : a[i]);
return s;
}
double maxv_f64 (pRF64 a)
{
int i;
double s;
asm ("" : "=w" (s) : "0" (a[0]));
for (i=0;i<8;i++)
s = (s > a[i] ? s : a[i]);
return s;
}
double minv_f64 (pRF64 a)
{
int i;
double s;
asm ("" : "=w" (s) : "0" (a[0]));
for (i=0;i<16;i++)
s = (s < a[i] ? s : a[i]);
return s;
}