summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorgnzlbg <gonzalobg88@gmail.com>2018-08-14 18:08:27 +0200
committergnzlbg <gonzalobg88@gmail.com>2018-08-14 18:08:27 +0200
commite9709955e168098b6d9b327081eda686bb6ee098 (patch)
treefedfa8bf64a6e84c360a9736f37aa4753517a9af
parent7713b452460fb9713ef95a7819db0e843cf08a1a (diff)
add more vector tests
-rw-r--r--tests/expectations/tests/vector.rs16
-rw-r--r--tests/headers/vector.hpp6
2 files changed, 19 insertions, 3 deletions
diff --git a/tests/expectations/tests/vector.rs b/tests/expectations/tests/vector.rs
index 357b9ef4..a70ded7a 100644
--- a/tests/expectations/tests/vector.rs
+++ b/tests/expectations/tests/vector.rs
@@ -1,8 +1,11 @@
/* automatically generated by rust-bindgen */
-
-#![allow(dead_code, non_snake_case, non_camel_case_types, non_upper_case_globals)]
-
+#![allow(
+ dead_code,
+ non_snake_case,
+ non_camel_case_types,
+ non_upper_case_globals
+)]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
@@ -32,3 +35,10 @@ fn bindgen_test_layout_foo() {
)
);
}
+pub type __m128 = [f32; 4usize];
+pub type __m128d = [f64; 2usize];
+pub type __m128i = [::std::os::raw::c_longlong; 2usize];
+extern "C" {
+ #[link_name = "\u{1}_Z3fooDv2_xDv2_d"]
+ pub fn foo(arg1: *mut ::std::os::raw::c_longlong, arg2: *mut f64) -> __m128;
+}
diff --git a/tests/headers/vector.hpp b/tests/headers/vector.hpp
index 4707f77f..173aa022 100644
--- a/tests/headers/vector.hpp
+++ b/tests/headers/vector.hpp
@@ -1,3 +1,9 @@
struct foo {
__attribute__((__vector_size__(1 * sizeof(long long)))) long long mMember;
};
+
+typedef float __m128 __attribute__ ((__vector_size__ (16)));
+typedef double __m128d __attribute__((__vector_size__(16)));
+typedef long long __m128i __attribute__((__vector_size__(16)));
+
+__m128 foo(__m128i, __m128d);