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] |
On Wed, Mar 16, 2011 at 11:38 AM, H.J. Lu <hjl.tools@gmail.com> wrote: > On Sun, Feb 27, 2011 at 5:45 AM, Uros Bizjak <ubizjak@gmail.com> wrote: >> Hello! >> >> Attached [RFC] patch vectorizes calls to floor, ceil, trunc and rint >> (and their float variants) functions using roundps/roundpd SSE4.1 >> instruction. >> >> 2011-02-27 ?Uros Bizjak ?<ubizjak@gmail.com> >> >> ? ? ? ?* config/i386/i386.md (ROUND_FLOOR): New constant. >> ? ? ? ?(ROUND_CEIL): Ditto. >> ? ? ? ?(ROUND_TRUNC): Ditto. >> ? ? ? ?(ROUND_MXCSR): Ditto. >> ? ? ? ?(ROUND_NO_EXC): Ditto. >> ? ? ? ?(rint<mode>2): Use new defines instead of numerical constant. >> ? ? ? ?(floor<mode>2): Ditto. >> ? ? ? ?(ceil<mode>2): Ditto. >> ? ? ? ?(btrunc<mode>2): Ditto. >> ? ? ? ?* config/i386/i386-builtin-types.def: Define ROUND function type >> ? ? ? ?aliases. >> ? ? ? ?* config/i386/i386.c (enum ix86_builtins): Add >> ? ? ? ?IX86_BUILTIN_{FLOOR,CEIL,TRUNC,RINT}{PS,PD}{,256} defines. >> ? ? ? ?(struct builtin_description): Add >> ? ? ? ?__builtin_ia32_{floor,ceil,trunc,rint}{pd,ps}{,256} descriptions. >> ? ? ? ?(ix86_expand_sse_round): New static function. >> ? ? ? ?(ix86_expand_args_builtin): Call ix86_expand_sse_round for ROUND >> ? ? ? ?function types. >> ? ? ? ?(ix86_builtin_vectorized_function): Handle >> ? ? ? ?BUILT_IN_{FLOOR,CEIL,TRUNC,RINT}{,F} builtins. >> >> Patch was bootstrapped and regression tested on x86_64-pc-linux-gnu >> (--with-fpmath=avx). Currently, it does not include test cases, but it >> is RFC at this gcc development stage anyway. > > This caused: > > http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48154 > > We need to check TARGET_ROUND before using __builtin_ia32_truncps. This patch fixes the compilation. OK for trunk? Thanks. -- H.J. --- 2011-03-16 H.J. Lu <hongjiu.lu@intel.com> PR target/48154 * config/i386/i386.c (ix86_builtin_vectorized_function): Check TARGET_ROUND for BUILT_IN_{FLOOR,CEIL,TRUNC,RINT}{,F} builtins.
Attachment:
gcc-pr48154-1.patch
Description: Text document
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |