mirror of
https://git.freebsd.org/ports.git
synced 2025-05-05 16:07:38 -04:00
The crate packed_simd_2 is not maintained anymore. firefox switched to packed_simd [1] in [2] but it's not yet part of librewolf 117 Backport [3] to fix the following issue: error: unrecognized platform-specific intrinsic function: `simd_shuffle2` --> /wrkdirs/usr/ports/www/librewolf/work/librewolf-117.0-1/third_party/rust/packed_simd_2/src/codegen/llvm.rs:10:5 | 10 | pub fn simd_shuffle2<T, U>(x: T, y: T, idx: [u32; 2]) -> U; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [1] https://github.com/rust-lang/packed_simd/ [2]1e1bec8c6e
[3]a79edf4cfc
PR: 274499 Approved by: portmgr (build fix blanket)
83 lines
2.5 KiB
Text
83 lines
2.5 KiB
Text
From a79edf4cfc54aad30a5630b217645c4b8274d8f7 Mon Sep 17 00:00:00 2001
|
|
From: Oli Scherer <git-spam-no-reply9815368754983@oli-obk.de>
|
|
Date: Mon, 10 Jul 2023 09:46:53 +0000
|
|
Subject: [PATCH] Stop using old-style `simd_shuffle`
|
|
|
|
---
|
|
src/codegen/llvm.rs | 20 +++++++-------------
|
|
1 file changed, 7 insertions(+), 13 deletions(-)
|
|
|
|
diff --git third_party/rust/packed_simd_2/src/codegen/llvm.rs third_party/rust/packed_simd_2/src/codegen/llvm.rs
|
|
index b4c09849..bb482fac 100644
|
|
--- third_party/rust/packed_simd_2/src/codegen/llvm.rs
|
|
+++ third_party/rust/packed_simd_2/src/codegen/llvm.rs
|
|
@@ -5,14 +5,8 @@ use crate::sealed::Shuffle;
|
|
#[allow(unused_imports)] // FIXME: spurious warning?
|
|
use crate::sealed::Simd;
|
|
|
|
-// Shuffle intrinsics: expanded in users' crates, therefore public.
|
|
extern "platform-intrinsic" {
|
|
- pub fn simd_shuffle2<T, U>(x: T, y: T, idx: [u32; 2]) -> U;
|
|
- pub fn simd_shuffle4<T, U>(x: T, y: T, idx: [u32; 4]) -> U;
|
|
- pub fn simd_shuffle8<T, U>(x: T, y: T, idx: [u32; 8]) -> U;
|
|
- pub fn simd_shuffle16<T, U>(x: T, y: T, idx: [u32; 16]) -> U;
|
|
- pub fn simd_shuffle32<T, U>(x: T, y: T, idx: [u32; 32]) -> U;
|
|
- pub fn simd_shuffle64<T, U>(x: T, y: T, idx: [u32; 64]) -> U;
|
|
+ fn simd_shuffle<T, I, U>(x: T, y: T, idx: I) -> U;
|
|
}
|
|
|
|
#[allow(clippy::missing_safety_doc)]
|
|
@@ -22,7 +16,7 @@ where
|
|
T: Simd,
|
|
<T as Simd>::Element: Shuffle<[u32; 2], Output = U>,
|
|
{
|
|
- simd_shuffle2(x, y, IDX)
|
|
+ simd_shuffle(x, y, IDX)
|
|
}
|
|
|
|
#[allow(clippy::missing_safety_doc)]
|
|
@@ -32,7 +26,7 @@ where
|
|
T: Simd,
|
|
<T as Simd>::Element: Shuffle<[u32; 4], Output = U>,
|
|
{
|
|
- simd_shuffle4(x, y, IDX)
|
|
+ simd_shuffle(x, y, IDX)
|
|
}
|
|
|
|
#[allow(clippy::missing_safety_doc)]
|
|
@@ -42,7 +36,7 @@ where
|
|
T: Simd,
|
|
<T as Simd>::Element: Shuffle<[u32; 8], Output = U>,
|
|
{
|
|
- simd_shuffle8(x, y, IDX)
|
|
+ simd_shuffle(x, y, IDX)
|
|
}
|
|
|
|
#[allow(clippy::missing_safety_doc)]
|
|
@@ -52,7 +46,7 @@ where
|
|
T: Simd,
|
|
<T as Simd>::Element: Shuffle<[u32; 16], Output = U>,
|
|
{
|
|
- simd_shuffle16(x, y, IDX)
|
|
+ simd_shuffle(x, y, IDX)
|
|
}
|
|
|
|
#[allow(clippy::missing_safety_doc)]
|
|
@@ -62,7 +56,7 @@ where
|
|
T: Simd,
|
|
<T as Simd>::Element: Shuffle<[u32; 32], Output = U>,
|
|
{
|
|
- simd_shuffle32(x, y, IDX)
|
|
+ simd_shuffle(x, y, IDX)
|
|
}
|
|
|
|
#[allow(clippy::missing_safety_doc)]
|
|
@@ -72,7 +66,7 @@ where
|
|
T: Simd,
|
|
<T as Simd>::Element: Shuffle<[u32; 64], Output = U>,
|
|
{
|
|
- simd_shuffle64(x, y, IDX)
|
|
+ simd_shuffle(x, y, IDX)
|
|
}
|
|
|
|
extern "platform-intrinsic" {
|