]> git.lizzy.rs Git - rust.git/commitdiff
Add most SSE3 intrinsics.
authorHuon Wilson <dbau.pp+github@gmail.com>
Tue, 11 Aug 2015 00:24:15 +0000 (17:24 -0700)
committerHuon Wilson <dbau.pp+github@gmail.com>
Mon, 17 Aug 2015 21:41:39 +0000 (14:41 -0700)
src/librustc_platform_intrinsics/x86.rs

index bc4428d2cb50dfd05f79e844b942c63f984f863d..bfbdc76beee0275550945d6f5a75cac8d52c09c3 100644 (file)
@@ -57,6 +57,13 @@ pub fn find<'tcx>(_tcx: &ty::ctxt<'tcx>, name: &str) -> Option<Intrinsic> {
         "subs_epu16" => p!("sse2.psubus.w", (i16x8, i16x8) -> i16x8),
         "subs_epu8" => p!("sse2.psubus.b", (i8x16, i8x16) -> i8x16),
 
+        "addsub_pd" => p!("sse3.addsub.pd", (f64x2, f64x2) -> f64x2),
+        "addsub_ps" => p!("sse3.addsub.ps", (f32x4, f32x4) -> f32x4),
+        "hadd_pd" => p!("sse3.hadd.pd", (f64x2, f64x2) -> f64x2),
+        "hadd_ps" => p!("sse3.hadd.ps", (f32x4, f32x4) -> f32x4),
+        "hsub_pd" => p!("sse3.hsub.pd", (f64x2, f64x2) -> f64x2),
+        "hsub_ps" => p!("sse3.hsub.ps", (f32x4, f32x4) -> f32x4),
+
         "shuffle_epi8" => p!("ssse3.pshuf.b.128", (i8x16, i8x16) -> i8x16),
         _ => return None
     })