1 // Fix sign conversion warnings found by fsanitize=implicit-integer-sign-change
2 // in intrinsic headers.
3 // Preprocess file to workaround no warnings in system headers.
4 // RUN: %clang_cc1 %s -triple x86_64-pc-linux-gnu -ffreestanding -E -CC 2>&1 \
5 // RUN: | %clang_cc1 -x c - -triple x86_64-pc-linux-gnu -Wsign-conversion -fsyntax-only -verify
6 // REQUIRES: x86-registered-target
11 // expected-no-diagnostics
12 _MM_SET_DENORMALS_ZERO_MODE(_MM_DENORMALS_ZERO_ON
);
13 _MM_SET_DENORMALS_ZERO_MODE(_MM_DENORMALS_ZERO_OFF
);
14 _MM_SET_DENORMALS_ZERO_MODE(_MM_DENORMALS_ZERO_MASK
);
16 _MM_SET_EXCEPTION_STATE(_MM_EXCEPT_INVALID
);
17 _MM_SET_EXCEPTION_STATE(_MM_EXCEPT_DENORM
);
18 _MM_SET_EXCEPTION_STATE(_MM_EXCEPT_DIV_ZERO
);
19 _MM_SET_EXCEPTION_STATE(_MM_EXCEPT_OVERFLOW
);
20 _MM_SET_EXCEPTION_STATE(_MM_EXCEPT_UNDERFLOW
);
21 _MM_SET_EXCEPTION_STATE(_MM_EXCEPT_INEXACT
);
22 _MM_SET_EXCEPTION_STATE(_MM_EXCEPT_MASK
);
24 _MM_SET_EXCEPTION_MASK(_MM_MASK_INVALID
);
25 _MM_SET_EXCEPTION_MASK(_MM_MASK_DENORM
);
26 _MM_SET_EXCEPTION_MASK(_MM_MASK_DIV_ZERO
);
27 _MM_SET_EXCEPTION_MASK(_MM_MASK_OVERFLOW
);
28 _MM_SET_EXCEPTION_MASK(_MM_MASK_UNDERFLOW
);
29 _MM_SET_EXCEPTION_MASK(_MM_MASK_INEXACT
);
30 _MM_SET_EXCEPTION_MASK(_MM_MASK_MASK
);
32 _MM_SET_ROUNDING_MODE(_MM_ROUND_NEAREST
);
33 _MM_SET_ROUNDING_MODE(_MM_ROUND_DOWN
);
34 _MM_SET_ROUNDING_MODE(_MM_ROUND_UP
);
35 _MM_SET_ROUNDING_MODE(_MM_ROUND_TOWARD_ZERO
);
36 _MM_SET_ROUNDING_MODE(_MM_ROUND_MASK
);
38 _MM_SET_FLUSH_ZERO_MODE(_MM_FLUSH_ZERO_MASK
);
39 _MM_SET_FLUSH_ZERO_MODE(_MM_FLUSH_ZERO_ON
);
40 _MM_SET_FLUSH_ZERO_MODE(_MM_FLUSH_ZERO_OFF
);