summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorCullen Rhodes <cullen.rhodes@arm.com>2019-05-20 10:29:48 +0000
committerCullen Rhodes <cullen.rhodes@arm.com>2019-05-20 10:29:48 +0000
commit0fc6347b35841575e82e3c0ff7a762ce92758a60 (patch)
tree7b0ed97a6432a9058b2e3d8dab320318ba67ae38 /llvm/lib
parent68774edcd65a310aadbaaffa7a63a416eef7cede (diff)
downloadbcm5719-llvm-0fc6347b35841575e82e3c0ff7a762ce92758a60.tar.gz
bcm5719-llvm-0fc6347b35841575e82e3c0ff7a762ce92758a60.zip
[AArch64][SVE2] Asm: add saturating multiply-add interleaved long instructions
Summary: Patch adds support for SQDMLALBT and SQDMLSLBT instructions. The specification can be found here: https://developer.arm.com/docs/ddi0602/latest Reviewed By: rovka Differential Revision: https://reviews.llvm.org/D61998 llvm-svn: 361135
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td4
1 files changed, 4 insertions, 0 deletions
diff --git a/llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td b/llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
index 5c0845cf7fd..03f6419bff9 100644
--- a/llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
+++ b/llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
@@ -1109,6 +1109,10 @@ let Predicates = [HasSVE2] in {
defm SQDMLSLB_ZZZ : sve2_int_mla_long<0b11010, "sqdmlslb">;
defm SQDMLSLT_ZZZ : sve2_int_mla_long<0b11011, "sqdmlslt">;
+ // SVE2 saturating multiply-add interleaved long
+ defm SQDMLALBT_ZZZ : sve2_int_mla_long<0b00010, "sqdmlalbt">;
+ defm SQDMLSLBT_ZZZ : sve2_int_mla_long<0b00011, "sqdmlslbt">;
+
// SVE2 integer multiply long
defm SQDMULLB_ZZZ : sve2_wide_int_arith_long<0b11000, "sqdmullb">;
defm SQDMULLT_ZZZ : sve2_wide_int_arith_long<0b11001, "sqdmullt">;
OpenPOWER on IntegriCloud