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