diff options
| author | Cullen Rhodes <cullen.rhodes@arm.com> | 2019-05-21 08:59:00 +0000 |
|---|---|---|
| committer | Cullen Rhodes <cullen.rhodes@arm.com> | 2019-05-21 08:59:00 +0000 |
| commit | e798e8d9d26c6d366e5b0d514f7eb8e487130433 (patch) | |
| tree | 48333860d21fe6579bfa1c11b7b1216557b4e340 /llvm/lib/Target | |
| parent | ecf4c9e13cdcadf5eb74d0dcbe1f5b3d4ac5f73e (diff) | |
| download | bcm5719-llvm-e798e8d9d26c6d366e5b0d514f7eb8e487130433.tar.gz bcm5719-llvm-e798e8d9d26c6d366e5b0d514f7eb8e487130433.zip | |
[AArch64][SVE2] Asm: add integer pairwise arithmetic instructions
Summary:
Patch adds support for the following instructions:
ADDP, SMAXP, UMAXP, SMINP, UMINP
The specification can be found here:
https://developer.arm.com/docs/ddi0602/latest
Reviewed By: SjoerdMeijer
Differential Revision: https://reviews.llvm.org/D62128
llvm-svn: 361229
Diffstat (limited to 'llvm/lib/Target')
| -rw-r--r-- | llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td b/llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td index 8fc77b2b275..a51f968056d 100644 --- a/llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td +++ b/llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td @@ -1127,6 +1127,13 @@ let Predicates = [HasSVE2] in { defm SADALP_ZPmZ : sve2_int_sadd_long_accum_pairwise<0, "sadalp">; defm UADALP_ZPmZ : sve2_int_sadd_long_accum_pairwise<1, "uadalp">; + // SVE2 integer pairwise arithmetic + defm ADDP_ZPmZ : sve2_int_arith_pred<0b100011, "addp">; + defm SMAXP_ZPmZ : sve2_int_arith_pred<0b101001, "smaxp">; + defm UMAXP_ZPmZ : sve2_int_arith_pred<0b101011, "umaxp">; + defm SMINP_ZPmZ : sve2_int_arith_pred<0b101101, "sminp">; + defm UMINP_ZPmZ : sve2_int_arith_pred<0b101111, "uminp">; + // SVE2 integer multiply long defm SQDMULLB_ZZZ : sve2_wide_int_arith_long<0b11000, "sqdmullb">; defm SQDMULLT_ZZZ : sve2_wide_int_arith_long<0b11001, "sqdmullt">; |

