Sander de Smalen
8e7f073eb4
[Clang][AArch64] Change SME attributes for shared/new/preserved state. ( #76971 )
...
This patch replaces the `__arm_new_za`, `__arm_shared_za` and
`__arm_preserves_za` attributes in favour of:
* `__arm_new("za")`
* `__arm_in("za")`
* `__arm_out("za")`
* `__arm_inout("za")`
* `__arm_preserves("za")`
As described in https://github.com/ARM-software/acle/pull/276 .
One change is that `__arm_in/out/inout/preserves(S)` are all mutually
exclusive, whereas previously it was fine to write `__arm_shared_za
__arm_preserves_za`. This case is now represented with `__arm_in("za")`.
The current implementation uses the same LLVM attributes under the hood,
since `__arm_in/out/inout` are all variations of "shared ZA", so can use
the existing `aarch64_pstate_za_shared` attribute in LLVM.
#77941 will add support for the new "zt0" state as introduced
with SME2.
2024-01-15 09:41:32 +00:00
..
2023-03-28 17:12:49 -04:00
2023-02-16 17:58:35 -08:00
2023-08-28 12:13:42 -04:00
2023-08-28 12:13:42 -04:00
2023-08-30 11:46:54 +03:00
2023-08-30 11:46:54 +03:00
2023-08-30 11:46:54 +03:00
2023-06-02 08:11:18 -07:00
2023-08-28 12:13:42 -04:00
2023-06-05 14:56:58 +02:00
2023-06-05 14:56:58 +02:00
2023-11-07 08:27:41 -05:00
2023-11-07 08:27:41 -05:00
2024-01-15 09:41:32 +00:00
2024-01-15 09:41:32 +00:00
2023-08-15 14:13:13 +02:00
2023-07-22 09:34:15 -07:00
2023-10-05 12:16:00 -04:00
2023-08-11 08:42:01 -04:00
2023-08-11 08:42:01 -04:00
2023-08-11 08:42:01 -04:00
2022-09-28 13:27:52 -04:00
2023-08-28 12:13:42 -04:00
2023-08-28 12:13:42 -04:00
2023-11-07 08:27:41 -05:00
2023-06-07 10:31:11 +02:00
2024-01-15 09:41:32 +00:00
2023-05-04 19:19:52 +02:00
2023-08-22 18:10:41 -07:00
2023-06-29 15:42:18 -07:00
2023-05-04 19:19:52 +02:00
2023-05-20 13:22:58 +02:00
2023-08-08 08:00:02 +05:30
2023-11-29 21:03:32 -08:00
2023-04-10 17:33:09 +02:00
2023-08-29 11:28:57 -07:00
2023-05-20 13:22:58 +02:00
2023-05-04 19:19:52 +02:00
2023-05-04 19:19:52 +02:00
2023-05-04 19:19:52 +02:00
2023-12-12 07:30:23 +01:00
2023-05-04 19:19:52 +02:00
2023-07-03 06:07:04 -04:00
2023-08-22 18:10:41 -07:00
2023-02-23 14:40:58 +08:00
2022-09-28 08:50:27 -07:00
2023-03-28 17:12:49 -04:00
2023-05-20 13:22:58 +02:00
2023-08-15 14:13:13 +02:00
2023-05-04 19:19:52 +02:00
2023-08-28 12:13:42 -04:00
2023-08-28 12:13:42 -04:00
2024-01-04 21:04:54 +01:00
2023-08-28 12:13:42 -04:00
2023-04-25 23:08:30 +02:00
2023-02-16 14:05:16 +08:00
2023-05-15 07:39:58 -04:00
2023-08-28 12:13:42 -04:00
2023-05-15 07:39:58 -04:00
2023-03-30 16:30:23 +02:00
2023-08-28 12:13:42 -04:00
2023-01-18 12:41:44 +01:00
2023-08-28 12:13:42 -04:00
2022-10-14 10:55:29 -04:00
2023-06-05 11:09:58 -04:00
2023-06-05 11:35:03 -04:00
2024-01-10 08:49:36 +08:00
2024-01-10 08:49:36 +08:00
2023-09-19 04:02:04 +02:00
2023-09-12 11:06:06 -07:00
2023-08-28 12:13:42 -04:00
2022-11-04 07:33:31 +00:00
2023-03-20 12:48:45 -05:00
2023-08-28 12:13:42 -04:00
2023-08-15 14:13:13 +02:00
2023-08-28 12:13:42 -04:00
2023-08-03 12:58:48 +08:00
2023-08-28 12:13:42 -04:00
2023-08-28 12:13:42 -04:00
2023-08-03 12:58:48 +08:00
2023-08-28 12:13:42 -04:00
2022-10-10 15:45:02 -04:00
2023-08-30 11:46:54 +03:00
2023-08-28 12:13:42 -04:00
2023-07-22 09:34:15 -07:00
2023-08-28 12:13:42 -04:00
2023-08-28 12:13:42 -04:00
2023-08-18 16:27:57 +02:00
2023-08-28 12:13:42 -04:00
2023-06-07 10:31:11 +02:00
2023-08-28 12:13:42 -04:00
2023-08-28 12:13:42 -04:00
2023-08-28 12:13:42 -04:00
2023-08-28 12:13:42 -04:00
2023-10-20 13:10:03 -04:00
2023-08-28 12:13:42 -04:00
2022-10-20 09:29:09 -07:00
2023-09-27 18:58:01 +02:00
2023-11-28 23:38:50 +09:00
2022-11-21 16:02:54 +00:00
2023-11-28 23:38:50 +09:00
2023-10-20 13:10:03 -04:00
2023-08-28 12:13:42 -04:00
2023-01-18 12:41:44 +01:00
2023-08-28 12:13:42 -04:00
2022-10-10 15:53:48 -04:00
2023-08-11 08:42:01 -04:00
2023-06-27 01:15:45 +03:00
2023-06-27 01:15:45 +03:00
2023-06-27 01:15:45 +03:00
2023-08-28 12:13:42 -04:00
2023-08-28 12:13:42 -04:00
2023-03-17 18:31:44 +01:00