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: [patch2/2][arm]: remove builtin expand for sha1


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.taylor@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.taylor@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


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