Bram Speeckaert
c349875cdc
JitArm64: MultiplyImmediate - Handle 2^n + 1
...
By taking advantage of ARM64's ability to shift an input register by any
amount, we can calculate multiplication by a number that is one more
than a power of two with a single instruction.
Before:
0x52800838 mov w24, #0x41
0x1b187f7b mul w27, w27, w24
After:
0x0b1b1b7b add w27, w27, w27, lsl #6
2022-11-02 21:52:44 +01:00
..
2022-10-22 13:35:49 +02:00
2022-10-26 16:23:13 -07:00
2022-09-24 20:28:09 +02:00
2022-03-17 12:53:38 -07:00
2022-06-30 15:26:48 -05:00
2022-10-22 13:36:16 -07:00
2022-07-30 14:06:28 +02:00
2022-10-24 01:43:22 -04:00
2022-10-22 13:36:55 +02:00
2022-11-02 21:52:44 +01:00
2021-10-24 11:48:36 -07:00
2021-10-13 12:32:16 -07:00
2022-01-16 17:00:12 -08:00
2022-09-20 01:37:32 +02:00
2022-01-06 16:13:54 +01:00
2021-12-10 14:49:57 -08:00
2021-09-15 19:05:48 +02:00
2021-10-28 02:16:19 +02:00
2021-10-28 06:50:57 +02:00
2022-10-22 13:35:49 +02:00
2022-06-05 21:24:45 +02:00
2022-06-05 21:24:45 +02:00
2022-10-02 23:22:02 +02:00
2022-08-02 22:24:06 -07:00
2022-05-25 13:06:41 -07:00
2021-12-25 23:40:26 +01:00
2022-08-02 22:24:06 -07:00
2022-05-18 14:43:14 -07:00
2022-07-13 15:23:00 -07:00
2021-10-08 18:16:32 -05:00
2021-08-11 18:07:43 +02:00
2022-07-25 18:40:12 -07:00
2021-09-16 18:48:39 +02:00
2022-08-06 07:32:29 +01:00
2022-08-07 12:20:09 -05:00
2022-08-07 12:20:09 -05:00
2022-06-08 15:29:11 -07:00
2022-06-08 15:29:11 -07:00
2021-11-06 21:46:35 +00:00
2021-12-10 14:49:57 -08:00
2021-12-10 14:49:57 -08:00
2022-06-12 00:19:09 -04:00
2022-05-19 12:26:41 -07:00
2022-10-03 22:04:09 +02:00
2022-10-03 22:04:09 +02:00
2022-10-09 02:25:28 +02:00
2022-10-02 23:25:15 +02:00
2021-12-15 18:57:10 +01:00
2022-08-09 16:26:52 -06:00
2022-10-02 23:25:15 +02:00
2022-10-09 02:25:28 +02:00
2022-08-22 15:57:49 +02:00
2022-07-12 13:35:49 +04:00
2022-07-12 13:35:49 +04:00
2021-08-28 19:31:27 +02:00
2021-08-28 19:31:27 +02:00
2022-10-22 20:13:24 -05:00
2022-10-02 00:00:29 +02:00
2022-08-09 16:26:53 -06:00
2022-10-13 04:28:17 +02:00
2022-10-13 04:28:17 +02:00
2022-07-25 18:40:12 -07:00
2022-09-20 01:37:32 +02:00
2021-11-22 01:33:45 +01:00
2022-05-05 15:21:02 -04:00
2022-01-21 17:16:23 -05:00