summaryrefslogtreecommitdiffstats
path: root/crypto/bn/asm/sparcv8plus.S
diff options
context:
space:
mode:
authorAndy Polyakov <appro@openssl.org>2005-12-16 17:39:57 +0000
committerAndy Polyakov <appro@openssl.org>2005-12-16 17:39:57 +0000
commita00e414faf76db8372f4e5fe04010e47e8ff90d4 (patch)
treecfce289959d3f9052f9d4a258a13601de578cba5 /crypto/bn/asm/sparcv8plus.S
parent4c5e19b6c671ded9328137391aa0c12414508c63 (diff)
Unify sparcv9 assembler naming and build rules among 32- and 64-bit builds.
Engage run-time switch between bn_mul_mont_fpu and bn_mul_mont_int.
Diffstat (limited to 'crypto/bn/asm/sparcv8plus.S')
-rw-r--r--crypto/bn/asm/sparcv8plus.S15
1 files changed, 13 insertions, 2 deletions
diff --git a/crypto/bn/asm/sparcv8plus.S b/crypto/bn/asm/sparcv8plus.S
index 8c56e2e7e7..63de1860f2 100644
--- a/crypto/bn/asm/sparcv8plus.S
+++ b/crypto/bn/asm/sparcv8plus.S
@@ -144,6 +144,19 @@
* }
*/
+#if defined(__SUNPRO_C) && defined(__sparcv9)
+ /* They've said -xarch=v9 at command line */
+ .register %g2,#scratch
+ .register %g3,#scratch
+# define FRAME_SIZE -192
+#elif defined(__GNUC__) && defined(__arch64__)
+ /* They've said -m64 at command line */
+ .register %g2,#scratch
+ .register %g3,#scratch
+# define FRAME_SIZE -192
+#else
+# define FRAME_SIZE -96
+#endif
/*
* GNU assembler can't stand stuw:-(
*/
@@ -619,8 +632,6 @@ bn_sub_words:
* Andy.
*/
-#define FRAME_SIZE -96
-
/*
* Here is register usage map for *all* routines below.
*/