Viewing file: get-mem.c (1.05 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
/* { dg-do run } */
#define NI __attribute__((noinline, noclone))
typedef __INT8_TYPE__ s8; typedef __INT16_TYPE__ s16; typedef __int24 s24; typedef __INT32_TYPE__ s32;
static const s8 arr8[] = { 12, 23, 34 }; static const s16 arr16[] = { 123, 234, 345 }; static const s24 arr24[] = { 1234, 2345, 3456 }; static const s32 arr32[] = { 12345, 23456, 34567 };
NI s8 add8 (const s8 *p) { return p[0] + p[1] + p[2]; } NI s16 add16 (const s16 *p) { return p[0] + p[1] + p[2]; } NI s24 add24 (const s24 *p) { return p[0] + p[1] + p[2]; } NI s32 add32 (const s32 *p) { return p[0] + p[1] + p[2]; }
void test8 (void) { if (add8 (arr8) != arr8[0] + arr8[1] + arr8[2]) __builtin_abort(); }
void test16 (void) { if (add16 (arr16) != arr16[0] + arr16[1] + arr16[2]) __builtin_abort(); }
void test24 (void) { if (add24 (arr24) != arr24[0] + arr24[1] + arr24[2]) __builtin_abort(); }
void test32 (void) { if (add32 (arr32) != arr32[0] + arr32[1] + arr32[2]) __builtin_abort(); }
int main (void) { test8(); test16(); test24(); test32();
return 0; }
|