diff options
author | Craig Topper <craig.topper@intel.com> | 2018-12-10 06:07:59 +0000 |
---|---|---|
committer | Craig Topper <craig.topper@intel.com> | 2018-12-10 06:07:59 +0000 |
commit | 742fb35de6edfb6b605ef61810c96432d567787a (patch) | |
tree | 403fb0d25ff4bc3976743787ece3cc8f17e5b59a /clang/lib/CodeGen/CGBuiltin.cpp | |
parent | 1e4cce372e4eb02f257b5aa3ab19d0e127b315ce (diff) |
[X86] Remove the addcarry builtins. Leaving only the addcarryx builtins since that matches gcc.
The addcarry and addcarryx builtins do the same thing. The only difference is that addcarryx previously required adx feature.
This commit removes the adx feature check from addcarryx and removes the addcarry builtin. This matches the builtins that gcc has. We don't guarantee compatibility in builtins, but we generally try to be consistent if its not a burden.
Diffstat (limited to 'clang/lib/CodeGen/CGBuiltin.cpp')
-rw-r--r-- | clang/lib/CodeGen/CGBuiltin.cpp | 16 |
1 files changed, 4 insertions, 12 deletions
diff --git a/clang/lib/CodeGen/CGBuiltin.cpp b/clang/lib/CodeGen/CGBuiltin.cpp index cb15f19224e..847a9d32398 100644 --- a/clang/lib/CodeGen/CGBuiltin.cpp +++ b/clang/lib/CodeGen/CGBuiltin.cpp @@ -10930,30 +10930,22 @@ Value *CodeGenFunction::EmitX86BuiltinExpr(unsigned BuiltinID, } case X86::BI__builtin_ia32_addcarryx_u32: case X86::BI__builtin_ia32_addcarryx_u64: - case X86::BI__builtin_ia32_addcarry_u32: - case X86::BI__builtin_ia32_addcarry_u64: case X86::BI__builtin_ia32_subborrow_u32: case X86::BI__builtin_ia32_subborrow_u64: { Intrinsic::ID IID; switch (BuiltinID) { default: llvm_unreachable("Unsupported intrinsic!"); case X86::BI__builtin_ia32_addcarryx_u32: - IID = Intrinsic::x86_addcarryx_u32; + IID = Intrinsic::x86_addcarry_32; break; case X86::BI__builtin_ia32_addcarryx_u64: - IID = Intrinsic::x86_addcarryx_u64; - break; - case X86::BI__builtin_ia32_addcarry_u32: - IID = Intrinsic::x86_addcarry_u32; - break; - case X86::BI__builtin_ia32_addcarry_u64: - IID = Intrinsic::x86_addcarry_u64; + IID = Intrinsic::x86_addcarry_64; break; case X86::BI__builtin_ia32_subborrow_u32: - IID = Intrinsic::x86_subborrow_u32; + IID = Intrinsic::x86_subborrow_32; break; case X86::BI__builtin_ia32_subborrow_u64: - IID = Intrinsic::x86_subborrow_u64; + IID = Intrinsic::x86_subborrow_64; break; } |