brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.6 KiB · 35c4574 Raw
42 lines · c
1// Fix sign conversion warnings found by fsanitize=implicit-integer-sign-change2// 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 -verify6// REQUIRES: x86-registered-target7 8#include <x86intrin.h>9 10void test0(void) {11  // expected-no-diagnostics12  _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);15 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);23 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);31 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);37 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);41}42