From c806df3160285c3e91d6dd9390830e2d58d653f3 Mon Sep 17 00:00:00 2001 From: Luca Barbato Date: Mon, 15 Apr 2024 13:53:35 +0000 Subject: [PATCH] Consider power9-vector when testing instructions --- library/stdarch/crates/core_arch/src/powerpc/macros.rs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/library/stdarch/crates/core_arch/src/powerpc/macros.rs b/library/stdarch/crates/core_arch/src/powerpc/macros.rs index bd92ea17dec4..1225c046c6b4 100644 --- a/library/stdarch/crates/core_arch/src/powerpc/macros.rs +++ b/library/stdarch/crates/core_arch/src/powerpc/macros.rs @@ -8,10 +8,14 @@ macro_rules! test_impl { } }; ($fun:ident ($($v:ident : $ty:ty),*) -> $r:ty [$call:ident, $instr_altivec:ident / $instr_vsx:ident]) => { + test_impl! { $fun ($($v : $ty),*) -> $r [$call, $instr_altivec / $instr_vsx / $instr_vsx] } + }; + ($fun:ident ($($v:ident : $ty:ty),*) -> $r:ty [$call:ident, $instr_altivec:ident / $instr_vsx:ident / $instr_pwr9:ident]) => { #[inline] #[target_feature(enable = "altivec")] - #[cfg_attr(all(test, not(target_feature="vsx")), assert_instr($instr_altivec))] - #[cfg_attr(all(test, target_feature="vsx"), assert_instr($instr_vsx))] + #[cfg_attr(all(test, not(target_feature="vsx"), not(target_feature = "power9-vector")), assert_instr($instr_altivec))] + #[cfg_attr(all(test, target_feature="vsx", not(target_feature = "power9-vector")), assert_instr($instr_vsx))] + #[cfg_attr(all(test, not(target_feature="vsx"), target_feature = "power9-vector"), assert_instr($instr_pwr9))] pub unsafe fn $fun ($($v : $ty),*) -> $r { $call ($($v),*) }