Alessandro Gatti
84ad2c6cd0
py/asmxtensa: Extend existing specialised load/store operations range.
...
This commit updates the existing specialised implementations for
int-indexed 32-bit load and store operations, and adds a specialised
implementation for int-indexed 16-bit load.
The 32-bit operations relied on the fact that their applicability was
limited to a specific range, falling back on a generic implementation
otherwise. Introducing a single entry point for each int-indexed
load/store operation size would break that assumption. Now those two
operations contain fallback code to generate working code by themselves
instead of raising an exception.
The 16-bit operation instead simply did not have any range check, but it
was not exposed directly to the Viper emitter. When a 16-bit
int-indexed load entry point was introduced, the existing implementation
would fail when accessing memory outside its 0..255 halfwords range. A
specialised implementation is now present, performing fewer operations
than the existing Viper emitter equivalent.
Signed-off-by: Alessandro Gatti <a.gatti@frob.it >
2025-06-10 11:29:02 +10:00
..
2025-05-13 10:36:47 +10:00
2025-05-21 01:50:11 +02:00
2025-06-10 11:29:02 +10:00
2024-06-21 16:21:27 +10:00
2024-06-21 15:06:07 +10:00
2025-01-02 11:49:10 +11:00
2025-06-10 11:29:02 +10:00
2025-06-10 11:29:02 +10:00
2025-06-10 11:29:02 +10:00
2024-03-19 10:31:36 +11:00
2025-05-21 01:50:12 +02:00
2024-03-19 10:31:36 +11:00
2025-06-10 11:29:02 +10:00
2025-06-10 11:29:02 +10:00
2025-06-10 11:29:02 +10:00
2022-03-28 15:43:09 +11:00
2025-05-13 10:36:47 +10:00
2024-02-16 14:17:01 +11:00
2024-07-04 15:55:03 +10:00
2019-09-02 13:14:27 +10:00
2024-07-20 12:18:07 +10:00
2025-02-11 16:42:14 +11:00
2024-03-07 14:20:42 +11:00
2024-03-07 14:20:42 +11:00
2025-02-11 16:42:14 +11:00
2025-02-11 16:42:14 +11:00
2024-08-14 12:55:45 +10:00
2024-08-14 12:55:45 +10:00
2025-05-13 10:36:47 +10:00
2025-06-04 22:35:39 +10:00
2025-01-02 11:49:10 +11:00
2024-07-18 12:35:42 +10:00
2023-03-09 12:13:12 +11:00
2024-12-10 12:04:14 +11:00
2024-03-04 10:27:07 +11:00
2025-04-14 11:13:19 +10:00
2025-05-09 18:31:40 +10:00
2025-05-29 12:12:39 +10:00
2022-05-23 15:43:06 +10:00
2025-06-10 11:29:02 +10:00
2025-05-21 01:50:12 +02:00
2024-06-21 15:06:07 +10:00
2022-05-23 15:43:06 +10:00
2022-05-23 15:43:06 +10:00
2024-03-07 14:20:42 +11:00
2022-05-23 15:43:06 +10:00
2022-05-23 15:43:06 +10:00
2023-10-03 11:24:50 +11:00
2017-07-31 18:35:40 +10:00
2022-02-24 18:08:43 +11:00
2022-05-25 13:04:45 +10:00
2025-02-03 15:02:02 +11:00
2023-09-15 12:19:13 +10:00
2020-06-16 23:18:01 +10:00
2024-07-18 12:44:44 +10:00
2024-07-18 12:44:44 +10:00
2022-07-18 13:48:23 +10:00
2023-04-27 18:03:06 +10:00
2023-06-14 19:03:46 +10:00
2025-03-05 16:00:32 +11:00
2023-12-14 22:55:08 -08:00
2025-05-07 17:31:11 +10:00
2025-05-02 17:24:16 +10:00
2024-03-07 14:20:42 +11:00
2025-05-13 10:36:47 +10:00
2024-12-10 11:28:38 +11:00
2025-04-22 11:55:39 +10:00
2025-03-27 17:51:12 +11:00
2024-03-07 14:20:42 +11:00
2024-03-07 14:20:42 +11:00
2024-03-07 14:20:42 +11:00
2024-03-07 14:20:42 +11:00
2024-03-07 14:20:42 +11:00
2024-03-07 14:20:42 +11:00
2024-03-07 14:20:42 +11:00
2025-05-13 10:36:47 +10:00
2025-02-03 15:02:02 +11:00
2024-03-07 14:20:42 +11:00
2025-03-05 12:23:40 +11:00
2024-08-14 12:55:45 +10:00
2025-05-29 12:12:39 +10:00
2023-06-08 17:54:11 +10:00
2023-12-22 10:32:46 +11:00
2025-05-13 12:16:35 +10:00
2025-05-13 12:16:35 +10:00
2017-07-31 18:35:40 +10:00
2025-02-03 15:02:02 +11:00
2025-02-03 15:02:02 +11:00
2025-05-13 12:16:35 +10:00
2024-06-24 14:07:00 +10:00
2024-05-24 13:50:57 +10:00
2025-05-13 10:36:47 +10:00
2025-05-13 10:36:47 +10:00
2025-05-13 10:36:47 +10:00
2025-05-13 10:36:47 +10:00
2025-05-13 10:36:47 +10:00
2025-05-13 10:36:47 +10:00
2025-05-13 10:36:47 +10:00
2025-05-13 10:36:47 +10:00
2023-06-02 21:47:34 +10:00
2025-05-13 10:36:47 +10:00
2025-05-13 10:36:47 +10:00
2025-05-13 10:36:47 +10:00
2025-05-13 10:36:47 +10:00
2024-08-14 12:55:45 +10:00
2025-04-24 15:55:06 +02:00
2024-06-26 14:12:57 +10:00
2025-03-06 12:52:35 +11:00
2024-03-07 14:20:42 +11:00
2024-03-07 14:20:42 +11:00
2024-03-07 14:20:42 +11:00
2024-03-07 14:20:42 +11:00
2024-03-07 14:20:42 +11:00
2025-02-11 16:42:14 +11:00
2025-02-11 16:42:14 +11:00
2024-03-07 14:20:42 +11:00
2024-11-04 11:21:56 +11:00
2024-03-07 14:20:42 +11:00
2024-03-07 14:20:42 +11:00
2024-03-07 14:20:42 +11:00
2022-09-19 19:06:15 +10:00
2024-03-07 14:20:42 +11:00
2024-11-28 23:11:24 +11:00
2025-02-11 16:51:50 +11:00
2024-04-22 10:34:01 +10:00
2024-08-14 12:55:45 +10:00
2017-07-31 18:35:40 +10:00
2024-03-07 14:20:42 +11:00
2024-07-01 13:52:59 +10:00
2024-07-01 13:52:59 +10:00
2025-05-13 12:16:35 +10:00
2024-06-24 14:07:00 +10:00
2024-08-14 12:55:45 +10:00
2022-09-19 19:06:15 +10:00
2024-03-07 14:20:42 +11:00
2024-03-07 14:20:42 +11:00
2023-06-14 19:03:46 +10:00
2024-03-07 14:20:42 +11:00
2022-09-19 19:06:15 +10:00
2024-03-07 14:20:42 +11:00
2024-03-07 14:20:42 +11:00
2024-03-07 14:20:42 +11:00
2024-03-07 14:20:42 +11:00
2025-04-21 17:09:37 +10:00
2024-03-07 14:20:42 +11:00
2024-09-19 18:00:44 +10:00
2024-03-07 14:20:42 +11:00
2024-03-07 14:20:42 +11:00
2024-03-07 14:20:42 +11:00
2025-05-13 12:16:35 +10:00
2024-03-15 13:37:31 +11:00
2024-03-07 14:20:42 +11:00
2017-06-09 17:33:01 +03:00
2024-03-07 14:20:42 +11:00
2025-04-21 17:37:39 +10:00
2025-04-24 15:55:06 +02:00
2024-10-16 15:03:30 +11:00
2022-09-19 19:06:16 +10:00
2024-03-07 14:20:42 +11:00
2024-03-07 14:20:42 +11:00
2020-03-26 01:21:04 +11:00
2020-03-26 01:21:04 +11:00
2024-09-27 00:03:16 +10:00
2022-04-14 22:44:56 +10:00
2025-05-13 10:36:47 +10:00
2022-06-23 11:46:47 +10:00
2025-01-29 12:39:05 +11:00
2017-07-31 18:35:40 +10:00
2025-05-21 12:53:14 +10:00
2025-02-11 16:54:02 +11:00
2025-02-11 16:42:14 +11:00
2025-02-11 16:42:14 +11:00
2025-02-11 16:42:14 +11:00
2025-02-11 16:42:14 +11:00
2021-07-15 00:12:41 +10:00
2020-02-28 10:33:03 +11:00
2024-12-23 13:04:54 +11:00
2024-12-23 13:04:54 +11:00
2025-03-06 12:52:35 +11:00
2024-12-23 13:04:54 +11:00
2025-02-25 16:11:33 +11:00
2024-07-18 12:35:42 +10:00
2022-03-10 10:58:33 +11:00
2024-09-19 18:00:44 +10:00
2024-09-19 18:00:44 +10:00
2024-02-16 12:48:02 +11:00
2017-12-05 00:38:41 +02:00
2025-05-21 12:53:14 +10:00
2025-05-13 12:16:35 +10:00
2025-06-04 11:31:12 +10:00
2024-03-26 22:52:25 +11:00
2024-02-16 14:17:01 +11:00
2024-07-18 12:51:29 +10:00
2024-02-16 14:17:01 +11:00
2017-07-31 18:35:40 +10:00
2022-03-25 12:23:43 +11:00
2024-08-14 12:55:45 +10:00
2024-08-14 12:55:45 +10:00
2024-03-15 18:11:28 +11:00
2024-03-15 18:11:28 +11:00
2024-03-07 14:20:42 +11:00
2017-09-06 16:43:09 +10:00
2024-11-20 17:38:39 +11:00
2024-12-10 11:28:38 +11:00
2024-02-16 14:17:01 +11:00
2020-10-22 11:47:36 +02:00
2024-03-07 14:20:42 +11:00
2019-02-06 00:19:00 +11:00