Herbert Xu
3a92d687c8
crypto: sha512 - Avoid stack bloat on i386
...
Unfortunately in reducing W from 80 to 16 we ended up unrolling
the loop twice. As gcc has issues dealing with 64-bit ops on
i386 this means that we end up using even more stack space (>1K).
This patch solves the W reduction by moving LOAD_OP/BLEND_OP
into the loop itself, thus avoiding the need to duplicate it.
While the stack space still isn't great (>0.5K) it is at least
in the same ball park as the amount of stack used for our C sha1
implementation.
Note that this patch basically reverts to the original code so
the diff looks bigger than it really is.
Cc: stable@vger.kernel.org
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2012-02-05 15:09:28 +11:00
..
2011-10-31 19:31:11 -04:00
2011-10-21 14:24:05 +02:00
2011-10-21 14:24:06 +02:00
2010-02-16 20:34:59 +08:00
2011-07-26 16:49:47 -07:00
2011-10-21 14:24:04 +02:00
2011-11-09 12:04:06 +08:00
2010-08-06 09:40:28 +08:00
2011-06-30 07:44:06 +08:00
2010-11-30 17:04:31 +08:00
2011-11-09 12:04:06 +08:00
2010-02-16 20:25:39 +08:00
2010-02-16 20:26:46 +08:00
2011-06-30 07:44:05 +08:00
2010-12-02 14:47:16 +08:00
2011-03-13 20:22:27 -07:00
2011-10-21 14:24:05 +02:00
2011-09-22 21:25:25 +10:00
2011-09-22 21:25:26 +10:00
2010-02-16 20:27:57 +08:00
2010-11-13 21:47:55 +09:00
2010-02-16 20:29:45 +08:00
2008-02-07 08:42:26 -08:00
2009-01-27 17:11:15 +11:00
2009-02-19 14:44:02 +08:00
2010-02-16 20:31:37 +08:00
2010-02-16 20:31:04 +08:00
2011-06-30 07:44:05 +08:00
2011-08-20 16:08:03 +08:00
2010-02-16 20:31:54 +08:00
2011-11-09 12:04:06 +08:00
2011-10-31 19:31:11 -04:00
2010-05-26 10:36:51 +10:00
2008-06-02 15:46:51 +10:00
2011-06-29 05:48:41 -07:00
2010-10-07 14:08:50 +01:00
2010-02-16 20:33:49 +08:00
2010-12-02 14:47:16 +08:00
2010-02-16 20:34:07 +08:00
2008-08-29 15:50:02 +10:00
2010-12-02 14:47:16 +08:00
2011-07-08 17:21:21 +08:00
2011-10-21 13:18:42 +02:00
2010-03-30 22:02:32 +09:00
2011-10-21 14:24:03 +02:00
2011-12-20 15:20:08 +08:00
2008-04-21 10:19:34 +08:00
2008-08-29 15:50:04 +10:00
2011-11-09 11:50:31 +08:00
2008-04-21 10:19:34 +08:00
2011-11-30 16:12:44 +08:00
2011-10-31 19:31:11 -04:00
2011-08-06 18:32:45 -07:00
2008-12-25 11:02:24 +11:00
2008-02-07 08:42:26 -08:00
2011-10-21 14:24:06 +02:00
2011-01-13 10:25:58 -08:00
2011-10-31 19:31:11 -04:00
2008-07-10 20:35:12 +08:00
2011-01-04 23:34:03 +11:00
2011-01-04 23:34:03 +11:00
2011-01-04 23:34:03 +11:00
2011-01-04 23:34:03 +11:00
2011-10-21 14:24:06 +02:00
2008-12-25 11:02:30 +11:00
2010-05-19 14:06:29 +10:00
2007-10-10 16:55:38 -07:00
2010-03-30 22:02:32 +09:00
2011-11-30 16:12:44 +08:00
2011-08-10 19:00:28 +08:00
2009-07-11 18:23:34 +08:00
2012-02-05 15:09:28 +11:00
2011-10-21 14:24:04 +02:00
2011-11-09 11:57:56 +08:00
2011-11-09 11:57:56 +08:00
2008-04-21 10:19:34 +08:00
2011-11-21 16:13:23 +08:00
2011-11-09 11:57:56 +08:00
2008-12-25 11:02:21 +11:00
2011-11-09 11:53:32 +08:00
2010-06-03 21:02:51 +10:00
2011-10-31 19:31:11 -04:00
2011-10-21 14:24:16 +02:00
2011-10-31 19:31:11 -04:00
2010-03-30 22:02:32 +09:00
2011-11-09 11:56:06 +08:00
2011-06-29 05:48:41 -07:00