1 typedef signed long long sll
;
2 typedef unsigned long long ull
;
4 typedef unsigned int ui
;
5 typedef signed short sh
;
6 typedef unsigned short uh
;
7 typedef signed char sc
;
8 typedef unsigned char uc
;
14 #define ALIGN_ATTR __attribute__((__aligned__(ALIGN)))
18 #define DEF_ARR(TYPE) \
19 TYPE TYPE##_a[N] ALIGN_ATTR; \
20 TYPE TYPE##_b[N] ALIGN_ATTR; \
21 TYPE TYPE##_c[N] ALIGN_ATTR;
23 #define TEST1(NTYPE, WTYPE) \
24 __attribute__((noipa)) void test1_##NTYPE##_##WTYPE() { \
25 for (int i = 0; i < N; i++) \
26 WTYPE##_c[i] = NTYPE##_a[i] + NTYPE##_b[i]; \
29 #define CHECK1(NTYPE, WTYPE) \
30 __attribute__((noipa, optimize(0))) void check1_##NTYPE##_##WTYPE() { \
31 for (int i = 0; i < N; i++) { \
32 NTYPE##_a[i] = 2 * i * sizeof(NTYPE) + 10; \
33 NTYPE##_b[i] = 7 * i * sizeof(NTYPE) / 5 - 10; \
35 test1_##NTYPE##_##WTYPE(); \
36 for (int i = 0; i < N; i++) { \
37 WTYPE exp = NTYPE##_a[i] + NTYPE##_b[i]; \
38 if (WTYPE##_c[i] != exp) \