diff --git a/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Wasm/PackedSimd.cs b/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Wasm/PackedSimd.cs
index 3cf27182b55e9c..479151a8f54f5c 100644
--- a/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Wasm/PackedSimd.cs
+++ b/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Wasm/PackedSimd.cs
@@ -857,251 +857,312 @@ public abstract class PackedSimd
///
/// v128.or
///
+ [Intrinsic]
public static Vector128 Or(Vector128 left, Vector128 right) => Or(left, right);
///
/// v128.or
///
+ [Intrinsic]
public static Vector128 Or(Vector128 left, Vector128 right) => Or(left, right);
///
/// v128.or
///
+ [Intrinsic]
public static Vector128 Or(Vector128 left, Vector128 right) => Or(left, right);
///
/// v128.or
///
+ [Intrinsic]
public static Vector128 Or(Vector128 left, Vector128 right) => Or(left, right);
///
/// v128.or
///
+ [Intrinsic]
public static Vector128 Or(Vector128 left, Vector128 right) => Or(left, right);
///
/// v128.or
///
+ [Intrinsic]
public static Vector128 Or(Vector128 left, Vector128 right) => Or(left, right);
///
/// v128.or
///
+ [Intrinsic]
public static Vector128 Or(Vector128 left, Vector128 right) => Or(left, right);
///
/// v128.or
///
+ [Intrinsic]
public static Vector128 Or(Vector128 left, Vector128 right) => Or(left, right);
///
/// v128.or
///
+ [Intrinsic]
public static Vector128 Or(Vector128 left, Vector128 right) => Or(left, right);
///
/// v128.or
///
+ [Intrinsic]
public static Vector128 Or(Vector128 left, Vector128 right) => Or(left, right);
///
/// v128.or
///
+ [Intrinsic]
public static Vector128 Or(Vector128 left, Vector128 right) => Or(left, right);
///
/// v128.or
///
+ [Intrinsic]
public static Vector128 Or(Vector128 left, Vector128 right) => Or(left, right);
///
/// v128.xor
///
+ [Intrinsic]
public static Vector128 Xor(Vector128 left, Vector128 right) => Xor(left, right);
///
/// v128.xor
///
+ [Intrinsic]
public static Vector128 Xor(Vector128 left, Vector128 right) => Xor(left, right);
///
/// v128.xor
///
+ [Intrinsic]
public static Vector128 Xor(Vector128 left, Vector128 right) => Xor(left, right);
///
/// v128.xor
///
+ [Intrinsic]
public static Vector128 Xor(Vector128 left, Vector128 right) => Xor(left, right);
///
/// v128.xor
///
+ [Intrinsic]
public static Vector128 Xor(Vector128 left, Vector128 right) => Xor(left, right);
///
/// v128.xor
///
+ [Intrinsic]
public static Vector128 Xor(Vector128 left, Vector128 right) => Xor(left, right);
///
/// v128.xor
///
+ [Intrinsic]
public static Vector128 Xor(Vector128 left, Vector128 right) => Xor(left, right);
///
/// v128.xor
///
+ [Intrinsic]
public static Vector128 Xor(Vector128 left, Vector128 right) => Xor(left, right);
///
/// v128.xor
///
+ [Intrinsic]
public static Vector128 Xor(Vector128 left, Vector128 right) => Xor(left, right);
///
/// v128.xor
///
+ [Intrinsic]
public static Vector128 Xor(Vector128 left, Vector128 right) => Xor(left, right);
///
/// v128.xor
///
+ [Intrinsic]
public static Vector128 Xor(Vector128 left, Vector128 right) => Xor(left, right);
///
/// v128.xor
///
+ [Intrinsic]
public static Vector128 Xor(Vector128 left, Vector128 right) => Xor(left, right);
///
/// v128.not
///
+ [Intrinsic]
public static Vector128 Not(Vector128 value) => Not(value);
///
/// v128.not
///
+ [Intrinsic]
public static Vector128 Not(Vector128 value) => Not(value);
///
/// v128.not
///
+ [Intrinsic]
public static Vector128 Not(Vector128 value) => Not(value);
///
/// v128.not
///
+ [Intrinsic]
public static Vector128 Not(Vector128 value) => Not(value);
///
/// v128.not
///
+ [Intrinsic]
public static Vector128 Not(Vector128 value) => Not(value);
///
/// v128.not
///
+ [Intrinsic]
public static Vector128 Not(Vector128 value) => Not(value);
///
/// v128.not
///
+ [Intrinsic]
public static Vector128 Not(Vector128 value) => Not(value);
///
/// v128.not
///
+ [Intrinsic]
public static Vector128 Not(Vector128 value) => Not(value);
///
/// v128.not
///
+ [Intrinsic]
public static Vector128 Not(Vector128 value) => Not(value);
///
/// v128.not
///
+ [Intrinsic]
public static Vector128 Not(Vector128 value) => Not(value);
///
/// v128.not
///
+ [Intrinsic]
public static Vector128 Not(Vector128 value) => Not(value);
///
/// v128.not
///
+ [Intrinsic]
public static Vector128 Not(Vector128 value) => Not(value);
///
/// v128.andnot
///
+ [Intrinsic]
public static Vector128 AndNot(Vector128 left, Vector128 right) => AndNot(left, right);
///
/// v128.andnot
///
+ [Intrinsic]
public static Vector128 AndNot(Vector128 left, Vector128 right) => AndNot(left, right);
///
/// v128.andnot
///
+ [Intrinsic]
public static Vector128 AndNot(Vector128 left, Vector128 right) => AndNot(left, right);
///
/// v128.andnot
///
+ [Intrinsic]
public static Vector128 AndNot(Vector128 left, Vector128 right) => AndNot(left, right);
///
/// v128.andnot
///
+ [Intrinsic]
public static Vector128 AndNot(Vector128 left, Vector128 right) => AndNot(left, right);
///
/// v128.andnot
///
+ [Intrinsic]
public static Vector128 AndNot(Vector128 left, Vector128 right) => AndNot(left, right);
///
/// v128.andnot
///
+ [Intrinsic]
public static Vector128 AndNot(Vector128 left, Vector128 right) => AndNot(left, right);
///
/// v128.andnot
///
+ [Intrinsic]
public static Vector128 AndNot(Vector128 left, Vector128 right) => AndNot(left, right);
///
/// v128.andnot
///
+ [Intrinsic]
public static Vector128 AndNot(Vector128 left, Vector128 right) => AndNot(left, right);
///
/// v128.andnot
///
+ [Intrinsic]
public static Vector128 AndNot(Vector128 left, Vector128 right) => AndNot(left, right);
///
/// v128.andnot
///
+ [Intrinsic]
public static Vector128 AndNot(Vector128 left, Vector128 right) => AndNot(left, right);
///
/// v128.andnot
///
+ [Intrinsic]
public static Vector128 AndNot(Vector128 left, Vector128 right) => AndNot(left, right);
///
/// v128.bitselect
///
+ [Intrinsic]
public static Vector128 BitwiseSelect(Vector128 left, Vector128 right, Vector128 select) => BitwiseSelect(left, right, select);
///
/// v128.bitselect
///
+ [Intrinsic]
public static Vector128 BitwiseSelect(Vector128 left, Vector128 right, Vector128 select) => BitwiseSelect(left, right, select);
///
/// v128.bitselect
///
+ [Intrinsic]
public static Vector128 BitwiseSelect(Vector128 left, Vector128 right, Vector128 select) => BitwiseSelect(left, right, select);
///
/// v128.bitselect
///
+ [Intrinsic]
public static Vector128 BitwiseSelect(Vector128 left, Vector128 right, Vector128 select) => BitwiseSelect(left, right, select);
///
/// v128.bitselect
///
+ [Intrinsic]
public static Vector128 BitwiseSelect(Vector128 left, Vector128 right, Vector128 select) => BitwiseSelect(left, right, select);
///
/// v128.bitselect
///
+ [Intrinsic]
public static Vector128 BitwiseSelect(Vector128 left, Vector128 right, Vector128 select) => BitwiseSelect(left, right, select);
///
/// v128.bitselect
///
+ [Intrinsic]
public static Vector128 BitwiseSelect(Vector128 left, Vector128 right, Vector128 select) => BitwiseSelect(left, right, select);
///
/// v128.bitselect
///
+ [Intrinsic]
public static Vector128 BitwiseSelect(Vector128 left, Vector128 right, Vector128 select) => BitwiseSelect(left, right, select);
///
/// v128.bitselect
///
+ [Intrinsic]
public static Vector128 BitwiseSelect(Vector128 left, Vector128 right, Vector128 select) => BitwiseSelect(left, right, select);
///
/// v128.bitselect
///
+ [Intrinsic]
public static Vector128 BitwiseSelect(Vector128 left, Vector128 right, Vector128 select) => BitwiseSelect(left, right, select);
///
/// v128.bitselect
///
+ [Intrinsic]
public static Vector128 BitwiseSelect(Vector128 left, Vector128 right, Vector128 select) => BitwiseSelect(left, right, select);
///
/// v128.bitselect
///
+ [Intrinsic]
public static Vector128 BitwiseSelect(Vector128 left, Vector128 right, Vector128 select) => BitwiseSelect(left, right, select);
///
/// i8x16.popcnt
///
+ [Intrinsic]
public static Vector128 PopCount(Vector128 value) => PopCount(value);
// Boolean horizontal reductions
@@ -1109,91 +1170,113 @@ public abstract class PackedSimd
///
/// v128.any_true
///
+ [Intrinsic]
public static bool AnyTrue(Vector128 value) => AnyTrue(value);
///
/// v128.any_true
///
+ [Intrinsic]
public static bool AnyTrue(Vector128 value) => AnyTrue(value);
///
/// v128.any_true
///
+ [Intrinsic]
public static bool AnyTrue(Vector128 value) => AnyTrue(value);
///
/// v128.any_true
///
+ [Intrinsic]
public static bool AnyTrue(Vector128 value) => AnyTrue(value);
///
/// v128.any_true
///
+ [Intrinsic]
public static bool AnyTrue(Vector128 value) => AnyTrue(value);
///
/// v128.any_true
///
+ [Intrinsic]
public static bool AnyTrue(Vector128 value) => AnyTrue(value);
///
/// v128.any_true
///
+ [Intrinsic]
public static bool AnyTrue(Vector128 value) => AnyTrue(value);
///
/// v128.any_true
///
+ [Intrinsic]
public static bool AnyTrue(Vector128 value) => AnyTrue(value);
///
/// v128.any_true
///
+ [Intrinsic]
public static bool AnyTrue(Vector128 value) => AnyTrue(value);
///
/// v128.any_true
///
+ [Intrinsic]
public static bool AnyTrue(Vector128 value) => AnyTrue(value);
///
/// v128.any_true
///
+ [Intrinsic]
public static bool AnyTrue(Vector128 value) => AnyTrue(value);
///
/// v128.any_true
///
+ [Intrinsic]
public static bool AnyTrue(Vector128 value) => AnyTrue(value);
///
/// i8x16.all_true
///
+ [Intrinsic]
public static bool AllTrue(Vector128 value) => AllTrue(value);
///
/// i8x16.all_true
///
+ [Intrinsic]
public static bool AllTrue(Vector128 value) => AllTrue(value);
///
/// i16x8.all_true
///
+ [Intrinsic]
public static bool AllTrue(Vector128 value) => AllTrue(value);
///
/// i16x8.all_true
///
+ [Intrinsic]
public static bool AllTrue(Vector128 value) => AllTrue(value);
///
/// i32x4.all_true
///
+ [Intrinsic]
public static bool AllTrue(Vector128 value) => AllTrue(value);
///
/// i32x4.all_true
///
+ [Intrinsic]
public static bool AllTrue(Vector128 value) => AllTrue(value);
///
/// i64x2.all_true
///
+ [Intrinsic]
public static bool AllTrue(Vector128 value) => AllTrue(value);
///
/// i64x2.all_true
///
+ [Intrinsic]
public static bool AllTrue(Vector128 value) => AllTrue(value);
///
/// i32x4.all_true
///
+ [Intrinsic]
public static bool AllTrue(Vector128 value) => AllTrue(value);
///
/// i32x4.all_true
///
+ [Intrinsic]
public static bool AllTrue(Vector128 value) => AllTrue(value);
// Bitmask extraction
diff --git a/src/mono/mono/mini/mini-llvm.c b/src/mono/mono/mini/mini-llvm.c
index 7371ca215d1d36..3b9065fe77a791 100644
--- a/src/mono/mono/mini/mini-llvm.c
+++ b/src/mono/mono/mini/mini-llvm.c
@@ -7781,6 +7781,12 @@ MONO_RESTORE_WARNING
values [ins->dreg] = result;
break;
}
+ case OP_XOP_OVR_X_X: {
+ IntrinsicId iid = (IntrinsicId) ins->inst_c0;
+ llvm_ovr_tag_t ovr_tag = ovr_tag_from_mono_vector_class (ins->klass);
+ values [ins->dreg] = call_overloaded_intrins (ctx, iid, ovr_tag, &lhs, "");
+ break;
+ }
#endif
#if defined(TARGET_X86) || defined(TARGET_AMD64) || defined(TARGET_ARM64) || defined(TARGET_WASM)
case OP_EXTRACTX_U2:
@@ -8704,12 +8710,6 @@ MONO_RESTORE_WARNING
values [ins->dreg] = call_intrins (ctx, id, args, "");
break;
}
- case OP_XOP_OVR_X_X: {
- IntrinsicId iid = (IntrinsicId) ins->inst_c0;
- llvm_ovr_tag_t ovr_tag = ovr_tag_from_mono_vector_class (ins->klass);
- values [ins->dreg] = call_overloaded_intrins (ctx, iid, ovr_tag, &lhs, "");
- break;
- }
#endif
#if defined(TARGET_X86) || defined(TARGET_AMD64)