about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2015-08-22 14:28:36 +0000
committerbors <bors@rust-lang.org>2015-08-22 14:28:36 +0000
commitbc4df4ca3fdcc24f0fc09f8df63024752f57a8b0 (patch)
tree710f07d7039b8838f8a0a7899da19f457b79ab8d /src
parent5e5b99f47f4d96d2e3fabd05dc5a128a41245187 (diff)
parentf5787357506202644f6ea85d8c58483fb4a04de0 (diff)
downloadrust-bc4df4ca3fdcc24f0fc09f8df63024752f57a8b0.tar.gz
rust-bc4df4ca3fdcc24f0fc09f8df63024752f57a8b0.zip
Auto merge of #27907 - huonw:simd, r=alexcrichton
The definitions of the rsqrte and recpe had typos, and vqtbl1q is useful
for a benchmark (fannkuch-redux).
Diffstat (limited to 'src')
-rw-r--r--src/librustc_platform_intrinsics/aarch64.rs11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/librustc_platform_intrinsics/aarch64.rs b/src/librustc_platform_intrinsics/aarch64.rs
index e7b11e45fd6..4f311a47807 100644
--- a/src/librustc_platform_intrinsics/aarch64.rs
+++ b/src/librustc_platform_intrinsics/aarch64.rs
@@ -36,16 +36,19 @@ pub fn find<'tcx>(_tcx: &ty::ctxt<'tcx>, name: &str) -> Option<Intrinsic> {
         "vsqrtq_f32" => plain!("llvm.sqrt.v4f32", (f32x4) -> f32x4),
         "vsqrtq_f64" => plain!("llvm.sqrt.v2f64", (f64x2) -> f64x2),
 
-        "vrsqrteq_f32" => p!("vrsqrte.v4f32", (f32x4) -> f32x4),
-        "vrsqrteq_f64" => p!("vrsqrte.v2f64", (f64x2) -> f64x2),
-        "vrecpeq_f32" => p!("vrecpe.v4f32", (f32x4) -> f32x4),
-        "vrecpeq_f64" => p!("vrecpe.v2f64", (f64x2) -> f64x2),
+        "vrsqrteq_f32" => p!("frsqrte.v4f32", (f32x4) -> f32x4),
+        "vrsqrteq_f64" => p!("frsqrte.v2f64", (f64x2) -> f64x2),
+        "vrecpeq_f32" => p!("frecpe.v4f32", (f32x4) -> f32x4),
+        "vrecpeq_f64" => p!("frecpe.v2f64", (f64x2) -> f64x2),
 
         "vmaxq_f32" => p!("fmax.v4f32", (f32x4, f32x4) -> f32x4),
         "vmaxq_f64" => p!("fmax.v2f64", (f64x2, f64x2) -> f64x2),
 
         "vminq_f32" => p!("fmin.v4f32", (f32x4, f32x4) -> f32x4),
         "vminq_f64" => p!("fmin.v2f64", (f64x2, f64x2) -> f64x2),
+
+        "vqtbl1q_u8" => p!("tbl1.v16i8", (i8x16, i8x16) -> i8x16),
+        "vqtbl1q_s8" => p!("tbl1.v16i8", (i8x16, i8x16) -> i8x16),
         _ => return None,
     })
 }