Ard Biesheuvel
ad00d41b47
crypto: aegis128/neon - optimize tail block handling
...
Avoid copying the tail block via a stack buffer if the total size
exceeds a single AEGIS block. In this case, we can use overlapping
loads and stores and NEON permutation instructions instead, which
leads to a modest performance improvement on some cores (< 5%),
and is slightly cleaner. Note that we still need to use a stack
buffer if the entire input is smaller than 16 bytes, given that
we cannot use 16 byte NEON loads and stores safely in this case.
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
Reviewed-by: Ondrej Mosnacek <omosnacek@gmail.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2020-11-27 17:13:39 +11:00
..
2020-11-20 14:45:33 +11:00
2020-09-24 16:44:44 -07:00
2019-05-30 11:26:37 -07:00
2020-07-09 18:25:23 +10:00
2020-08-07 11:33:22 -07:00
2020-01-09 11:30:58 +08:00
2020-11-27 17:13:39 +11:00
2020-11-27 17:13:39 +11:00
2019-10-26 02:06:05 +11:00
2019-08-30 18:05:30 +10:00
2020-01-09 11:30:53 +08:00
2019-07-26 14:55:33 +10:00
2020-11-06 14:29:11 +11:00
2020-08-28 16:58:28 +10:00
2020-01-09 11:30:58 +08:00
2020-07-16 21:49:08 +10:00
2020-06-15 17:38:54 +10:00
2020-08-21 14:45:27 +10:00
2020-07-19 18:16:41 -07:00
2020-09-25 17:48:52 +10:00
2020-08-21 14:45:26 +10:00
2019-05-24 17:27:12 +02:00
2020-01-09 11:30:53 +08:00
2020-08-07 11:33:22 -07:00
2020-09-11 14:39:16 +10:00
2020-07-16 21:49:08 +10:00
2020-07-16 21:49:08 +10:00
2020-07-23 17:34:20 +10:00
2020-01-09 11:30:53 +08:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2020-07-23 17:34:20 +10:00
2019-05-30 11:25:16 -07:00
2020-01-09 11:30:53 +08:00
2019-05-24 17:27:12 +02:00
2020-09-11 14:39:16 +10:00
2020-07-16 21:49:08 +10:00
2019-12-27 18:18:04 +08:00
2020-07-16 21:49:08 +10:00
2019-11-22 18:48:39 +08:00
2020-01-09 11:30:53 +08:00
2020-07-16 21:49:08 +10:00
2019-12-11 16:37:01 +08:00
2020-01-09 11:30:53 +08:00
2020-08-21 14:45:25 +10:00
2013-09-12 15:31:34 +10:00
2020-08-21 14:45:25 +10:00
2020-07-16 21:49:08 +10:00
2020-08-21 14:45:26 +10:00
2019-07-08 20:57:08 -07:00
2019-12-20 14:58:35 +08:00
2019-11-01 13:38:32 +08:00
2020-07-16 21:49:08 +10:00
2020-07-16 21:49:08 +10:00
2019-11-17 09:02:43 +08:00
2020-08-07 11:33:22 -07:00
2020-01-09 11:30:53 +08:00
2019-05-30 11:26:32 -07:00
2020-07-31 18:08:59 +10:00
2020-08-23 17:36:59 -05:00
2019-12-27 18:18:04 +08:00
2019-04-18 22:15:02 +08:00
2020-08-07 11:33:22 -07:00
2020-07-31 18:08:59 +10:00
2019-05-30 11:26:32 -07:00
2020-08-07 11:33:22 -07:00
2020-07-16 21:49:07 +10:00
2019-04-18 22:15:02 +08:00
2019-04-18 22:15:02 +08:00
2019-04-18 22:15:02 +08:00
2020-08-20 14:04:28 +10:00
2020-07-16 21:49:08 +10:00
2019-06-13 14:31:39 +08:00
2019-07-26 14:51:57 +10:00
2020-08-07 11:33:22 -07:00
2020-07-16 21:49:08 +10:00
2020-08-07 11:33:22 -07:00
2020-01-09 11:30:53 +08:00
2020-02-18 07:35:49 -05:00
2020-07-16 21:49:08 +10:00
2020-08-19 21:59:43 +10:00
2020-08-20 14:04:28 +10:00
2020-07-23 17:34:20 +10:00
2019-10-18 18:49:40 +11:00
2020-11-13 20:38:43 +11:00
2019-12-27 18:18:04 +08:00
2019-06-13 14:31:39 +08:00
2019-05-30 11:26:32 -07:00
2020-07-23 17:34:20 +10:00
2019-07-08 20:57:08 -07:00
2019-07-08 20:57:08 -07:00
2019-07-08 20:57:08 -07:00
2019-07-08 20:57:08 -07:00
2020-09-25 17:48:54 +10:00
2019-06-13 14:31:39 +08:00
2020-02-28 08:43:21 +08:00
2013-12-09 20:09:12 +08:00
2020-01-09 11:30:53 +08:00
2020-01-16 15:18:12 +08:00
2019-12-27 18:18:04 +08:00
2019-12-27 18:18:04 +08:00
2020-07-23 17:34:18 +10:00
2020-01-16 15:18:12 +08:00
2020-09-25 17:48:15 +10:00
2017-11-02 11:10:55 +01:00
2019-07-08 20:57:08 -07:00
2019-07-08 20:57:08 -07:00
2019-07-08 20:57:08 -07:00
2019-07-08 20:57:08 -07:00
2020-08-07 11:33:22 -07:00
2019-05-30 11:26:32 -07:00
2020-08-20 14:04:28 +10:00
2019-05-24 17:27:11 +02:00
2016-07-05 23:05:26 +08:00
2015-10-14 22:23:16 +08:00
2020-07-23 17:34:20 +10:00
2019-05-30 11:26:32 -07:00
2019-12-20 14:58:35 +08:00
2019-05-30 11:26:32 -07:00
2020-08-07 11:33:22 -07:00
2019-12-11 16:36:54 +08:00
2020-11-20 14:45:33 +11:00
2020-07-23 17:34:20 +10:00
2020-11-20 14:45:33 +11:00
2020-11-20 14:45:33 +11:00
2020-08-07 11:33:22 -07:00
2020-07-16 21:49:08 +10:00
2020-08-07 11:33:22 -07:00
2020-10-30 17:35:02 +11:00
2020-09-25 17:48:54 +10:00
2020-09-25 17:48:53 +10:00
2020-01-09 11:30:53 +08:00
2019-08-15 21:52:14 +10:00
2020-10-13 08:50:16 -07:00
2020-08-21 14:45:27 +10:00
2019-07-08 20:57:08 -07:00
2020-11-06 14:29:10 +11:00
2020-09-25 17:48:54 +10:00
2019-11-15 13:44:17 +08:00
2020-01-09 11:30:53 +08:00
2019-05-21 11:28:45 +02:00
2020-07-16 21:49:08 +10:00
2019-06-13 14:31:39 +08:00
2020-07-16 21:49:08 +10:00
2020-10-08 16:38:06 +11:00
2020-07-31 18:09:00 +10:00
2020-01-09 11:30:53 +08:00
2020-08-07 11:33:22 -07:00