|
|
a5a71c |
--- atlas/ATLAS/tune/blas/gemm/CASES/ATL_dmm4x4x80_ppc.c 2013-12-05 19:19:57.000000000 +0100
|
|
|
a5a71c |
+++ atlas/ATLAS/tune/blas/gemm/CASES/ATL_dmm4x4x80_ppc.c.new 2013-12-06 16:29:57.000000000 +0100
|
|
|
a5a71c |
@@ -170,13 +170,21 @@ void ATL_USERMM(const int M, const int N
|
|
|
a5a71c |
const TYPE beta, TYPE *C, const int ldc)
|
|
|
a5a71c |
(r10) 8(r1)
|
|
|
a5a71c |
*******************************************************************************
|
|
|
a5a71c |
-64 bit ABIs:
|
|
|
a5a71c |
+64 bit ABIv1s:
|
|
|
a5a71c |
r3 r4 r5 r6/f1
|
|
|
a5a71c |
void ATL_USERMM(const int M, const int N, const int K, const TYPE alpha,
|
|
|
a5a71c |
r7 r8 r9 r10
|
|
|
a5a71c |
const TYPE *A, const int lda, const TYPE *B, const int ldb,
|
|
|
a5a71c |
f2 120(r1) 128(r1)
|
|
|
a5a71c |
const TYPE beta, TYPE *C, const int ldc)
|
|
|
a5a71c |
+
|
|
|
a5a71c |
+64 bit ABIv2s:
|
|
|
a5a71c |
+ r3 r4 r5 r6/f1
|
|
|
a5a71c |
+void ATL_USERMM(const int M, const int N, const int K, const TYPE alpha,
|
|
|
a5a71c |
+ r7 r8 r9 r10
|
|
|
a5a71c |
+ const TYPE *A, const int lda, const TYPE *B, const int ldb,
|
|
|
a5a71c |
+ f2 104(r1) 112(r1)
|
|
|
a5a71c |
+ const TYPE beta, TYPE *C, const int ldc)
|
|
|
a5a71c |
#endif
|
|
|
a5a71c |
#ifdef ATL_AS_AIX_PPC
|
|
|
a5a71c |
.csect .text[PR]
|
|
|
a5a71c |
@@ -202,7 +210,7 @@ Mjoin(.,ATL_USERMM):
|
|
|
a5a71c |
.globl Mjoin(_,ATL_USERMM)
|
|
|
a5a71c |
Mjoin(_,ATL_USERMM):
|
|
|
a5a71c |
#else
|
|
|
a5a71c |
- #if defined(ATL_USE64BITS)
|
|
|
a5a71c |
+ #if defined(ATL_USE64BITS) && _CALL_ELF != 2
|
|
|
a5a71c |
/*
|
|
|
a5a71c |
* Official Program Descripter section, seg fault w/o it on Linux/PPC64
|
|
|
a5a71c |
*/
|
|
|
a5a71c |
@@ -217,6 +225,7 @@ ATL_USERMM:
|
|
|
a5a71c |
.globl Mjoin(.,ATL_USERMM)
|
|
|
a5a71c |
Mjoin(.,ATL_USERMM):
|
|
|
a5a71c |
#else
|
|
|
a5a71c |
+/* ppc64 have no longer function descriptors in ABIv2 */
|
|
|
a5a71c |
.globl ATL_USERMM
|
|
|
a5a71c |
ATL_USERMM:
|
|
|
a5a71c |
#endif
|
|
|
a5a71c |
@@ -257,9 +266,17 @@ ATL_USERMM:
|
|
|
a5a71c |
#endif
|
|
|
a5a71c |
#endif
|
|
|
a5a71c |
|
|
|
a5a71c |
+
|
|
|
a5a71c |
#if defined (ATL_USE64BITS)
|
|
|
a5a71c |
+#if _CALL_ELF == 2
|
|
|
a5a71c |
+/* ABIv2 */
|
|
|
a5a71c |
+ ld pC0, 104(r1)
|
|
|
a5a71c |
+ ld incCn, 112(r1)
|
|
|
a5a71c |
+#else
|
|
|
a5a71c |
+/* ABIv1 */
|
|
|
a5a71c |
ld pC0, 120(r1)
|
|
|
a5a71c |
ld incCn, 128(r1)
|
|
|
a5a71c |
+#endif
|
|
|
a5a71c |
#elif defined(ATL_AS_OSX_PPC) || defined(ATL_AS_AIX_PPC)
|
|
|
a5a71c |
lwz pC0, 68(r1)
|
|
|
a5a71c |
lwz incCn, 72(r1)
|