Prohibit relaxing the initial gp generation
[riscv-tests.git] / benchmarks / mm / common.h
1 // See LICENSE for license details.
2
3 #ifndef _MM_H
4 #define _MM_H
5
6 #include <string.h>
7 #include <stdint.h>
8 #include <math.h>
9
10 #ifdef SP
11 typedef float t;
12 #define fma fmaf
13 #else
14 typedef double t;
15 #endif
16
17 #define inline inline __attribute__((always_inline))
18
19 #define alloca_aligned(s, a) ((void*)(((uintptr_t)alloca((s)+(a)-1)+(a)-1)&~((a)-1)))
20
21 #include "rb.h"
22
23 #ifdef __cplusplus
24 extern "C" {
25 #endif
26
27 void mm(size_t m, size_t n, size_t p,
28 t* a, size_t lda, t* b, size_t ldb, t* c, size_t ldc);
29
30 #ifdef __cplusplus
31 }
32 #endif
33
34 //void rb(t* a, t* b, t* c, size_t lda, size_t ldb, size_t ldc);
35
36 #endif