Hanno Becker
907a367b50
Remove explicit width suffixes from Arm bignum assembly
...
Within the M-profile of the Arm architecture, some instructions
admit both a 16-bit and a 32-bit encoding. For those instructions,
some assemblers support the use of the .n (narrow) and .w (wide)
suffixes to force a choice of instruction encoding width.
Forcing the size of encodings may be useful to ensure alignment
of code, which can have a significant performance impact on some
microarchitectures.
It is for this reason that a previous commit introduced explicit
.w suffixes into what was believed to be M-profile only assembly
in library/bn_mul.h.
This change, however, introduced two issues:
- First, the assembly block in question is used also for Armv7-A
systems, on which the .n/.w distinction is not meaningful
(all instructions are 32-bit).
- Second, compiler support for .n/.w suffixes appears patchy,
leading to compilation failures even when building for M-profile
targets.
This commit removes the .w annotations in order to restore working
code, deferring controlled re-introduction for the sake of performance.
Fixes #6089 .
Signed-off-by: Hanno Becker <hanno.becker@arm.com>
2022-07-15 12:00:58 +01:00
..
2021-12-18 13:29:10 +05:30
2022-05-11 21:25:51 +01:00
2021-03-10 12:52:37 +00:00
2021-06-28 09:24:07 +01:00
2021-08-19 09:55:42 +01:00
2021-01-26 13:57:46 +01:00
2022-06-10 20:13:33 +02:00
2021-11-26 17:20:02 +01:00
2022-04-11 13:44:15 +01:00
2022-06-29 15:02:59 +01:00
2022-07-15 12:00:58 +01:00
2021-08-19 09:55:41 +01:00
2022-05-18 14:15:33 -04:00
2021-08-19 09:56:47 +01:00
2021-08-19 09:56:47 +01:00
2021-03-25 14:25:46 +01:00
2021-10-27 10:42:31 +02:00
2022-01-03 12:53:24 +01:00
2022-05-06 10:55:10 +02:00
2021-03-02 10:18:08 +01:00
2022-07-12 10:51:55 +01:00
2021-10-28 10:26:13 +08:00
2022-05-19 18:23:24 +01:00
2021-11-26 17:25:14 +01:00
2022-06-01 11:42:51 +02:00
2022-07-04 10:12:22 +01:00
2021-06-17 21:46:29 +02:00
2021-09-27 16:22:08 +02:00
2022-06-30 17:03:40 +02:00
2022-05-18 14:15:33 -04:00
2022-03-01 15:21:02 +01:00
2022-05-11 21:25:51 +01:00
2022-05-06 18:43:58 +02:00
2021-06-28 09:24:07 +01:00
2021-06-03 18:10:04 +02:00
2022-05-16 14:47:00 +01:00
2022-06-30 17:03:40 +02:00
2021-06-28 09:28:33 +01:00
2022-06-30 17:03:40 +02:00
2022-05-13 18:08:11 +01:00
2020-08-19 10:35:41 +02:00
2022-06-30 17:03:40 +02:00
2022-07-11 13:56:01 +01:00
2021-08-19 09:31:55 +01:00
2021-06-28 09:24:07 +01:00
2022-06-30 17:03:40 +02:00
2022-05-11 21:25:51 +01:00
2022-05-18 14:15:33 -04:00
2021-03-29 14:20:18 +01:00
2021-12-10 13:47:55 +01:00
2021-03-29 14:20:18 +01:00
2021-12-10 13:47:55 +01:00
2021-04-07 12:45:35 +01:00
2022-03-04 05:07:45 -05:00
2021-11-24 10:44:13 +01:00
2021-06-16 10:34:25 +02:00
2021-03-10 12:52:37 +00:00
2021-06-28 09:24:07 +01:00
2021-06-08 16:45:41 +02:00
2022-05-04 11:02:37 +02:00
2022-05-04 11:02:37 +02:00
2022-05-20 09:26:16 +02:00
2021-04-15 11:19:47 +01:00
2022-05-13 18:08:11 +01:00
2022-07-11 10:22:37 +02:00
2022-04-07 15:01:24 +02:00
2022-03-01 10:03:21 +01:00
2022-05-12 09:45:03 +01:00
2022-07-01 16:43:25 +01:00
2021-08-19 09:57:41 +01:00
2021-12-09 14:49:42 +01:00
2022-05-11 21:25:51 +01:00
2022-04-05 15:03:39 +02:00
2021-12-14 10:58:18 +01:00
2021-06-17 11:43:58 +02:00
2021-09-08 22:04:13 +05:30
2022-03-10 20:07:38 +01:00
2021-12-06 07:50:27 +01:00
2021-12-06 07:50:27 +01:00
2021-12-06 07:50:27 +01:00
2022-05-11 21:25:51 +01:00
2021-06-28 09:24:07 +01:00
2020-11-25 13:10:50 +01:00
2021-12-06 07:50:27 +01:00
2021-12-06 07:50:27 +01:00
2021-02-16 18:55:05 +01:00
2022-01-10 12:55:06 +01:00
2022-01-10 12:55:06 +01:00
2020-08-19 10:35:41 +02:00
2021-06-28 09:24:07 +01:00
2021-09-20 22:20:16 +02:00
2021-04-01 14:05:41 +02:00
2022-02-25 11:14:59 +01:00
2021-02-15 14:26:44 +01:00
2022-06-20 15:27:46 +02:00
2022-06-30 17:03:40 +02:00
2021-08-19 09:31:55 +01:00
2021-03-10 12:52:37 +00:00
2021-06-28 09:24:07 +01:00
2022-05-16 14:47:00 +01:00
2021-08-19 09:31:55 +01:00
2022-04-19 13:52:24 +01:00
2022-04-19 13:52:24 +01:00
2022-07-11 10:22:37 +02:00
2022-07-11 10:22:37 +02:00
2022-06-20 21:12:52 +02:00
2022-06-20 21:12:55 +02:00
2022-06-20 21:12:52 +02:00
2022-05-09 15:49:00 +08:00
2022-07-11 10:22:37 +02:00
2022-07-11 10:22:37 +02:00
2022-06-20 21:12:52 +02:00
2022-07-11 10:22:37 +02:00
2022-07-11 12:37:47 +01:00
2022-07-11 10:22:37 +02:00
2022-07-11 10:22:37 +02:00
2022-07-11 10:22:37 +02:00
2022-07-11 10:22:37 +02:00
2022-06-20 21:12:55 +02:00
2022-07-11 10:22:37 +02:00
2022-07-11 10:22:37 +02:00
2022-03-29 17:43:56 +02:00
2022-04-08 04:41:42 -04:00
2020-08-19 10:35:41 +02:00
2020-08-19 10:35:41 +02:00
2022-03-04 05:07:45 -05:00
2022-03-15 16:43:19 +00:00
2021-04-28 17:31:55 +01:00
2022-06-29 10:18:41 +02:00
2022-06-01 16:24:28 +01:00
2022-03-07 13:59:44 +01:00