diff options
| author | Chad Rosier <mcrosier@codeaurora.org> | 2013-12-10 21:34:17 +0000 |
|---|---|---|
| committer | Chad Rosier <mcrosier@codeaurora.org> | 2013-12-10 21:34:17 +0000 |
| commit | 11a78c86e13540d7870c5cb9d7e6c7cab61c792b (patch) | |
| tree | 1d9bb35ad26f3b2f95bbb2d120a4db05d1bf7865 /clang/lib/CodeGen/CGBuiltin.cpp | |
| parent | f70af21651e2f8ec7bb8c9b3cf0c36aceb05e5fc (diff) | |
| download | bcm5719-llvm-11a78c86e13540d7870c5cb9d7e6c7cab61c792b.tar.gz bcm5719-llvm-11a78c86e13540d7870c5cb9d7e6c7cab61c792b.zip | |
[AArch64] Overload NEON signed/unsigned integer convert to floating-point
LLVM AArch64 intrinsics.
llvm-svn: 196966
Diffstat (limited to 'clang/lib/CodeGen/CGBuiltin.cpp')
| -rw-r--r-- | clang/lib/CodeGen/CGBuiltin.cpp | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/clang/lib/CodeGen/CGBuiltin.cpp b/clang/lib/CodeGen/CGBuiltin.cpp index 0081b27d6fa..97fe987d53e 100644 --- a/clang/lib/CodeGen/CGBuiltin.cpp +++ b/clang/lib/CodeGen/CGBuiltin.cpp @@ -2129,18 +2129,14 @@ static Value *EmitAArch64ScalarBuiltinExpr(CodeGenFunction &CGF, s = "vrsqrts"; IntTypes = VectorRet; break; // Scalar Signed Integer Convert To Floating-point case AArch64::BI__builtin_neon_vcvts_f32_s32: - Int = Intrinsic::aarch64_neon_vcvtf32_s32, - s = "vcvtf"; break; case AArch64::BI__builtin_neon_vcvtd_f64_s64: - Int = Intrinsic::aarch64_neon_vcvtf64_s64, - s = "vcvtf"; break; + Int = Intrinsic::aarch64_neon_vcvtint2fps; + s = "vcvtf"; IntTypes = ScalarRet | VectorGetArg0; break; // Scalar Unsigned Integer Convert To Floating-point case AArch64::BI__builtin_neon_vcvts_f32_u32: - Int = Intrinsic::aarch64_neon_vcvtf32_u32, - s = "vcvtf"; break; case AArch64::BI__builtin_neon_vcvtd_f64_u64: - Int = Intrinsic::aarch64_neon_vcvtf64_u64, - s = "vcvtf"; break; + Int = Intrinsic::aarch64_neon_vcvtint2fpu; + s = "vcvtf"; IntTypes = ScalarRet | VectorGetArg0; break; // Scalar Floating-point Converts case AArch64::BI__builtin_neon_vcvtxd_f32_f64: Int = Intrinsic::aarch64_neon_fcvtxn; |

