]> granicus.if.org Git - clang/commitdiff
[AArch64] Refactor the NEON scalar floating-point reciprocal estimate, floating-
authorChad Rosier <mcrosier@codeaurora.org>
Wed, 11 Dec 2013 21:03:52 +0000 (21:03 +0000)
committerChad Rosier <mcrosier@codeaurora.org>
Wed, 11 Dec 2013 21:03:52 +0000 (21:03 +0000)
point reciprocal exponent, and floating-point reciprocal square root estimate
LLVM AArch64 intrinsics to use f32/f64 types, rather than their vector
equivalents.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197069 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/CGBuiltin.cpp

index 66e0133f539f628be841f911660e8156a4a865df..7cef28cb86d431c25d8f3a10c151c51cd4e3bc58 100644 (file)
@@ -2185,18 +2185,18 @@ static Value *EmitAArch64ScalarBuiltinExpr(CodeGenFunction &CGF,
   // Scalar Floating-point Reciprocal Estimate
   case AArch64::BI__builtin_neon_vrecpes_f32:
   case AArch64::BI__builtin_neon_vrecped_f64:
-    Int = Intrinsic::arm_neon_vrecpe;
-    s = "vrecpe"; IntTypes = VectorRet; break;
+    Int = Intrinsic::aarch64_neon_vrecpe;
+    s = "vrecpe"; IntTypes = ScalarRet; break;
   // Scalar Floating-point Reciprocal Exponent
   case AArch64::BI__builtin_neon_vrecpxs_f32:
   case AArch64::BI__builtin_neon_vrecpxd_f64:
     Int = Intrinsic::aarch64_neon_vrecpx;
-    s = "vrecpx"; IntTypes = VectorRet; break;
+    s = "vrecpx"; IntTypes = ScalarRet; break;
   // Scalar Floating-point Reciprocal Square Root Estimate
   case AArch64::BI__builtin_neon_vrsqrtes_f32:
   case AArch64::BI__builtin_neon_vrsqrted_f64:
-    Int = Intrinsic::arm_neon_vrsqrte;
-    s = "vrsqrte"; IntTypes = VectorRet; break;
+    Int = Intrinsic::aarch64_neon_vrsqrte;
+    s = "vrsqrte"; IntTypes = ScalarRet; break;
   // Scalar Compare Equal
   case AArch64::BI__builtin_neon_vceqd_s64:
   case AArch64::BI__builtin_neon_vceqd_u64: