hev
53393e26d5
[LoongArch] Prevent R0/R1 allocation for rj operand of [G]CSRXCHG ( #140862 )
...
The `[G]CSRXCHG` instruction must not use R0 or R1 as the `rj` operand,
as encoding `rj` as 0 or 1 will be interpreted as `[G]CSRRD` OR
`[G]CSRWR`, respectively, rather than `[G]CSRXCHG`.
This patch introduces a new register class `GPRNoR0R1` and updates the
`[G]CSRXCHG` instruction definition to use it for the `rj` operand,
ensuring the register allocator avoids assigning R0 or R1.
Fixes #140842
(cherry picked from commit bd8578c3574d77bc1231f047bced4a0053a1b000)
2025-05-23 21:11:35 -07:00
..
2025-01-23 12:11:07 +08:00
2025-05-16 16:43:08 -07:00
2025-01-22 17:27:52 +08:00
2024-05-14 20:23:04 +08:00
2024-05-14 20:23:04 +08:00
2024-06-03 13:23:35 +08:00
2024-05-14 20:23:04 +08:00
2024-07-22 15:10:21 +08:00
2024-10-16 11:58:00 +08:00
2024-09-06 16:19:20 +01:00
2024-06-03 13:23:35 +08:00
2024-05-14 20:23:04 +08:00
2024-08-08 23:05:38 +08:00
2024-05-14 20:23:04 +08:00
2024-05-14 20:23:04 +08:00
2024-05-14 20:23:04 +08:00
2024-05-14 20:23:04 +08:00
2024-05-14 20:23:04 +08:00
2024-05-14 20:23:04 +08:00
2024-05-14 20:23:04 +08:00
2024-05-14 20:23:04 +08:00
2024-05-14 20:23:04 +08:00
2024-05-14 20:23:04 +08:00
2024-05-14 20:23:04 +08:00
2024-05-14 20:23:04 +08:00
2024-10-31 15:58:15 +08:00
2024-10-31 15:58:15 +08:00
2024-10-31 15:58:15 +08:00
2024-08-19 15:23:05 +08:00
2024-03-05 09:15:44 +08:00
2024-11-21 16:52:38 +08:00
2024-05-14 20:23:04 +08:00
2024-07-23 15:14:20 +08:00
2025-05-23 21:11:35 -07:00
2024-10-31 15:58:15 +08:00
2024-09-06 15:46:43 +08:00
2024-10-31 15:58:15 +08:00
2024-11-06 17:34:13 +08:00
2024-05-14 20:23:04 +08:00
2024-05-14 20:23:04 +08:00
2024-11-11 16:46:22 +08:00
2024-05-14 20:23:04 +08:00
2024-05-14 20:23:04 +08:00
2024-06-12 17:41:26 +08:00
2024-05-14 20:23:04 +08:00
2024-11-21 16:52:38 +08:00
2024-07-30 14:22:53 +08:00
2024-03-05 09:15:44 +08:00
2024-10-31 15:58:15 +08:00
2024-08-09 14:08:32 +08:00
2024-08-08 23:05:38 +08:00
2024-11-06 17:34:13 +08:00
2024-12-05 10:46:23 +08:00
2024-08-15 14:09:36 +08:00
2024-11-06 09:26:28 +08:00
2024-10-31 15:58:15 +08:00
2024-05-14 20:23:04 +08:00
2024-10-31 15:58:15 +08:00
2024-05-14 20:23:04 +08:00
2024-05-14 20:23:04 +08:00
2024-05-14 20:23:04 +08:00
2024-05-14 20:23:04 +08:00
2024-10-31 15:58:15 +08:00
2024-08-08 23:05:38 +08:00
2024-08-08 23:05:38 +08:00
2024-08-08 23:05:38 +08:00
2024-08-30 16:38:42 +08:00
2024-10-31 15:58:15 +08:00
2024-08-08 23:05:38 +08:00
2024-05-14 20:23:04 +08:00
2024-08-08 23:05:38 +08:00
2024-05-14 20:23:04 +08:00
2024-05-14 20:23:04 +08:00
2024-05-14 20:23:04 +08:00
2024-05-14 20:23:04 +08:00
2024-05-14 20:23:04 +08:00
2024-05-14 20:23:04 +08:00
2024-05-14 20:23:04 +08:00
2024-10-31 15:58:15 +08:00
2024-01-23 14:24:58 +08:00
2024-01-23 14:24:58 +08:00
2024-05-14 20:23:04 +08:00
2024-05-14 20:23:04 +08:00
2024-05-14 20:23:04 +08:00
2024-05-14 20:23:04 +08:00
2024-06-07 15:39:05 +08:00
2024-10-31 15:58:15 +08:00
2024-05-14 20:23:04 +08:00
2024-06-07 15:39:05 +08:00
2025-01-10 09:05:06 +01:00
2024-06-12 22:02:47 +08:00
2024-05-14 20:23:04 +08:00
2024-05-14 20:23:04 +08:00
2024-05-14 20:23:04 +08:00
2024-05-14 20:23:04 +08:00
2024-05-17 09:13:51 +08:00
2025-01-20 10:00:05 +08:00
2024-05-14 20:23:04 +08:00
2024-12-30 16:01:46 +08:00
2024-05-14 20:23:04 +08:00
2024-10-23 19:43:23 +08:00
2024-11-06 19:30:57 +08:00
2025-01-20 10:00:05 +08:00
2025-01-20 10:00:05 +08:00
2024-10-18 09:35:42 +04:00
2024-05-14 20:23:04 +08:00
2024-05-14 20:23:04 +08:00
2024-05-14 20:23:04 +08:00
2024-08-29 17:53:32 +01:00
2025-01-22 13:15:40 +07:00
2024-05-14 20:23:04 +08:00
2024-05-14 20:23:04 +08:00
2024-05-14 20:23:04 +08:00
2025-04-25 16:25:42 -07:00
2025-01-20 16:11:09 +08:00
2025-01-03 16:43:39 +08:00
2024-06-12 22:02:47 +08:00
2024-05-14 20:23:04 +08:00
2024-07-30 14:22:24 +08:00
2024-07-16 20:56:18 +01:00
2024-05-14 20:23:04 +08:00
2024-06-03 13:23:35 +08:00
2024-05-14 20:23:04 +08:00
2024-12-16 13:39:01 +08:00
2024-05-14 20:23:04 +08:00
2024-05-14 20:23:04 +08:00
2025-01-23 12:49:35 -08:00
2024-10-31 15:58:15 +08:00
2024-05-14 20:23:04 +08:00
2024-03-05 09:15:44 +08:00
2024-05-14 20:23:04 +08:00
2024-05-14 20:23:04 +08:00
2024-05-14 20:23:04 +08:00
2024-10-31 15:58:15 +08:00
2024-10-31 15:58:15 +08:00
2024-05-14 20:23:04 +08:00
2024-10-31 15:58:15 +08:00
2024-10-31 15:58:15 +08:00
2024-10-31 15:58:15 +08:00
2024-05-16 16:54:18 +08:00
2024-05-14 20:23:04 +08:00
2024-05-14 20:23:04 +08:00
2024-12-30 16:01:46 +08:00
2024-05-14 20:23:04 +08:00
2024-07-17 12:21:44 +08:00
2024-07-31 17:18:27 -07:00
2024-05-14 20:23:04 +08:00
2024-08-02 11:28:03 +08:00
2024-10-31 15:58:15 +08:00
2025-01-22 17:27:52 +08:00
2024-05-14 20:23:04 +08:00
2024-05-14 20:23:04 +08:00