3 @@ -64,31 +64,35 @@ else()
4 add_definitions(-DL_ENDIAN)
11 - # include <x86intrin.h>
14 - unsigned long long x = -1, y = 1, r;
16 - cf = _addcarry_u64(1, x, y, &r);
17 - return !(cf == 1 && r == 1);
20 +if(NOT CMAKE_CROSSCOMPILING)
21 + check_c_source_runs("
23 + # include <intrin.h>
25 + # include <x86intrin.h>
28 + unsigned long long x = -1, y = 1, r;
30 + cf = _addcarry_u64(1, x, y, &r);
31 + return !(cf == 1 && r == 1);
35 + check_c_source_runs("
37 + char buf[16] = { 0, 1, 2 };
38 + int *p = (int *)(buf + 1);
39 + int *q = (int *)(buf + 2);
42 + " RELAXED_ALIGNMENT)
46 add_definitions(-DHAVE_ADDCARRY_U64)
49 -check_c_source_runs("
51 - char buf[16] = { 0, 1, 2 };
52 - int *p = (int *)(buf + 1);
53 - int *q = (int *)(buf + 2);
56 - " RELAXED_ALIGNMENT)
57 if (NOT RELAXED_ALIGNMENT)
58 add_definitions(-DSTRICT_ALIGNMENT)