summaryrefslogtreecommitdiff
path: root/mpn/alpha
diff options
context:
space:
mode:
authorTorbjorn Granlund <tege@gmplib.org>2013-10-16 18:52:04 +0200
committerTorbjorn Granlund <tege@gmplib.org>2013-10-16 18:52:04 +0200
commitc0bc8c19ff5429093d3916fdb8b0c5ca3af3f043 (patch)
treec2cf0f2edf829fc8ee416d4c4d04ab8501c435f3 /mpn/alpha
parent1720969d90f1a52f280a38b922190f4108fdd425 (diff)
downloadgmp-c0bc8c19ff5429093d3916fdb8b0c5ca3af3f043.tar.gz
Align table to 8-byte boundary. Make code work if table is not fully aligned. Properly test for BWX.
Diffstat (limited to 'mpn/alpha')
-rw-r--r--mpn/alpha/invert_limb.asm7
1 files changed, 4 insertions, 3 deletions
diff --git a/mpn/alpha/invert_limb.asm b/mpn/alpha/invert_limb.asm
index 4908c3910..9a2b5ca33 100644
--- a/mpn/alpha/invert_limb.asm
+++ b/mpn/alpha/invert_limb.asm
@@ -37,11 +37,10 @@ PROLOGUE(mpn_invert_limb,gp)
bic r1, 1, r7
lda r4, 1(r4)
srl r16, 1, r3
-ifdef(`BWX',`
addq r7, r2, r1
+ifelse(bwx_available_p,1,`
ldwu r0, -512(r1)
',`
- addq r1, r2, r1
ldq_u r0, -512(r1)
extwl r0, r7, r0
')
@@ -76,9 +75,11 @@ ifdef(`BWX',`
subq r0, r3, r0
ret r31, (r26), 1
EPILOGUE()
-DATASTART(approx_tab,2)
+DATASTART(approx_tab,8)
forloop(i,256,512-1,dnl
` .word eval(0x7fd00/i)
')dnl
+ SIZE(approx_tab, 512)
+ TYPE(approx_tab, object)
DATAEND()
ASM_END()