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]

Re: PATCH: Simplify x86 load/store builtin expand


On Tue, Apr 29, 2008 at 2:49 AM, H.J. Lu <hjl.tools@gmail.com> wrote:

>  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?

IMO the best solution is to have all non-complicated const builtins
grouped in one table, perhaps nicely grouped by SSE level. All
non-const builtins should then be added explicitly using def_builtin,
hoping that there won't be many of them.

Your proposed patch is a step in right direction (there are lots of
builtins...), but please leave out "memory" handling from the array
scanning loop. We can consider builtins that require "memory" flag to
be complicated, non-const ones.

Uros.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]