forked from OSchip/llvm-project
Stop using clang builtins for Neon vaba intrinsics.
llvm-svn: 121277
This commit is contained in:
parent
194ad82666
commit
7d66df9c33
|
@ -62,6 +62,7 @@ def OP_REV64 : Op;
|
|||
def OP_REV32 : Op;
|
||||
def OP_REV16 : Op;
|
||||
def OP_REINT : Op;
|
||||
def OP_ABA : Op;
|
||||
|
||||
class Inst <string n, string p, string t, Op o> {
|
||||
string Name = n;
|
||||
|
@ -167,7 +168,7 @@ def VTST : WInst<"vtst", "udd", "csiUcUsUiPcQcQsQiQUcQUsQUiQPc">;
|
|||
// E.3.5 Absolute Difference
|
||||
def VABD : SInst<"vabd", "ddd", "csiUcUsUifQcQsQiQUcQUsQUiQf">;
|
||||
def VABDL : SInst<"vabdl", "wdd", "csiUcUsUi">;
|
||||
def VABA : SInst<"vaba", "dddd", "csiUcUsUiQcQsQiQUcQUsQUi">;
|
||||
def VABA : Inst<"vaba", "dddd", "csiUcUsUiQcQsQiQUcQUsQUi", OP_ABA>;
|
||||
def VABAL : SInst<"vabal", "wwdd", "csiUcUsUi">;
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
|
|
@ -1181,16 +1181,6 @@ Value *CodeGenFunction::EmitARMBuiltinExpr(unsigned BuiltinID,
|
|||
unsigned Int;
|
||||
switch (BuiltinID) {
|
||||
default: return 0;
|
||||
case ARM::BI__builtin_neon_vaba_v:
|
||||
case ARM::BI__builtin_neon_vabaq_v: {
|
||||
Ops[0] = Builder.CreateBitCast(Ops[0], Ty);
|
||||
SmallVector<Value*, 2> Args;
|
||||
Args.push_back(Ops[1]);
|
||||
Args.push_back(Ops[2]);
|
||||
Int = usgn ? Intrinsic::arm_neon_vabdu : Intrinsic::arm_neon_vabds;
|
||||
Ops[1] = EmitNeonCall(CGM.getIntrinsic(Int, &Ty, 1), Args, "vaba");
|
||||
return Builder.CreateAdd(Ops[0], Ops[1], "vaba");
|
||||
}
|
||||
case ARM::BI__builtin_neon_vabal_v: {
|
||||
Ops[0] = Builder.CreateBitCast(Ops[0], Ty);
|
||||
SmallVector<Value*, 2> Args;
|
||||
|
|
Loading…
Reference in New Issue