]> git.ipfire.org Git - thirdparty/gcc.git/commit
i386: Improve LWP builtin expanders.
authorUros Bizjak <ubizjak@gmail.com>
Fri, 14 Aug 2020 14:40:56 +0000 (16:40 +0200)
committerUros Bizjak <ubizjak@gmail.com>
Fri, 14 Aug 2020 14:42:01 +0000 (16:42 +0200)
commit2398c206101f6da09f87e8afaf3ff422236db61d
tree8000e559c45a18b10bb5612e78f2dc984639cc7f
parent129a1319c0ab73f4bfc5598dffedb06378b00fc0
i386: Improve LWP builtin expanders.

Use parameterized pattern names to simplify calling of named patterns.

2020-08-14  Uroš Bizjak  <ubizjak@gmail.com>

gcc/ChangeLog:

* config/i386/i386-builtin.def (__builtin_ia32_llwpcb)
(__builtin_ia32_slwpcb, __builtin_ia32_lwpval32)
(__builtin_ia32_lwpval64, __builtin_ia32_lwpins32)
(__builtin_ia32_lwpins64): Use CODE_FOR_nothing.
* config/i386/i386.md (@lwp_llwpcb<mode>):
Implement as parametrized name pattern.
(@lwp_slwpcb<mode>): Ditto.
(@lwp_lwpval<mode>): Ditto.
(@lwp_lwpins<mode>): Ditto.
* config/i386/i386-expand.c (ix86_expand_special_args_builtin)
[case VOID_FTYPE_UINT_UINT_UINT, case VOID_FTYPE_UINT64_UINT_UINT]
[case UCHAR_FTYPE_UINT_UINT_UINT, case UCHAR_FTYPE_UINT64_UINT_UINT]:
Remove.
(ix86_expand_builtin)
[ case IX86_BUILTIN_LLWPCB, case IX86_BUILTIN_LLWPCB]:
Update for parameterized name patterns.
[case IX86_BUILTIN_LWPVAL32, case IX86_BUILTIN_LWPVAL64]
[case IX86_BUILTIN_LWPINS32, case IX86_BUILTIN_LWPINS64]: Expand here.
gcc/config/i386/i386-builtin.def
gcc/config/i386/i386-expand.c
gcc/config/i386/i386.md