Skip to content

Commit f0458c9

Browse files
committed
Add alpha support for 9.7 shift right narrow intrinsics
This change adds support for new svqshrn, svqshrun operations under FEAT_SVE2p3 and FEAT_SME2p3.
1 parent 6365c01 commit f0458c9

1 file changed

Lines changed: 22 additions & 0 deletions

File tree

main/acle.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -501,6 +501,8 @@ Armv8.4-A [[ARMARMv84]](#ARMARMv84). Support is added for the Dot Product intrin
501501
* Added [**Alpha**](#current-status-and-anticipated-changes)
502502
support for SVE2.3 (FEAT_SVE2p3) and SME2.3 absolute difference accumulation
503503
intrinsics.
504+
* Added [**Alpha**](#current-status-and-anticipated-changes)
505+
support for SVE2.3 (FEAT_SVE2p3) and SME2.3 shift right narrow intrinsics.
504506

505507
### References
506508

@@ -13640,6 +13642,7 @@ Multi-vector saturating rounding shift right narrow and interleave
1364013642

1364113643
``` c
1364213644
// Variants are also available for _u16[_u32_x2]
13645+
// and also _s8[_s16_x2] and _u8[_u16_x2] if __ARM_FEATURE_SVE2p3 || __ARM_FEATURE_SME2p3.
1364313646
svint16_t svqrshrn[_n]_s16[_s32_x2](svint32x2_t zn, uint64_t imm);
1364413647
```
1364513648

@@ -13648,6 +13651,7 @@ Multi-vector saturating rounding shift right narrow and interleave
1364813651
Multi-vector saturating rounding shift right unsigned narrow and interleave
1364913652

1365013653
``` c
13654+
// Variant for _u8[_u16_x2] is available if __ARM_FEATURE_SVE2p3 || __ARM_FEATURE_SME2p3.
1365113655
svuint16_t svqrshrun[_n]_u16[_s32_x2](svint32x2_t zn, uint64_t imm);
1365213656
```
1365313657

@@ -14022,6 +14026,24 @@ Integer convert to floating-point (top and bottom).
1402214026
svfloat16_t svcvtb_f16[_s8](svint8_t zn);
1402314027
```
1402414028

14029+
#### SQSHRN, UQSHRN
14030+
14031+
Multi-vector saturating shift right narrow and interleave.
14032+
14033+
``` c
14034+
// Variants are also available for _s8[_s16_x2], _u16[_u32_x2] and _u8[_u16_x2].
14035+
svint16_t svqshrn[_n]_s16[_s32_x2](svint32x2_t zn, uint64_t imm);
14036+
```
14037+
14038+
#### SQSHRUN
14039+
14040+
Signed saturating shift right narrow by immediate to interleaved unsigned integer.
14041+
14042+
``` c
14043+
// Variant for _u8[_s16_x2] is also available.
14044+
svuint16_t svqshrun[_n]_u16[_s32_x2](svint32x2_t zn, uint64_t imm);
14045+
```
14046+
1402514047
#### SUBP
1402614048

1402714049
Subtract pairwise.

0 commit comments

Comments
 (0)