diff --git a/src/ansi-c/gcc_builtin_headers_generic.h b/src/ansi-c/gcc_builtin_headers_generic.h index 5ab88e19bf0..ce0e94a8bd7 100644 --- a/src/ansi-c/gcc_builtin_headers_generic.h +++ b/src/ansi-c/gcc_builtin_headers_generic.h @@ -10,6 +10,20 @@ void *__builtin_va_arg_pack(); int __builtin_va_arg_pack_len(); int __builtin_constant_p(); int __builtin_abs(int); +int __builtin_finite(double); +int __builtin_finitef(float); +int __builtin_finitel(long double); +int __builtin_fpclassify(int, int, int, int, int, ...); +int __builtin_isfinite(); +int __builtin_isinf_sign(); +int __builtin_isnanl(long double); +int __builtin_isnormal(); +int __builtin_isgreater(); +int __builtin_isgreaterequal(); +int __builtin_isless(); +int __builtin_islessequal(); +int __builtin_islessgreater(); +int __builtin_isunordered(); long int __builtin_labs(long); long long int __builtin_llabs(long long int); double __builtin_cos(double); diff --git a/src/ansi-c/gcc_builtin_headers_ia32-2.h b/src/ansi-c/gcc_builtin_headers_ia32-2.h index 17bab567805..91f5eb01549 100644 --- a/src/ansi-c/gcc_builtin_headers_ia32-2.h +++ b/src/ansi-c/gcc_builtin_headers_ia32-2.h @@ -1,3 +1,37 @@ +void __builtin_ia32_emms(void); +__gcc_v2si __builtin_ia32_pmaddwd(__gcc_v4hi, __gcc_v4hi); +__gcc_v2si __builtin_ia32_vec_init_v2si(int, int); +__gcc_v4hi __builtin_ia32_vec_init_v4hi(short, short, short, short); +__gcc_v8qi __builtin_ia32_vec_init_v8qi(char, char, char, char, char, char, char, char); +int __builtin_ia32_vec_ext_v2si(__gcc_v2si, int); +__gcc_v8hi __builtin_ia32_paddusw128(__gcc_v8hi, __gcc_v8hi); +__gcc_v8hi __builtin_ia32_psubusw128(__gcc_v8hi, __gcc_v8hi); +void __builtin_ia32_ldmxcsr(unsigned); +unsigned __builtin_ia32_stmxcsr(void); +__gcc_v8hi __builtin_ia32_paddsw128(__gcc_v8hi,__gcc_v8hi); +__gcc_v8hi __builtin_ia32_psubsw128(__gcc_v8hi,__gcc_v8hi); +__gcc_v16qi __builtin_ia32_paddsb128(__gcc_v16qi,__gcc_v16qi); +__gcc_v16qi __builtin_ia32_psubsb128(__gcc_v16qi,__gcc_v16qi); +__gcc_v16qi __builtin_ia32_paddusb128(__gcc_v16qi,__gcc_v16qi); +__gcc_v16qi __builtin_ia32_psubusb128(__gcc_v16qi,__gcc_v16qi); +__gcc_di __builtin_ia32_cvtss2si64(__gcc_v4sf); +__gcc_di __builtin_ia32_cvttss2si64(__gcc_v4sf); +__gcc_v4sf __builtin_ia32_cvtsi642ss(__gcc_v4sf, __gcc_di); + +__gcc_v4hi __builtin_ia32_pshufw(__gcc_v4hi, int); +short __builtin_ia32_vec_ext_v4hi(__gcc_v4hi, int); +short __builtin_ia32_vec_ext_v8hi(__gcc_v8hi, int); +__gcc_v4hi __builtin_ia32_vec_set_v4hi(__gcc_v4hi, short, int); +__gcc_v8hi __builtin_ia32_vec_set_v8hi(__gcc_v8hi, short, int); +__gcc_v4sf __builtin_ia32_vec_set___gcc_v4sf(__gcc_v4sf, float, const int); +__gcc_v16qi __builtin_ia32_vec_set___gcc_v16qi(__gcc_v16qi, int, const int); +__gcc_v4si __builtin_ia32_vec_set___gcc_v4si(__gcc_v4si, int, const int); +__gcc_v2di __builtin_ia32_vec_set___gcc_v2di(__gcc_v2di, __gcc_di, const int); +char __builtin_ia32_vec_ext_v16qi(__gcc_v16qi, int); +__gcc_v16qi __builtin_ia32_vec_set_v16qi(__gcc_v16qi, char, int); +__gcc_v4si __builtin_ia32_vec_set_v4si(__gcc_v4si, int, int); +__gcc_v2di __builtin_ia32_vec_set_v2di(__gcc_v2di, __gcc_di, int); + unsigned long long __builtin_ia32_rdtsc(void); unsigned long long __builtin_ia32_rdtscp(unsigned*); void __builtin_ia32_fnstenv(void*); @@ -78,6 +112,7 @@ void __builtin_ia32_wrgsbase32(unsigned); void __builtin_ia32_wrgsbase64(unsigned long long); unsigned __builtin_ia32_xbegin(void); void __builtin_ia32_xend(void); +void __builtin_ia32_xabort(unsigned); int __builtin_ia32_xtest(void); int __builtin_ia32_bsrsi(int); long long __builtin_ia32_bsrdi(long long); @@ -453,6 +488,12 @@ int __builtin_ia32_vcvttss2si32(__gcc_v4sf, int); long long __builtin_ia32_vcvttss2si64(__gcc_v4sf, int); unsigned __builtin_ia32_vcvttss2usi32(__gcc_v4sf, int); unsigned long long __builtin_ia32_vcvttss2usi64(__gcc_v4sf, int); +__gcc_v2df __builtin_ia32_vfmaddpd(__gcc_v2df,__gcc_v2df, __gcc_v2df); +__gcc_v2df __builtin_ia32_vfmaddsd3(__gcc_v2df,__gcc_v2df, __gcc_v2df); +__gcc_v4df __builtin_ia32_vfmaddpd256(__gcc_v4df, __gcc_v4df, __gcc_v4df); +__gcc_v4sf __builtin_ia32_vfmaddps(__gcc_v4sf, __gcc_v4sf, __gcc_v4sf); +__gcc_v4sf __builtin_ia32_vfmaddss3(__gcc_v4sf, __gcc_v4sf, __gcc_v4sf); +__gcc_v8sf __builtin_ia32_vfmaddps256(__gcc_v8sf, __gcc_v8sf, __gcc_v8sf); __gcc_v8df __builtin_ia32_vfmaddpd512_mask(__gcc_v8df, __gcc_v8df, __gcc_v8df, char, int); __gcc_v8df __builtin_ia32_vfmaddpd512_mask3(__gcc_v8df, __gcc_v8df, __gcc_v8df, char, int); __gcc_v8df __builtin_ia32_vfmaddpd512_maskz(__gcc_v8df, __gcc_v8df, __gcc_v8df, char, int); @@ -461,6 +502,10 @@ __gcc_v16sf __builtin_ia32_vfmaddps512_mask3(__gcc_v16sf, __gcc_v16sf, __gcc_v16 __gcc_v16sf __builtin_ia32_vfmaddps512_maskz(__gcc_v16sf, __gcc_v16sf, __gcc_v16sf, short, int); __gcc_v2df __builtin_ia32_vfmaddsd3_round(__gcc_v2df, __gcc_v2df, __gcc_v2df, int); __gcc_v4sf __builtin_ia32_vfmaddss3_round(__gcc_v4sf, __gcc_v4sf, __gcc_v4sf, int); +__gcc_v2df __builtin_ia32_vfmaddsubpd(__gcc_v2df,__gcc_v2df, __gcc_v2df); +__gcc_v4df __builtin_ia32_vfmaddsubpd256(__gcc_v4df, __gcc_v4df, __gcc_v4df); +__gcc_v4sf __builtin_ia32_vfmaddsubps(__gcc_v4sf, __gcc_v4sf, __gcc_v4sf); +__gcc_v8sf __builtin_ia32_vfmaddsubps256(__gcc_v8sf, __gcc_v8sf, __gcc_v8sf); __gcc_v8df __builtin_ia32_vfmaddsubpd512_mask(__gcc_v8df, __gcc_v8df, __gcc_v8df, char, int); __gcc_v8df __builtin_ia32_vfmaddsubpd512_mask3(__gcc_v8df, __gcc_v8df, __gcc_v8df, char, int); __gcc_v8df __builtin_ia32_vfmaddsubpd512_maskz(__gcc_v8df, __gcc_v8df, __gcc_v8df, char, int); @@ -511,3 +556,98 @@ __gcc_v8sf __builtin__ITM_RfWM256(const __gcc_v8sf*); void __builtin__ITM_LM64(const void*); void __builtin__ITM_LM128(const void*); void __builtin__ITM_LM256(const void*); +__gcc_v4si __builtin_ia32_sha1msg1(__gcc_v4si, __gcc_v4si); +__gcc_v4si __builtin_ia32_sha1msg2(__gcc_v4si, __gcc_v4si); +__gcc_v4si __builtin_ia32_sha1nexte(__gcc_v4si, __gcc_v4si); +__gcc_v4si __builtin_ia32_sha1rnds4(__gcc_v4si, __gcc_v4si, int); +__gcc_v4si __builtin_ia32_sha256msg1(__gcc_v4si, __gcc_v4si); +__gcc_v4si __builtin_ia32_sha256msg2(__gcc_v4si, __gcc_v4si); +__gcc_v4si __builtin_ia32_sha256rnds2(__gcc_v4si, __gcc_v4si, __gcc_v4si); +__gcc_v2df __builtin_ia32_gathersiv2df(__gcc_v2df, const double*, __gcc_v4si, __gcc_v2df, int); +__gcc_v4df __builtin_ia32_gathersiv4df(__gcc_v4df, const double*, __gcc_v4si, __gcc_v4df, int); +__gcc_v2df __builtin_ia32_gatherdiv2df(__gcc_v2df, const double*, __gcc_v2di, __gcc_v2df, int); +__gcc_v4df __builtin_ia32_gatherdiv4df(__gcc_v4df, const double*, __gcc_v4di, __gcc_v4df, int); +__gcc_v4sf __builtin_ia32_gathersiv4sf(__gcc_v4sf, const float*, __gcc_v4si, __gcc_v4sf, int); +__gcc_v8sf __builtin_ia32_gathersiv8sf(__gcc_v8sf, const float*, __gcc_v8si, __gcc_v8sf, int); +__gcc_v4sf __builtin_ia32_gatherdiv4sf(__gcc_v4sf, const float*, __gcc_v2di, __gcc_v4sf, int); +__gcc_v4sf __builtin_ia32_gatherdiv4sf256(__gcc_v4sf, const float*, __gcc_v4di, __gcc_v4sf, int); +__gcc_v2di __builtin_ia32_gathersiv2di(__gcc_v2di,const long*, __gcc_v4si, __gcc_v2di, int); +__gcc_v4di __builtin_ia32_gathersiv4di(__gcc_v4di,const long*, __gcc_v4si, __gcc_v4di, int); +__gcc_v2di __builtin_ia32_gatherdiv2di(__gcc_v2di,const long*, __gcc_v2di, __gcc_v2di, int); +__gcc_v4di __builtin_ia32_gatherdiv4di(__gcc_v4di,const long*, __gcc_v4di, __gcc_v4di, int); +__gcc_v4si __builtin_ia32_gathersiv4si(__gcc_v4si, const int*, __gcc_v4si, __gcc_v4si, int); +__gcc_v8si __builtin_ia32_gathersiv8si(__gcc_v8si, const int*, __gcc_v8si, __gcc_v8si, int); +__gcc_v4si __builtin_ia32_gatherdiv4si(__gcc_v4si, const int*, __gcc_v2di, __gcc_v4si, int); +__gcc_v4si __builtin_ia32_gatherdiv4si256(__gcc_v4si, const int*, __gcc_v4di, __gcc_v4si, int); +__gcc_v4df __builtin_ia32_gatheraltsiv4df(__gcc_v4df, const double*, __gcc_v8si, __gcc_v4df, int); +__gcc_v8sf __builtin_ia32_gatheraltdiv4sf256(__gcc_v8sf, const float*, __gcc_v4di, __gcc_v8sf, int); +__gcc_v4di __builtin_ia32_gatheraltsiv4di(__gcc_v4di,const long*, __gcc_v8si, __gcc_v4di, int); +__gcc_v8si __builtin_ia32_gatheraltdiv4si256(__gcc_v8si, const int*, __gcc_v4di, __gcc_v8si, int); +__gcc_v16sf __builtin_ia32_gathersiv16sf(__gcc_v16sf, const float*, __gcc_v16si, short, int); +__gcc_v8df __builtin_ia32_gathersiv8df(__gcc_v8df, const double*, __gcc_v8si, char, int); +__gcc_v8sf __builtin_ia32_gatherdiv16sf(__gcc_v8sf, const float*, __gcc_v8di, char, int); +__gcc_v8df __builtin_ia32_gatherdiv8df(__gcc_v8df, const double*, __gcc_v8di, char, int); +__gcc_v16si __builtin_ia32_gathersiv16si(__gcc_v16si, const int*, __gcc_v16si, short, int); +__gcc_v8di __builtin_ia32_gathersiv8di(__gcc_v8di,const long*, __gcc_v8si, char, int); +__gcc_v8si __builtin_ia32_gatherdiv16si(__gcc_v8si, const int*, __gcc_v8di, char, int); +__gcc_v8di __builtin_ia32_gatherdiv8di(__gcc_v8di,const long*, __gcc_v8di, char, int); +__gcc_v8df __builtin_ia32_gatheraltsiv8df(__gcc_v8df, const double*, __gcc_v16si, char, int); +__gcc_v16sf __builtin_ia32_gatheraltdiv8sf(__gcc_v16sf, const float*, __gcc_v8di, short, int); +__gcc_v8di __builtin_ia32_gatheraltsiv8di(__gcc_v8di,const long*, __gcc_v16si, char, int); +__gcc_v16si __builtin_ia32_gatheraltdiv8si(__gcc_v16si, const int*, __gcc_v8di, short, int); +void __builtin_ia32_scattersiv16sf(float*, short, __gcc_v16si, __gcc_v16sf, int); +void __builtin_ia32_scattersiv8df(double*, char, __gcc_v8si, __gcc_v8df, int); +void __builtin_ia32_scatterdiv16sf(float*, char, __gcc_v8di, __gcc_v8sf, int); +void __builtin_ia32_scatterdiv8df(double*, char, __gcc_v8di, __gcc_v8df, int); +void __builtin_ia32_scattersiv16si(int*, short, __gcc_v16si, __gcc_v16si, int); +void __builtin_ia32_scattersiv8di(long long*, char, __gcc_v8si, __gcc_v8di, int); +void __builtin_ia32_scatterdiv16si(int*, char, __gcc_v8di, __gcc_v8si, int); +void __builtin_ia32_scatterdiv8di(long long*, char, __gcc_v8di, __gcc_v8di, int); +__gcc_v2df __builtin_ia32_gather3siv2df(__gcc_v2df, const double*, __gcc_v4si, char, int); +__gcc_v4df __builtin_ia32_gather3siv4df(__gcc_v4df, const double*, __gcc_v4si, char, int); +__gcc_v2df __builtin_ia32_gather3div2df(__gcc_v2df, const double*, __gcc_v2di, char, int); +__gcc_v4df __builtin_ia32_gather3div4df(__gcc_v4df, const double*, __gcc_v4di, char, int); +__gcc_v4sf __builtin_ia32_gather3siv4sf(__gcc_v4sf, const float*, __gcc_v4si, char, int); +__gcc_v8sf __builtin_ia32_gather3siv8sf(__gcc_v8sf, const float*, __gcc_v8si, char, int); +__gcc_v4sf __builtin_ia32_gather3div4sf(__gcc_v4sf, const float*, __gcc_v2di, char, int); +__gcc_v4sf __builtin_ia32_gather3div8sf(__gcc_v4sf, const float*, __gcc_v4di, char, int); +__gcc_v2di __builtin_ia32_gather3siv2di(__gcc_v2di,const long*, __gcc_v4si, char, int); +__gcc_v4di __builtin_ia32_gather3siv4di(__gcc_v4di,const long*, __gcc_v4si, char, int); +__gcc_v2di __builtin_ia32_gather3div2di(__gcc_v2di,const long*, __gcc_v2di, char, int); +__gcc_v4di __builtin_ia32_gather3div4di(__gcc_v4di,const long*, __gcc_v4di, char, int); +__gcc_v4si __builtin_ia32_gather3siv4si(__gcc_v4si, const int*, __gcc_v4si, char, int); +__gcc_v8si __builtin_ia32_gather3siv8si(__gcc_v8si, const int*, __gcc_v8si, char, int); +__gcc_v4si __builtin_ia32_gather3div4si(__gcc_v4si, const int*, __gcc_v2di, char, int); +__gcc_v4si __builtin_ia32_gather3div8si(__gcc_v4si, const int*, __gcc_v4di, char, int); +__gcc_v4df __builtin_ia32_gather3altsiv4df(__gcc_v4df, const double*, __gcc_v8si, char, int); +__gcc_v8sf __builtin_ia32_gather3altdiv8sf(__gcc_v8sf, const float*, __gcc_v4di, char, int); +__gcc_v4di __builtin_ia32_gather3altsiv4di(__gcc_v4di,const long*, __gcc_v8si, char, int); +__gcc_v8si __builtin_ia32_gather3altdiv8si(__gcc_v8si, const int*, __gcc_v4di, char, int); +void __builtin_ia32_scattersiv8sf(float*, char, __gcc_v8si, __gcc_v8sf, int); +void __builtin_ia32_scattersiv4sf(float*, char, __gcc_v4si, __gcc_v4sf, int); +void __builtin_ia32_scattersiv4df(double*, char, __gcc_v4si, __gcc_v4df, int); +void __builtin_ia32_scattersiv2df(double*, char, __gcc_v4si, __gcc_v2df, int); +void __builtin_ia32_scatterdiv8sf(float*, char, __gcc_v4di, __gcc_v4sf, int); +void __builtin_ia32_scatterdiv4sf(float*, char, __gcc_v2di, __gcc_v4sf, int); +void __builtin_ia32_scatterdiv4df(double*, char, __gcc_v4di, __gcc_v4df, int); +void __builtin_ia32_scatterdiv2df(double*, char, __gcc_v2di, __gcc_v2df, int); +void __builtin_ia32_scattersiv8si(int*, char, __gcc_v8si, __gcc_v8si, int); +void __builtin_ia32_scattersiv4si(int*, char, __gcc_v4si, __gcc_v4si, int); +void __builtin_ia32_scattersiv4di(long long*, char, __gcc_v4si, __gcc_v4di, int); +void __builtin_ia32_scattersiv2di(long long*, char, __gcc_v4si, __gcc_v2di, int); +void __builtin_ia32_scatterdiv8si(int*, char, __gcc_v4di, __gcc_v4si, int); +void __builtin_ia32_scatterdiv4si(int*, char, __gcc_v2di, __gcc_v4si, int); +void __builtin_ia32_scatterdiv4di(long long*, char, __gcc_v4di, __gcc_v4di, int); +void __builtin_ia32_scatterdiv2di(long long*, char, __gcc_v2di, __gcc_v2di, int); +void __builtin_ia32_scatteraltsiv8df(double*, char, __gcc_v16si, __gcc_v8df, int); +void __builtin_ia32_scatteraltdiv8sf(float*, short, __gcc_v8di, __gcc_v16sf, int); +void __builtin_ia32_scatteraltsiv8di(long long*, char, __gcc_v16si, __gcc_v8di, int); +void __builtin_ia32_scatteraltdiv8si(int*, short, __gcc_v8di, __gcc_v16si, int); +void __builtin_ia32_gatherpfdpd(char, __gcc_v8si,const long*, int, int); +void __builtin_ia32_gatherpfdps( short, __gcc_v16si, const int*, int, int); +void __builtin_ia32_gatherpfqpd(char, __gcc_v8di,const long*, int, int); +void __builtin_ia32_gatherpfqps(char, __gcc_v8di, const int*, int, int); +void __builtin_ia32_scatterpfdpd(char, __gcc_v8si,const long*, int, int); +void __builtin_ia32_scatterpfdps( short, __gcc_v16si, const int*, int, int); +void __builtin_ia32_scatterpfqpd(char, __gcc_v8di,const long*, int, int); +void __builtin_ia32_scatterpfqps(char, __gcc_v8di, const int*, int, int); diff --git a/src/ansi-c/gcc_builtin_headers_ia32.h b/src/ansi-c/gcc_builtin_headers_ia32.h index 3999124e35f..90ffac22ba1 100644 --- a/src/ansi-c/gcc_builtin_headers_ia32.h +++ b/src/ansi-c/gcc_builtin_headers_ia32.h @@ -1,32 +1,3 @@ - -// undocumented - -void __builtin_ia32_emms(void); -__gcc_v2si __builtin_ia32_pmaddwd(__gcc_v4hi, __gcc_v4hi); -__gcc_v2si __builtin_ia32_vec_init_v2si(int, int); -__gcc_v4hi __builtin_ia32_vec_init_v4hi(short, short, short, short); -__gcc_v8qi __builtin_ia32_vec_init_v8qi(char, char, char, char, char, char, char, char); -int __builtin_ia32_vec_ext_v2si(__gcc_v2si, int); -__gcc_v8hi __builtin_ia32_paddusw128(__gcc_v8hi, __gcc_v8hi); -__gcc_v8hi __builtin_ia32_psubusw128(__gcc_v8hi, __gcc_v8hi); -void __builtin_ia32_ldmxcsr(unsigned); -unsigned __builtin_ia32_stmxcsr(void); -__gcc_v8hi __builtin_ia32_paddsw128(__gcc_v8hi,__gcc_v8hi); -__gcc_v8hi __builtin_ia32_psubsw128(__gcc_v8hi,__gcc_v8hi); -__gcc_v16qi __builtin_ia32_paddsb128(__gcc_v16qi,__gcc_v16qi); -__gcc_v16qi __builtin_ia32_psubsb128(__gcc_v16qi,__gcc_v16qi); -__gcc_v16qi __builtin_ia32_paddusb128(__gcc_v16qi,__gcc_v16qi); -__gcc_v16qi __builtin_ia32_psubusb128(__gcc_v16qi,__gcc_v16qi); -__gcc_di __builtin_ia32_cvtss2si64(__gcc_v4sf); -__gcc_di __builtin_ia32_cvttss2si64(__gcc_v4sf); -__gcc_v4sf __builtin_ia32_cvtsi642ss(__gcc_v4sf, __gcc_di); - -__gcc_v4hi __builtin_ia32_pshufw(__gcc_v4hi, int); -int __builtin_ia32_vec_ext_v4hi(__gcc_v4hi, int); -unsigned int __builtin_ia32_vec_ext_v8hi(__gcc_v8hi, int); -__gcc_v4hi __builtin_ia32_vec_set_v4hi(__gcc_v4hi, int, int); -__gcc_v8hi __builtin_ia32_vec_set_v8hi(__gcc_v8hi, int, int); - // from // http://gcc.gnu.org/onlinedocs/gcc-4.7.0/gcc/X86-Built_002din-Functions.html @@ -135,26 +106,26 @@ __gcc_v4sf __builtin_ia32_addss(__gcc_v4sf, __gcc_v4sf); __gcc_v4sf __builtin_ia32_subss(__gcc_v4sf, __gcc_v4sf); __gcc_v4sf __builtin_ia32_mulss(__gcc_v4sf, __gcc_v4sf); __gcc_v4sf __builtin_ia32_divss(__gcc_v4sf, __gcc_v4sf); -__gcc_v4si __builtin_ia32_cmpeqps(__gcc_v4sf, __gcc_v4sf); -__gcc_v4si __builtin_ia32_cmpltps(__gcc_v4sf, __gcc_v4sf); -__gcc_v4si __builtin_ia32_cmpleps(__gcc_v4sf, __gcc_v4sf); -__gcc_v4si __builtin_ia32_cmpgtps(__gcc_v4sf, __gcc_v4sf); -__gcc_v4si __builtin_ia32_cmpgeps(__gcc_v4sf, __gcc_v4sf); -__gcc_v4si __builtin_ia32_cmpunordps(__gcc_v4sf, __gcc_v4sf); -__gcc_v4si __builtin_ia32_cmpneqps(__gcc_v4sf, __gcc_v4sf); -__gcc_v4si __builtin_ia32_cmpnltps(__gcc_v4sf, __gcc_v4sf); -__gcc_v4si __builtin_ia32_cmpnleps(__gcc_v4sf, __gcc_v4sf); -__gcc_v4si __builtin_ia32_cmpngtps(__gcc_v4sf, __gcc_v4sf); -__gcc_v4si __builtin_ia32_cmpngeps(__gcc_v4sf, __gcc_v4sf); -__gcc_v4si __builtin_ia32_cmpordps(__gcc_v4sf, __gcc_v4sf); -__gcc_v4si __builtin_ia32_cmpeqss(__gcc_v4sf, __gcc_v4sf); -__gcc_v4si __builtin_ia32_cmpltss(__gcc_v4sf, __gcc_v4sf); -__gcc_v4si __builtin_ia32_cmpless(__gcc_v4sf, __gcc_v4sf); -__gcc_v4si __builtin_ia32_cmpunordss(__gcc_v4sf, __gcc_v4sf); -__gcc_v4si __builtin_ia32_cmpneqss(__gcc_v4sf, __gcc_v4sf); -__gcc_v4si __builtin_ia32_cmpnlts(__gcc_v4sf, __gcc_v4sf); -__gcc_v4si __builtin_ia32_cmpnless(__gcc_v4sf, __gcc_v4sf); -__gcc_v4si __builtin_ia32_cmpordss(__gcc_v4sf, __gcc_v4sf); +__gcc_v4sf __builtin_ia32_cmpeqps(__gcc_v4sf, __gcc_v4sf); +__gcc_v4sf __builtin_ia32_cmpltps(__gcc_v4sf, __gcc_v4sf); +__gcc_v4sf __builtin_ia32_cmpleps(__gcc_v4sf, __gcc_v4sf); +__gcc_v4sf __builtin_ia32_cmpgtps(__gcc_v4sf, __gcc_v4sf); +__gcc_v4sf __builtin_ia32_cmpgeps(__gcc_v4sf, __gcc_v4sf); +__gcc_v4sf __builtin_ia32_cmpunordps(__gcc_v4sf, __gcc_v4sf); +__gcc_v4sf __builtin_ia32_cmpneqps(__gcc_v4sf, __gcc_v4sf); +__gcc_v4sf __builtin_ia32_cmpnltps(__gcc_v4sf, __gcc_v4sf); +__gcc_v4sf __builtin_ia32_cmpnleps(__gcc_v4sf, __gcc_v4sf); +__gcc_v4sf __builtin_ia32_cmpngtps(__gcc_v4sf, __gcc_v4sf); +__gcc_v4sf __builtin_ia32_cmpngeps(__gcc_v4sf, __gcc_v4sf); +__gcc_v4sf __builtin_ia32_cmpordps(__gcc_v4sf, __gcc_v4sf); +__gcc_v4sf __builtin_ia32_cmpeqss(__gcc_v4sf, __gcc_v4sf); +__gcc_v4sf __builtin_ia32_cmpltss(__gcc_v4sf, __gcc_v4sf); +__gcc_v4sf __builtin_ia32_cmpless(__gcc_v4sf, __gcc_v4sf); +__gcc_v4sf __builtin_ia32_cmpunordss(__gcc_v4sf, __gcc_v4sf); +__gcc_v4sf __builtin_ia32_cmpneqss(__gcc_v4sf, __gcc_v4sf); +__gcc_v4sf __builtin_ia32_cmpnlts(__gcc_v4sf, __gcc_v4sf); +__gcc_v4sf __builtin_ia32_cmpnless(__gcc_v4sf, __gcc_v4sf); +__gcc_v4sf __builtin_ia32_cmpordss(__gcc_v4sf, __gcc_v4sf); __gcc_v4sf __builtin_ia32_maxps(__gcc_v4sf, __gcc_v4sf); __gcc_v4sf __builtin_ia32_maxss(__gcc_v4sf, __gcc_v4sf); __gcc_v4sf __builtin_ia32_minps(__gcc_v4sf, __gcc_v4sf); @@ -244,8 +215,8 @@ __gcc_v2df __builtin_ia32_cmpneqsd(__gcc_v2df, __gcc_v2df); __gcc_v2df __builtin_ia32_cmpnltsd(__gcc_v2df, __gcc_v2df); __gcc_v2df __builtin_ia32_cmpnlesd(__gcc_v2df, __gcc_v2df); __gcc_v2df __builtin_ia32_cmpordsd(__gcc_v2df, __gcc_v2df); -__gcc_v2di __builtin_ia32_paddq(__gcc_v2di, __gcc_v2di); -__gcc_v2di __builtin_ia32_psubq(__gcc_v2di, __gcc_v2di); +__gcc_v1di __builtin_ia32_paddq(__gcc_v1di, __gcc_v1di); +__gcc_v1di __builtin_ia32_psubq(__gcc_v1di, __gcc_v1di); __gcc_v2df __builtin_ia32_addpd(__gcc_v2df, __gcc_v2df); __gcc_v2df __builtin_ia32_subpd(__gcc_v2df, __gcc_v2df); __gcc_v2df __builtin_ia32_mulpd(__gcc_v2df, __gcc_v2df); @@ -455,11 +426,7 @@ __gcc_v2df __builtin_ia32_roundpd(__gcc_v2df, const int); __gcc_v4sf __builtin_ia32_roundps(__gcc_v4sf, const int); __gcc_v2df __builtin_ia32_roundsd(__gcc_v2df, __gcc_v2df, const int); __gcc_v4sf __builtin_ia32_roundss(__gcc_v4sf, __gcc_v4sf, const int); -__gcc_v4sf __builtin_ia32_vec_set___gcc_v4sf(__gcc_v4sf, float, const int); int __builtin_ia32_vec_ext___gcc_v16qi(__gcc_v16qi, const int); -__gcc_v16qi __builtin_ia32_vec_set___gcc_v16qi(__gcc_v16qi, int, const int); -__gcc_v4si __builtin_ia32_vec_set___gcc_v4si(__gcc_v4si, int, const int); -__gcc_v2di __builtin_ia32_vec_set___gcc_v2di(__gcc_v2di, __gcc_di, const int); float __builtin_ia32_vec_ext___gcc_v4sf(__gcc_v4sf, const int); int __builtin_ia32_vec_ext___gcc_v4si(__gcc_v4si, const int); __gcc_di __builtin_ia32_vec_ext___gcc_v2di(__gcc_v2di, const int); @@ -1194,7 +1161,7 @@ int __builtin_ia32_pshlb(); int __builtin_ia32_pshld(); int __builtin_ia32_pshlq(); int __builtin_ia32_pshlw(); -int __builtin_ia32_vec_ext_v2df(); -int __builtin_ia32_vec_ext_v2di(); -int __builtin_ia32_vec_ext_v4sf(); -int __builtin_ia32_vec_ext_v4si(); +double __builtin_ia32_vec_ext_v2df(__gcc_v2df, int); +__gcc_di __builtin_ia32_vec_ext_v2di(__gcc_v2di, int); +float __builtin_ia32_vec_ext_v4sf(__gcc_v4sf, int); +int __builtin_ia32_vec_ext_v4si(__gcc_v4si, int); diff --git a/src/ansi-c/get-gcc-builtins.sh b/src/ansi-c/get-gcc-builtins.sh index 2d80ee68888..dd02b98c99d 100755 --- a/src/ansi-c/get-gcc-builtins.sh +++ b/src/ansi-c/get-gcc-builtins.sh @@ -7,32 +7,16 @@ if [ -e gcc-builtins.h ] ; then exit 1 fi -echo Downloading http://gcc.gnu.org/svn/gcc/trunk/gcc/builtin-types.def -svn export http://gcc.gnu.org/svn/gcc/trunk/gcc/builtin-types.def > /dev/null +builtin_defs=" \ + builtin-types.def builtins.def sync-builtins.def \ + omp-builtins.def gtm-builtins.def cilk-builtins.def cilkplus.def \ + sanitizer.def chkp-builtins.def hsa-builtins.def" -echo Downloading http://gcc.gnu.org/svn/gcc/trunk/gcc/builtins.def -svn export http://gcc.gnu.org/svn/gcc/trunk/gcc/builtins.def > /dev/null - -echo Downloading http://gcc.gnu.org/svn/gcc/trunk/gcc/sync-builtins.def -svn export http://gcc.gnu.org/svn/gcc/trunk/gcc/sync-builtins.def > /dev/null - -echo Downloading http://gcc.gnu.org/svn/gcc/trunk/gcc/omp-builtins.def -svn export http://gcc.gnu.org/svn/gcc/trunk/gcc/omp-builtins.def > /dev/null - -echo Downloading http://gcc.gnu.org/svn/gcc/trunk/gcc/gtm-builtins.def -svn export http://gcc.gnu.org/svn/gcc/trunk/gcc/gtm-builtins.def > /dev/null - -echo Downloading http://gcc.gnu.org/svn/gcc/trunk/gcc/cilk-builtins.def -svn export http://gcc.gnu.org/svn/gcc/trunk/gcc/cilk-builtins.def > /dev/null - -echo Downloading http://gcc.gnu.org/svn/gcc/trunk/gcc/cilkplus.def -svn export http://gcc.gnu.org/svn/gcc/trunk/gcc/cilkplus.def > /dev/null - -echo Downloading http://gcc.gnu.org/svn/gcc/trunk/gcc/sanitizer.def -svn export http://gcc.gnu.org/svn/gcc/trunk/gcc/sanitizer.def > /dev/null - -echo Downloading http://gcc.gnu.org/svn/gcc/trunk/gcc/chkp-builtins.def -svn export http://gcc.gnu.org/svn/gcc/trunk/gcc/chkp-builtins.def > /dev/null +for f in $builtin_defs ; do + [ ! -s $f ] || continue + echo Downloading http://gcc.gnu.org/svn/gcc/trunk/gcc/$f + svn export http://gcc.gnu.org/svn/gcc/trunk/gcc/$f > /dev/null +done cat > gcc-builtins.h < @@ -78,6 +62,7 @@ cat > builtins.h < builtins.h <> gcc-builtins.h -rm builtin-types.def builtins.def sync-builtins.def omp-builtins.def gtm-builtins.def cilk-builtins.def cilkplus.def sanitizer.def -rm builtins.h +rm $builtin_defs builtins.h # for some we don't know how to handle them - removing symbols should be safe -sed -i '/MANGLE/d' gcc-builtins.h -sed -i '/builtin_type_for_size/d' gcc-builtins.h -sed -i '/BT_FN/d' gcc-builtins.h -sed -i '/lang_hooks.types.type_for_mode/d' gcc-builtins.h -sed -i '/__float/d' gcc-builtins.h +remove_line() { + local pattern="$1" + if sed --version >/dev/null 2>&1 ; then + # GNU sed + sed -i "/$pattern/d" gcc-builtins.h + else + sed -i '' "/$pattern/d" gcc-builtins.h + fi +} + +remove_line MANGLE +remove_line builtin_type_for_size +remove_line BT_FN +remove_line lang_hooks.types.type_for_mode +remove_line __float +remove_line pointer_bounds_type_node cat gcc-builtins.h | sed 's/__builtin/XX__builtin/' | \ gcc -c -fno-builtin -x c - -o gcc-builtins.o