Skip to content

Commit 8808c29

Browse files
authored
Merge pull request #3148 from martin-frbg/issue3145
Add workaround for older gcc on big-endian ppc64 not supporting casts in defines
2 parents 52f99d3 + 8cdf082 commit 8808c29

File tree

1 file changed

+17
-9
lines changed

1 file changed

+17
-9
lines changed

param.h

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,14 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
7272
#ifndef PARAM_H
7373
#define PARAM_H
7474

75+
#define LONGCAST (BLASLONG)
76+
#if defined(__BYTE_ORDER__)
77+
#if __GNUC__ < 9
78+
#undef LONGCAST
79+
#define LONGCAST
80+
#endif
81+
#endif
82+
7583
#define SBGEMM_DEFAULT_UNROLL_N 4
7684
#define SBGEMM_DEFAULT_UNROLL_M 8
7785
#define SBGEMM_DEFAULT_UNROLL_MN 32
@@ -2088,7 +2096,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
20882096
#ifdef PPCG4
20892097
#define GEMM_DEFAULT_OFFSET_A 0
20902098
#define GEMM_DEFAULT_OFFSET_B 1024
2091-
#define GEMM_DEFAULT_ALIGN (BLASLONG)0x0ffffUL
2099+
#define GEMM_DEFAULT_ALIGN LONGCAST 0x0ffffUL
20922100

20932101
#define SGEMM_DEFAULT_UNROLL_M 16
20942102
#define SGEMM_DEFAULT_UNROLL_N 4
@@ -2119,7 +2127,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
21192127

21202128
#define GEMM_DEFAULT_OFFSET_A 2688
21212129
#define GEMM_DEFAULT_OFFSET_B 3072
2122-
#define GEMM_DEFAULT_ALIGN (BLASLONG)0x03fffUL
2130+
#define GEMM_DEFAULT_ALIGN LONGCAST 0x03fffUL
21232131

21242132
#if defined(__BYTE_ORDER__)&&(__BYTE_ORDER__ == __ORDER_BIG_ENDIAN__)
21252133
#define SGEMM_DEFAULT_UNROLL_M 4
@@ -2168,7 +2176,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
21682176

21692177
#define GEMM_DEFAULT_OFFSET_A (32 * 0)
21702178
#define GEMM_DEFAULT_OFFSET_B (32 * 0)
2171-
#define GEMM_DEFAULT_ALIGN (BLASLONG)0x0ffffUL
2179+
#define GEMM_DEFAULT_ALIGN LONGCAST 0x0ffffUL
21722180

21732181
#define SGEMM_DEFAULT_UNROLL_M 4
21742182
#define SGEMM_DEFAULT_UNROLL_N 4
@@ -2204,7 +2212,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
22042212

22052213
#define GEMM_DEFAULT_OFFSET_A (32 * 0)
22062214
#define GEMM_DEFAULT_OFFSET_B (32 * 0)
2207-
#define GEMM_DEFAULT_ALIGN (BLASLONG)0x0ffffUL
2215+
#define GEMM_DEFAULT_ALIGN LONGCAST 0x0ffffUL
22082216

22092217
#define SGEMM_DEFAULT_UNROLL_M 8
22102218
#define SGEMM_DEFAULT_UNROLL_N 4
@@ -2239,7 +2247,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
22392247
#if defined(POWER3) || defined(POWER4) || defined(POWER5)
22402248
#define GEMM_DEFAULT_OFFSET_A 0
22412249
#define GEMM_DEFAULT_OFFSET_B 2048
2242-
#define GEMM_DEFAULT_ALIGN (BLASLONG)0x0ffffUL
2250+
#define GEMM_DEFAULT_ALIGN LONGCAST 0x0ffffUL
22432251

22442252
#define SGEMM_DEFAULT_UNROLL_M 4
22452253
#define SGEMM_DEFAULT_UNROLL_N 4
@@ -2312,7 +2320,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
23122320

23132321
#define GEMM_DEFAULT_OFFSET_A 384
23142322
#define GEMM_DEFAULT_OFFSET_B 1024
2315-
#define GEMM_DEFAULT_ALIGN (BLASLONG)0x03fffUL
2323+
#define GEMM_DEFAULT_ALIGN LONGCAST 0x03fffUL
23162324

23172325
#define SGEMM_DEFAULT_UNROLL_M 4
23182326
#define SGEMM_DEFAULT_UNROLL_N 4
@@ -2345,7 +2353,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
23452353
#define GEMM_DEFAULT_OFFSET_A 0
23462354
#define GEMM_DEFAULT_OFFSET_B 65536
23472355

2348-
#define GEMM_DEFAULT_ALIGN (BLASLONG)0x0ffffUL
2356+
#define GEMM_DEFAULT_ALIGN LONGCAST 0x0ffffUL
23492357
#if defined(__32BIT__)
23502358
#warning using BINARY32==POWER6
23512359
#define SGEMM_DEFAULT_UNROLL_M 4
@@ -2398,7 +2406,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
23982406

23992407
#define GEMM_DEFAULT_OFFSET_A 0
24002408
#define GEMM_DEFAULT_OFFSET_B 65536
2401-
#define GEMM_DEFAULT_ALIGN 0x0ffffUL
2409+
#define GEMM_DEFAULT_ALIGN LONGCAST 0x0ffffUL
24022410

24032411
#define SWITCH_RATIO 16
24042412
#define GEMM_PREFERED_SIZE 16
@@ -2437,7 +2445,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24372445

24382446
#define GEMM_DEFAULT_OFFSET_A 0
24392447
#define GEMM_DEFAULT_OFFSET_B 65536
2440-
#define GEMM_DEFAULT_ALIGN 0x0ffffUL
2448+
#define GEMM_DEFAULT_ALIGN LONGCAST 0x0ffffUL
24412449

24422450
#define SWITCH_RATIO 16
24432451
#define GEMM_PREFERED_SIZE 16

0 commit comments

Comments
 (0)