Gilles Peskine d10e8fae9e Optimize fix_negative
Reduce the code size, stack consumption and heap consumption in
fix_negative by encoding the special-case subtraction manually.

* Code size: ecp_curves.o goes down from 7837B down to 7769 in a
  sample Cortex-M0 build with all curves enabled. The savings come
  from not having to set up C in INIT (which is used many times) and
  from not having to catch errors in fix_negative.
* Stack consumption: get rid of C on the stack.
* Heap: mbedtls_mpi_sub_abs with destination == second operand would
  make a heap allocation. The new code doesn't do any heap allocation.
* Performance: no measurable difference.

Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
2020-12-07 22:51:25 +01:00
..
2020-12-07 22:51:25 +01:00
2020-11-16 15:02:16 +01:00
2020-08-21 21:08:56 +02:00
2020-08-21 21:08:56 +02:00
2020-08-21 21:08:56 +02:00
2020-09-22 11:57:16 +02:00
2020-11-20 13:57:15 +01:00
2020-08-21 21:08:56 +02:00
2020-09-25 08:43:57 -05:00
2020-08-21 21:08:56 +02:00
2020-11-13 09:20:18 +00:00
2020-09-01 11:04:53 +02:00