2008-09-10 Ken Werner <ken.werner@de.ibm.com>
* libc/machine/spu/strcpy.h: Add missing header. * libc/machine/spu/spu_timer_slih.c: Remove unused Variable. * libm/machine/spu/headers/lgammaf4.h: Add type cast.
This commit is contained in:
parent
9ecc83a3f7
commit
0b840b0009
|
@ -1,3 +1,9 @@
|
||||||
|
2008-09-10 Ken Werner <ken.werner@de.ibm.com>
|
||||||
|
|
||||||
|
* libc/machine/spu/strcpy.h: Add missing header.
|
||||||
|
* libc/machine/spu/spu_timer_slih.c: Remove unused Variable.
|
||||||
|
* libm/machine/spu/headers/lgammaf4.h: Add type cast.
|
||||||
|
|
||||||
2008-09-08 Jeff Johnston <jjohnstn@redhat.com>
|
2008-09-08 Jeff Johnston <jjohnstn@redhat.com>
|
||||||
|
|
||||||
* libc/sys/linux/dl/atomicity.h (exchange_and_add): Fix asm
|
* libc/sys/linux/dl/atomicity.h (exchange_and_add): Fix asm
|
||||||
|
|
|
@ -55,7 +55,7 @@ __reset_spu_decr (int val)
|
||||||
value is the current timeout value minus the current decrementer value.
|
value is the current timeout value minus the current decrementer value.
|
||||||
Occasionally the read returns 0 - a second read will clear this
|
Occasionally the read returns 0 - a second read will clear this
|
||||||
condition. */
|
condition. */
|
||||||
int decval0 = spu_readch (SPU_RdDec);
|
spu_readch (SPU_RdDec);
|
||||||
int decval = spu_readch (SPU_RdDec);
|
int decval = spu_readch (SPU_RdDec);
|
||||||
/* Restart decrementer with next timeout val. */
|
/* Restart decrementer with next timeout val. */
|
||||||
__enable_spu_decr (enable_val, mask);
|
__enable_spu_decr (enable_val, mask);
|
||||||
|
|
|
@ -30,6 +30,7 @@
|
||||||
|
|
||||||
#include <spu_intrinsics.h>
|
#include <spu_intrinsics.h>
|
||||||
#include "vec_literal.h"
|
#include "vec_literal.h"
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Supply an inline _strncpy for strcpy/cat and strncpy/cat. Relies on
|
* Supply an inline _strncpy for strcpy/cat and strncpy/cat. Relies on
|
||||||
|
|
|
@ -426,7 +426,7 @@ static __inline vector float _lgammaf4(vector float x)
|
||||||
vec_float4 xappr = spu_sub(xabs, xoffset);
|
vec_float4 xappr = spu_sub(xabs, xoffset);
|
||||||
|
|
||||||
/* If in Stirling partition, do some setup before the madds */
|
/* If in Stirling partition, do some setup before the madds */
|
||||||
xappr = spu_sel(xappr, inv_xsqu, gt_r7start);
|
xappr = spu_sel(xappr, inv_xsqu, (vector unsigned int)gt_r7start);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -463,13 +463,13 @@ static __inline vector float _lgammaf4(vector float x)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* Finish the Near 0 formula */
|
/* Finish the Near 0 formula */
|
||||||
result = spu_sel(spu_sub(result, ln_x), result, gt_r1start);
|
result = spu_sel(spu_sub(result, ln_x), result, (vector unsigned int)gt_r1start);
|
||||||
|
|
||||||
/* Finish Stirling's Approximation */
|
/* Finish Stirling's Approximation */
|
||||||
vec_float4 resultstirling = spu_madd(spu_sub(xabs, spu_splats(0.5f)), ln_x, halflog2pi);
|
vec_float4 resultstirling = spu_madd(spu_sub(xabs, spu_splats(0.5f)), ln_x, halflog2pi);
|
||||||
resultstirling = spu_sub(resultstirling, xabs);
|
resultstirling = spu_sub(resultstirling, xabs);
|
||||||
resultstirling = spu_add(spu_mul(result,inv_x), resultstirling);
|
resultstirling = spu_add(spu_mul(result,inv_x), resultstirling);
|
||||||
result = spu_sel(result, resultstirling, gt_r7start);
|
result = spu_sel(result, resultstirling, (vector unsigned int)gt_r7start);
|
||||||
|
|
||||||
|
|
||||||
/* Adjust due to systematic truncation */
|
/* Adjust due to systematic truncation */
|
||||||
|
|
Loading…
Reference in New Issue