[all-commits] [llvm/llvm-project] 0bfc26: [SVE][AArch64] Improve code generation for vector_...
CarolineConcatto via All-commits
all-commits at lists.llvm.org
Mon Jul 26 03:46:10 PDT 2021
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 0bfc26e3a4bf291f1d64610fe422c82789d752bc
https://github.com/llvm/llvm-project/commit/0bfc26e3a4bf291f1d64610fe422c82789d752bc
Author: Caroline Concatto <caroline.concatto at arm.com>
Date: 2021-07-26 (Mon, 26 Jul 2021)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/SVEInstrFormats.td
M llvm/test/CodeGen/AArch64/named-vector-shuffles-sve.ll
Log Message:
-----------
[SVE][AArch64] Improve code generation for vector_splice for Imm > 0
This patch implements vector_splice in tablegen for all cases when the
Immediate is positive and lower than the known minimum value of
a scalable vector.
Vector_splice can be implemented using SVE instruction EXT.
For instance :
@llvm.experimental.vector.splice(Vector_1, Vector_2, Imm)
@llvm.experimental.vector.splice(<A,B,C,D>, <E,F,G,H>, 1) ==> <B, C, D, E>
EXT Vector_1, Vector_2, Imm // Vector_1 = B, C, D + Vector_2 = E
Depends on D105633
Differential Revision: https://reviews.llvm.org/D106273
More information about the All-commits
mailing list