Stop using clang builtins for Neon vaba intrinsics.

llvm-svn: 121277
This commit is contained in:
Bob Wilson 2010-12-08 20:09:54 +00:00
parent 194ad82666
commit 7d66df9c33
2 changed files with 2 additions and 11 deletions

View File

@ -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">;
////////////////////////////////////////////////////////////////////////////////

View File

@ -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;