Skip to content

Commit

Permalink
[AArch64][SME2] Add multi-vector SEL (x2, x4) ACLE builtins & intrins…
Browse files Browse the repository at this point in the history
…ics (llvm#73188)

Add multi-vector SEL (x2, x4) ACLE builtins & intrinsics
Patch by: David Sherwood <david.sherwood@arm.com>
  • Loading branch information
dtemirbulatov authored Nov 30, 2023
1 parent 3ef98bc commit 0ef013c
Show file tree
Hide file tree
Showing 3 changed files with 964 additions and 0 deletions.
4 changes: 4 additions & 0 deletions clang/include/clang/Basic/arm_sve.td
Original file line number Diff line number Diff line change
Expand Up @@ -2115,6 +2115,10 @@ let TargetGuard = "sme2" in {
// == ADD (vectors) ==
def SVADD_SINGLE_X2 : SInst<"svadd[_single_{d}_x2]", "22d", "cUcsUsiUilUl", MergeNone, "aarch64_sve_add_single_x2", [IsStreaming], []>;
def SVADD_SINGLE_X4 : SInst<"svadd[_single_{d}_x4]", "44d", "cUcsUsiUilUl", MergeNone, "aarch64_sve_add_single_x4", [IsStreaming], []>;

// 2-way and 4-way selects
def SVSEL_X2 : SInst<"svsel[_{d}_x2]", "2}22", "cUcsUsiUilUlbhfd", MergeNone, "aarch64_sve_sel_x2", [IsStreaming], []>;
def SVSEL_X4 : SInst<"svsel[_{d}_x4]", "4}44", "cUcsUsiUilUlbhfd", MergeNone, "aarch64_sve_sel_x4", [IsStreaming], []>;
}

let TargetGuard = "sve2p1" in {
Expand Down
Loading

0 comments on commit 0ef013c

Please sign in to comment.