Ricardo Jesus
15fbdc2b96
[AArch64][SVE] Lower unpredicated loads/stores as LDR/STR. ( #127837 )
...
Currently, given:
```cpp
svuint8_t foo(uint8_t *x) {
return svld1(svptrue_b8(), x);
}
```
We generate:
```gas
foo:
ptrue p0.b
ld1b { z0.b }, p0/z, [x0]
ret
```
However, on little-endian and with unaligned memory accesses allowed, we
could instead be using LDR as follows:
```gas
foo:
ldr z0, [x0]
ret
```
The second form avoids the predicate dependency.
Likewise for other types and stores.
2025-02-26 13:56:35 +00:00
..
2025-02-26 13:56:35 +00:00
2024-11-21 08:06:56 +00:00
2025-02-01 20:40:50 +03:00
2025-01-07 18:24:50 -08:00
2024-11-21 08:06:56 +00:00
2024-08-17 18:34:23 -07:00
2024-11-21 08:06:56 +00:00
2024-09-09 16:14:51 +03:00
2025-01-29 16:56:47 +01:00
2024-11-21 08:06:56 +00:00
2024-11-21 08:06:56 +00:00
2024-11-21 08:06:56 +00:00
2025-01-29 16:56:47 +01:00
2025-01-29 16:56:47 +01:00
2024-11-21 08:06:56 +00:00
2024-06-14 15:07:27 +01:00
2024-06-14 15:07:27 +01:00
2024-06-14 15:07:27 +01:00
2024-06-14 15:07:27 +01:00
2024-06-14 15:07:27 +01:00
2024-06-14 15:07:27 +01:00
2024-06-14 15:07:27 +01:00
2024-06-14 15:07:27 +01:00
2024-06-14 15:07:27 +01:00
2024-10-03 11:47:08 +01:00
2024-11-21 08:06:56 +00:00
2024-09-09 16:14:51 +03:00
2024-11-21 08:06:56 +00:00
2024-11-21 08:06:56 +00:00
2024-11-21 08:06:56 +00:00
2024-08-17 18:34:23 -07:00
2024-11-11 12:36:29 +01:00
2024-08-17 18:34:23 -07:00
2024-11-21 08:06:56 +00:00
2024-10-02 11:45:00 +02:00
2024-06-20 08:59:29 +02:00
2024-11-21 08:06:56 +00:00
2024-11-21 08:06:56 +00:00
2024-06-14 15:07:27 +01:00
2024-06-14 15:07:27 +01:00
2024-06-14 15:07:27 +01:00
2024-09-06 19:54:26 -07:00
2024-11-21 08:06:56 +00:00
2024-11-21 08:06:56 +00:00
2024-11-21 08:06:56 +00:00
2024-11-21 08:06:56 +00:00
2025-01-29 16:56:47 +01:00
2024-11-21 08:06:56 +00:00
2024-11-21 08:06:56 +00:00