Hi Sylvia,
On 7/3/19 10:36 AM, Sylvia Taylor wrote:
Greetings,
This patch removes the builtin expand handling for sha1h/c/m/p and
replaces it with expand patterns. This should make it more consistent
with how we handle intrinsic implementations and cleans up the custom
sha1 code in the arm_expand builtins for unop and ternop.
Bootstrapped and tested on arm-none-linux-gnueabihf.
Cheers,
Syl
gcc/ChangeLog:
2019-07-03 Sylvia Taylor <sylvia.tay...@arm.com>
* config/arm/arm-builtins.c
(arm_expand_ternop_builtin): Remove builtin_sha1cpm.
(arm_expand_unop_builtin): Remove builtin_sha1h.
* config/arm/crypto.md
(crypto_sha1h): New expand pattern.
(crypto_sha1c): Likewise.
(crypto_sha1m): Likewise.
(crypto_sha1p): Likewise.
(crypto_sha1h_lb): Modify.
(crypto_sha1c_lb): Likewise.
(crypto_sha1m_lb): Likewise.
(crypto_sha1p_lb): Likewise.
This doesn't exactly match what the patch looks. You don't need to list
the names the iterators expand into.
We just need the string of the names as it appears in the MD files.
Granted, this is a tricky case for ChangeLog writing as
define_insns are converted to define_expand, things are renamed etc...
I've taken the liberty of updating the ChangeLog to:
2019-07-18 Sylvia Taylor <sylvia.tay...@arm.com>
* config/arm/arm-builtins.c
(arm_expand_ternop_builtin): Remove explicit sha1 builtin handling.
(arm_expand_unop_builtin): Likewise.
* config/arm/crypto.md
(crypto_sha1h): Convert from define_insn to define_expand.
(crypto_<crypto_pattern>): Likewise.
(crypto_sha1h_lb): New define_insn.
(crypto_<crypto_pattern>_lb): Likewise.
and committed as r273575.
Thanks for the nice cleanup!
Kyrill