This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
Hi, x86 backend has many exceptions, for store, load, asymetric types, ... when expanding x86 builtins. AVX has masked load/store builtins, which need new exceptions. This patch removes bdesc_1arg, ix86_expand_store_builtin and ix86_expand_unop_builtin. ix86_expand_args_builtin can handle load/store builtins with more than one argument. I am testing on Linux/ia32 and Linux/Intel64. Ok for trunk if there are no regressions? Thanks. H.J. --- 2008-04-28 H.J. Lu <hongjiu.lu@intel.com> * config/i386/i386.c (sse_builtin_type): Renamed to ... (ix86_builtin_type): This. Add FLOAT128_FTYPE_FLOAT128, INT64_FTYPE_V4SF, INT64_FTYPE_V2DF, INT_FTYPE_V16QI, INT_FTYPE_V8QI, INT_FTYPE_V4SF, INT_FTYPE_V2DF, V16QI_FTYPE_PCCHAR, V4SF_FTYPE_PCFLOAT, V2DF_FTYPE_PCDOUBLE, V2DI_FTYPE_PV2DI, VOID_FTYPE_PV2DI_V2DI, VOID_FTYPE_PCHAR_V16QI, VOID_FTYPE_PFLOAT_V4SF, VOID_FTYPE_PDOUBLE_V2DF, VOID_FTYPE_PDI_DI, VOID_FTYPE_PINT_INT, V16QI_FTYPE_V16QI, V8HI_FTYPE_V8HI, V8HI_FTYPE_V16QI, V8QI_FTYPE_V8QI, V4SI_FTYPE_V4SI, V4SI_FTYPE_V16QI, V4SI_FTYPE_V4SF, V4SI_FTYPE_V8HI, V4SI_FTYPE_V2DF, V4HI_FTYPE_V4HI, V4SF_FTYPE_V4SF, V4SF_FTYPE_V4SI, V4SF_FTYPE_V2DF, V2DI_FTYPE_V2DI, V2DI_FTYPE_V16QI, V2DI_FTYPE_V8HI, V2DI_FTYPE_V4SI, V2DF_FTYPE_V2DF, V2DF_FTYPE_V4SI, V2DF_FTYPE_V4SF, V2DF_FTYPE_V2SI, V2SI_FTYPE_V2SI, V2SI_FTYPE_V4SF, V2SI_FTYPE_V2SF, V2SI_FTYPE_V2DF, V2SF_FTYPE_V2SF and V2SF_FTYPE_V2SI. (bdesc_sse_args): Renamed to ... (bdesc_args): This. Add IX86_BUILTIN_LOADUPS, IX86_BUILTIN_STOREUPS, IX86_BUILTIN_MOVNTP, IX86_BUILTIN_MOVNTQ, IX86_BUILTIN_PF2ID, IX86_BUILTIN_PFRCP, IX86_BUILTIN_PFRSQRT, IX86_BUILTIN_PI2FD, IX86_BUILTIN_PF2IW, IX86_BUILTIN_PSWAPDSI, IX86_BUILTIN_PSWAPDSF, IX86_BUILTIN_LOADUPD, IX86_BUILTIN_STOREUPD, IX86_BUILTIN_MOVNTPD, IX86_BUILTIN_MOVNTDQ, IX86_BUILTIN_MOVNTI, IX86_BUILTIN_LOADDQU, IX86_BUILTIN_LDDQU, IX86_BUILTIN_MOVNTDQA, IX86_BUILTIN_MOVNTSD, IX86_BUILTIN_MOVNTSS, and IX86_BUILTIN_FABSQ. (bdesc_1arg): Moved to ... (bdesc_args): Here. (ix86_init_mmx_sse_builtins): Updated. (ix86_expand_sse_operands_builtin): Renamed to ... (ix86_expand_args_builtin): This. Updated to handle load and store builtins. (ix86_expand_store_builtin ): Removed. (ix86_expand_unop_builtin): Likewise. (ix86_expand_builtin): Updated.
Attachment:
expand.txt
Description: Text document
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |