Skip to content

Commit 2dbcddd

Browse files
author
Rajalakshmi Srinivasaraghavan
committed
POWER10: Adding check for little endian
This patch makes sure that recent POWER10 patches are used only for little endian.
1 parent 903fd85 commit 2dbcddd

File tree

12 files changed

+47
-23
lines changed

12 files changed

+47
-23
lines changed

kernel/power/cdot.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
2828
#else
2929

3030
#include "common.h"
31-
#if defined(POWER10)
31+
#if defined(POWER10) && (__BYTE_ORDER__ != __ORDER_BIG_ENDIAN__)
3232
#include "cdot_microk_power10.c"
3333
#else
3434
#ifndef HAVE_KERNEL_8
@@ -120,7 +120,7 @@ OPENBLAS_COMPLEX_FLOAT CNAME(BLASLONG n, FLOAT *x, BLASLONG inc_x, FLOAT *y, BLA
120120

121121
if ((inc_x == 1) && (inc_y == 1)) {
122122

123-
#if defined(POWER10)
123+
#if defined(POWER10) && (__BYTE_ORDER__ != __ORDER_BIG_ENDIAN__)
124124
BLASLONG n1 = n & -16;
125125
#else
126126
BLASLONG n1 = n & -8;

kernel/power/cswap.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,10 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
3939
#if defined(__VEC__) || defined(__ALTIVEC__)
4040
#if defined(POWER8) || defined(POWER9)
4141
#include "cswap_microk_power8.c"
42-
#elif defined(POWER10)
42+
#elif defined(POWER10) && (__BYTE_ORDER__ != __ORDER_BIG_ENDIAN__)
4343
#include "cswap_microk_power10.c"
44+
#elif defined(POWER10)
45+
#include "cswap_microk_power8.c"
4446
#endif
4547
#endif
4648

kernel/power/dasum.c

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,8 +49,10 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
4949
#if defined(__VEC__) || defined(__ALTIVEC__)
5050
#if defined(POWER8) || defined(POWER9)
5151
#include "dasum_microk_power8.c"
52-
#elif defined(POWER10)
52+
#elif defined(POWER10) && (__BYTE_ORDER__ != __ORDER_BIG_ENDIAN__)
5353
#include "dasum_microk_power10.c"
54+
#elif defined(POWER10)
55+
#include "dasum_microk_power8.c"
5456
#endif
5557
#endif
5658

@@ -112,7 +114,7 @@ FLOAT CNAME(BLASLONG n, FLOAT *x, BLASLONG inc_x)
112114
if ( inc_x == 1 )
113115
{
114116

115-
#if defined(POWER10)
117+
#if defined(POWER10) && (__BYTE_ORDER__ != __ORDER_BIG_ENDIAN__)
116118
if ( n >= 16 )
117119
{
118120
BLASLONG align = ((32 - ((uintptr_t)x & (uintptr_t)0x1F)) >> 3) & 0x3;

kernel/power/drot.c

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,10 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
4242
#if defined(__VEC__) || defined(__ALTIVEC__)
4343
#if defined(POWER8) || defined(POWER9)
4444
#include "drot_microk_power8.c"
45-
#elif defined(POWER10)
45+
#elif defined(POWER10) && (__BYTE_ORDER__ != __ORDER_BIG_ENDIAN__)
4646
#include "drot_microk_power10.c"
47+
#elif defined(POWER10)
48+
#include "drot_microk_power8.c"
4749
#endif
4850
#endif
4951

@@ -117,7 +119,7 @@ int CNAME(BLASLONG n, FLOAT *x, BLASLONG inc_x, FLOAT *y, BLASLONG inc_y, FLOAT
117119
if ( (inc_x == 1) && (inc_y == 1) )
118120
{
119121

120-
#if defined(POWER10)
122+
#if defined(POWER10) && (__BYTE_ORDER__ != __ORDER_BIG_ENDIAN__)
121123
if ( n >= 16 )
122124
{
123125
BLASLONG align = ((32 - ((uintptr_t)y & (uintptr_t)0x1F)) >> 3) & 0x3;

kernel/power/dscal.c

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,10 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
3838
#if defined(__VEC__) || defined(__ALTIVEC__)
3939
#if defined(POWER8) || defined(POWER9)
4040
#include "dscal_microk_power8.c"
41-
#elif defined(POWER10)
41+
#elif defined(POWER10) && (__BYTE_ORDER__ != __ORDER_BIG_ENDIAN__)
4242
#include "dscal_microk_power10.c"
43+
#elif defined(POWER10)
44+
#include "dscal_microk_power8.c"
4345
#endif
4446
#endif
4547

@@ -102,7 +104,7 @@ int CNAME(BLASLONG n, BLASLONG dummy0, BLASLONG dummy1, FLOAT da, FLOAT *x, BLAS
102104
if ( da == 0.0 )
103105
{
104106

105-
#if defined(POWER10)
107+
#if defined(POWER10) && (__BYTE_ORDER__ != __ORDER_BIG_ENDIAN__)
106108
if ( n >= 16 )
107109
{
108110
BLASLONG align = ((32 - ((uintptr_t)x & (uintptr_t)0x1F)) >> 3) & 0x3;
@@ -136,7 +138,7 @@ int CNAME(BLASLONG n, BLASLONG dummy0, BLASLONG dummy1, FLOAT da, FLOAT *x, BLAS
136138
else
137139
{
138140

139-
#if defined(POWER10)
141+
#if defined(POWER10) && (__BYTE_ORDER__ != __ORDER_BIG_ENDIAN__)
140142
if ( n >= 16 )
141143
{
142144
BLASLONG align = ((32 - ((uintptr_t)x & (uintptr_t)0x1F)) >> 3) & 0x3;

kernel/power/dswap.c

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,10 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
3838
#if defined(__VEC__) || defined(__ALTIVEC__)
3939
#if defined(POWER8) || defined(POWER9)
4040
#include "dswap_microk_power8.c"
41-
#elif defined(POWER10)
41+
#elif defined(POWER10) && (__BYTE_ORDER__ != __ORDER_BIG_ENDIAN__)
4242
#include "swap_microk_power10.c"
43+
#elif defined(POWER10)
44+
#include "dswap_microk_power8.c"
4345
#endif
4446
#endif
4547

@@ -117,7 +119,7 @@ int CNAME(BLASLONG n, BLASLONG dummy0, BLASLONG dummy1, FLOAT dummy3, FLOAT *x,
117119
if ( (inc_x == 1) && (inc_y == 1 ))
118120
{
119121

120-
#if defined(POWER10)
122+
#if defined(POWER10) && (__BYTE_ORDER__ != __ORDER_BIG_ENDIAN__)
121123
if ( n >= 32 )
122124
{
123125
BLASLONG align = ((32 - ((uintptr_t)y & (uintptr_t)0x1F)) >> 3) & 0x3;

kernel/power/sasum.c

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,8 +49,10 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
4949
#if defined(__VEC__) || defined(__ALTIVEC__)
5050
#if defined(POWER8) || defined(POWER9)
5151
#include "sasum_microk_power8.c"
52-
#elif defined(POWER10)
52+
#elif defined(POWER10) && (__BYTE_ORDER__ != __ORDER_BIG_ENDIAN__)
5353
#include "sasum_microk_power10.c"
54+
#elif defined(POWER10)
55+
#include "sasum_microk_power8.c"
5456
#endif
5557
#endif
5658

@@ -112,7 +114,7 @@ FLOAT CNAME(BLASLONG n, FLOAT *x, BLASLONG inc_x)
112114
if ( inc_x == 1 )
113115
{
114116

115-
#if defined(POWER10)
117+
#if defined(POWER10) && (__BYTE_ORDER__ != __ORDER_BIG_ENDIAN__)
116118
if ( n >= 32 )
117119
{
118120
BLASLONG align = ((32 - ((uintptr_t)x & (uintptr_t)0x1F)) >> 2) & 0x7;

kernel/power/srot.c

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,10 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
4242
#if defined(__VEC__) || defined(__ALTIVEC__)
4343
#if defined(POWER8) || defined(POWER9)
4444
#include "srot_microk_power8.c"
45-
#elif defined(POWER10)
45+
#elif defined(POWER10) && (__BYTE_ORDER__ != __ORDER_BIG_ENDIAN__)
4646
#include "srot_microk_power10.c"
47+
#elif defined(POWER10)
48+
#include "srot_microk_power8.c"
4749
#endif
4850
#endif
4951

@@ -117,7 +119,7 @@ int CNAME(BLASLONG n, FLOAT *x, BLASLONG inc_x, FLOAT *y, BLASLONG inc_y, FLOAT
117119
if ( (inc_x == 1) && (inc_y == 1) )
118120
{
119121

120-
#if defined(POWER10)
122+
#if defined(POWER10) && (__BYTE_ORDER__ != __ORDER_BIG_ENDIAN__)
121123
if ( n >= 16 )
122124
{
123125
BLASLONG align = ((32 - ((uintptr_t)y & (uintptr_t)0x1F)) >> 2) & 0x7;

kernel/power/sscal.c

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,10 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
3838
#if defined(__VEC__) || defined(__ALTIVEC__)
3939
#if defined(POWER8) || defined(POWER9)
4040
#include "sscal_microk_power8.c"
41-
#elif defined(POWER10)
41+
#elif defined(POWER10) && (__BYTE_ORDER__ != __ORDER_BIG_ENDIAN__)
4242
#include "sscal_microk_power10.c"
43+
#elif defined(POWER10)
44+
#include "sscal_microk_power8.c"
4345
#endif
4446
#endif
4547

@@ -104,7 +106,7 @@ int CNAME(BLASLONG n, BLASLONG dummy0, BLASLONG dummy1, FLOAT da, FLOAT *x, BLAS
104106
if ( da == 0.0 )
105107
{
106108

107-
#if defined(POWER10)
109+
#if defined(POWER10) && (__BYTE_ORDER__ != __ORDER_BIG_ENDIAN__)
108110
if ( n >= 32 )
109111
{
110112
BLASLONG align = ((32 - ((uintptr_t)x & (uintptr_t)0x1F)) >> 2) & 0x7;
@@ -138,7 +140,7 @@ int CNAME(BLASLONG n, BLASLONG dummy0, BLASLONG dummy1, FLOAT da, FLOAT *x, BLAS
138140
else
139141
{
140142

141-
#if defined(POWER10)
143+
#if defined(POWER10) && (__BYTE_ORDER__ != __ORDER_BIG_ENDIAN__)
142144
if ( n >= 32 )
143145
{
144146
BLASLONG align = ((32 - ((uintptr_t)x & (uintptr_t)0x1F)) >> 2) & 0x7;

kernel/power/sswap.c

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,10 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
3838
#if defined(__VEC__) || defined(__ALTIVEC__)
3939
#if defined(POWER8) || defined(POWER9)
4040
#include "sswap_microk_power8.c"
41-
#elif defined(POWER10)
41+
#elif defined(POWER10) && (__BYTE_ORDER__ != __ORDER_BIG_ENDIAN__)
4242
#include "swap_microk_power10.c"
43+
#elif defined(POWER10)
44+
#include "sswap_microk_power8.c"
4345
#endif
4446
#endif
4547

@@ -117,7 +119,7 @@ int CNAME(BLASLONG n, BLASLONG dummy0, BLASLONG dummy1, FLOAT dummy3, FLOAT *x,
117119
if ( (inc_x == 1) && (inc_y == 1 ))
118120
{
119121

120-
#if defined(POWER10)
122+
#if defined(POWER10) && (__BYTE_ORDER__ != __ORDER_BIG_ENDIAN__)
121123
if ( n >= 64 )
122124
{
123125
BLASLONG align = ((32 - ((uintptr_t)y & (uintptr_t)0x1F)) >> 2) & 0x7;

0 commit comments

Comments
 (0)