Skip to content

Commit 03c5a8e

Browse files
feat: explicitly casting the result of the lane function to unsigned
variants for compatibility with the Rust version
1 parent 062f327 commit 03c5a8e

File tree

1 file changed

+15
-15
lines changed

1 file changed

+15
-15
lines changed

crates/intrinsic-test/src/x86/types.rs

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -250,21 +250,21 @@ impl IntrinsicTypeDefinition for X86IntrinsicType {
250250
.and_then(|(simd_len, bit_len)| Some(simd_len * bit_len));
251251

252252
match (self.bit_len, total_vector_bits) {
253-
(Some(8), Some(128)) => String::from("_mm_extract_epi8"),
254-
(Some(16), Some(128)) => String::from("_mm_extract_epi16"),
255-
(Some(32), Some(128)) => String::from("_mm_extract_epi32"),
256-
(Some(64), Some(128)) => String::from("_mm_extract_epi64"),
257-
(Some(8), Some(256)) => String::from("_mm256_extract_epi8"),
258-
(Some(16), Some(256)) => String::from("_mm256_extract_epi16"),
259-
(Some(32), Some(256)) => String::from("_mm256_extract_epi32"),
260-
(Some(64), Some(256)) => String::from("_mm256_extract_epi64"),
261-
(Some(8), Some(512)) => String::from("_mm512_extract_intrinsic_test_epi8"),
262-
(Some(16), Some(512)) => String::from("_mm512_extract_intrinsic_test_epi16"),
263-
(Some(32), Some(512)) => String::from("_mm512_extract_intrinsic_test_epi32"),
264-
(Some(64), Some(512)) => String::from("_mm512_extract_intrinsic_test_epi64"),
265-
(Some(8), Some(64)) => String::from("_mm64_extract_intrinsic_test_epi8"),
266-
(Some(16), Some(64)) => String::from("_mm_extract_pi16"),
267-
(Some(32), Some(64)) => String::from("_mm64_extract_intrinsic_test_epi32"),
253+
(Some(8), Some(128)) => String::from("(uint8_t)_mm_extract_epi8"),
254+
(Some(16), Some(128)) => String::from("(uint16_t)_mm_extract_epi16"),
255+
(Some(32), Some(128)) => String::from("(uint32_t)_mm_extract_epi32"),
256+
(Some(64), Some(128)) => String::from("(uint64_t)_mm_extract_epi64"),
257+
(Some(8), Some(256)) => String::from("(uint8_t)_mm256_extract_epi8"),
258+
(Some(16), Some(256)) => String::from("(uint16_t)_mm256_extract_epi16"),
259+
(Some(32), Some(256)) => String::from("(uint32_t)_mm256_extract_epi32"),
260+
(Some(64), Some(256)) => String::from("(uint64_t)_mm256_extract_epi64"),
261+
(Some(8), Some(512)) => String::from("(uint8_t)_mm512_extract_intrinsic_test_epi8"),
262+
(Some(16), Some(512)) => String::from("(uint16_t)_mm512_extract_intrinsic_test_epi16"),
263+
(Some(32), Some(512)) => String::from("(uint32_t)_mm512_extract_intrinsic_test_epi32"),
264+
(Some(64), Some(512)) => String::from("(uint64_t)_mm512_extract_intrinsic_test_epi64"),
265+
(Some(8), Some(64)) => String::from("(uint8_t)_mm64_extract_intrinsic_test_epi8"),
266+
(Some(16), Some(64)) => String::from("(uint16_t)_mm_extract_pi16"),
267+
(Some(32), Some(64)) => String::from("(uint32_t)_mm64_extract_intrinsic_test_epi32"),
268268
_ => unreachable!(
269269
"invalid length for vector argument: {:?}, {:?}",
270270
self.bit_len, self.simd_len

0 commit comments

Comments
 (0)