]> gcc.gnu.org Git - gcc.git/commit
arm: elide some cases where the AES erratum workaround is not required.
authorRichard Earnshaw <rearnsha@arm.com>
Fri, 14 Jan 2022 11:38:33 +0000 (11:38 +0000)
committerRichard Earnshaw <rearnsha@arm.com>
Thu, 20 Jan 2022 11:15:26 +0000 (11:15 +0000)
commit997070498b0d713ecfb384dc12d1e68ebdbee5bd
tree6f9cf4eab5d369e327645258120f2e6116946a93
parent2078550a005f3fde4c331ad4b8452c963c4cdb9d
arm: elide some cases where the AES erratum workaround is not required.

Some common cases where the AES erratum workaround are not required
are when there are 64- or 128-bit loads from memory, moving a 128-bit
value from core registers, and where a 128-bit constant is being
loaded from a literal pool.  The loads may also be misaligned or
generated via a neon intrinsic function.

gcc/ChangeLog:

* config/arm/crypto.md (aes_op_protect): Allow moves from core
registers and from memory.
(aes_op_protect_misalign_load): New pattern.
(aes_op_protect_neon_vld1v16qi): New pattern.
gcc/config/arm/crypto.md
This page took 0.057182 seconds and 6 git commands to generate.