diff options
Diffstat (limited to 'sysdeps/powerpc/add_n.S')
-rw-r--r-- | sysdeps/powerpc/add_n.S | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/sysdeps/powerpc/add_n.S b/sysdeps/powerpc/add_n.S index 7b683b7be4..468d422621 100644 --- a/sysdeps/powerpc/add_n.S +++ b/sysdeps/powerpc/add_n.S @@ -18,6 +18,8 @@ Boston, MA 02111-1307, USA. */ #include <sysdep.h> +#include <bp-sym.h> +#include <bp-asm.h> /* mp_limb_t mpn_add_n (mp_ptr res_ptr, mp_srcptr s1_ptr, mp_srcptr s2_ptr, mp_size_t size) @@ -27,7 +29,14 @@ possible 2-unrolled inner loop will not be. Also, watch out for the alignment... */ -EALIGN(__mpn_add_n,3,0) +EALIGN (BP_SYM (__mpn_add_n), 3, 0) + +#if __BOUNDED_POINTERS__ + slwi r10,r6,2 /* convert limbs to bytes */ + CHECK_BOUNDS_BOTH_WIDE (r3, r8, r9, r10) + CHECK_BOUNDS_BOTH_WIDE (r4, r8, r9, r10) + CHECK_BOUNDS_BOTH_WIDE (r5, r8, r9, r10) +#endif /* Set up for loop below. */ mtcrf 0x01,r6 srwi. r7,r6,1 @@ -65,4 +74,4 @@ L(0): lwz r9,4(r4) /* Return the carry. */ L(1): addze r3,r10 blr -END(__mpn_add_n) +END (BP_SYM (__mpn_add_n)) |