Viewing file: x86gprintrin-4.c (1.11 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
/* Same as x86gprintrin-3.c, except converted to use #pragma GCC option. */ /* { dg-do compile } */ /* { dg-options "-O0 -Werror-implicit-function-declaration -march=x86-64 -mno-sse -mno-mmx" } */ /* { dg-add-options bind_pic_locally } */
/* Test that the intrinsics in <x86gprintrin.h> compile without optimization. All of them are defined as inline functions that reference the proper builtin functions.
Defining away "extern" and "__inline" results in all of them being compiled as proper functions. */
#define extern #define __inline
#ifndef DIFFERENT_PRAGMAS #ifdef __x86_64__ #pragma GCC target ("adx,bmi,bmi2,fsgsbase,fxsr,hreset,lwp,lzcnt,popcnt,rdrnd,rdseed,tbm,rtm,serialize,tsxldtrk,uintr,xsaveopt") #else #pragma GCC target ("adx,bmi,bmi2,fsgsbase,fxsr,hreset,lwp,lzcnt,popcnt,rdrnd,rdseed,tbm,rtm,serialize,tsxldtrk,xsaveopt") #endif #endif
/* popcnintrin.h (POPCNT). */ #ifdef DIFFERENT_PRAGMAS #pragma GCC target ("popcnt") #endif #include <popcntintrin.h>
/* x86intrin.h (LWP/BMI/BMI2/TBM/LZCNT). */ #ifdef DIFFERENT_PRAGMAS #pragma GCC target ("lwp,bmi,bmi2,tbm,lzcnt") #endif #include <x86gprintrin.h>
|