@@ -44,6 +44,8 @@ HARDWARE_INTRINSIC(Vector128, AsVector3,
4444HARDWARE_INTRINSIC (Vector128 , AsVector4 , 16 , 1 , {INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid }, HW_Category_Helper , HW_Flag_SpecialImport |HW_Flag_NoContainment |HW_Flag_BaseTypeFromFirstArg |HW_Flag_NoRMWSemantics )
4545HARDWARE_INTRINSIC (Vector128 , AsVector128 , 16 , 1 , {INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid }, HW_Category_Helper , HW_Flag_SpecialImport |HW_Flag_NoContainment |HW_Flag_BaseTypeFromFirstArg |HW_Flag_NoRMWSemantics )
4646HARDWARE_INTRINSIC (Vector128 , CreateScalarUnsafe , 16 , 1 , {INS_mov_i2xmm , INS_mov_i2xmm , INS_mov_i2xmm , INS_mov_i2xmm , INS_mov_i2xmm , INS_mov_i2xmm , INS_mov_i2xmm , INS_mov_i2xmm , INS_movss , INS_movsdsse2 }, HW_Category_SIMDScalar , HW_Flag_SpecialImport |HW_Flag_SpecialCodeGen |HW_Flag_NoRMWSemantics )
47+ // The instruction generated for float/double depends on which ISAs are supported
48+ HARDWARE_INTRINSIC (Vector128 , get_AllBitsSet , 16 , 0 , {INS_pcmpeqd , INS_pcmpeqd , INS_pcmpeqd , INS_pcmpeqd , INS_pcmpeqd , INS_pcmpeqd , INS_pcmpeqd , INS_pcmpeqd , INS_cmpps , INS_cmppd }, HW_Category_Helper , HW_Flag_SpecialImport |HW_Flag_NoContainment |HW_Flag_NoRMWSemantics )
4749HARDWARE_INTRINSIC (Vector128 , get_Count , 16 , 0 , {INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid }, HW_Category_Helper , HW_Flag_SpecialImport |HW_Flag_NoContainment |HW_Flag_NoRMWSemantics )
4850HARDWARE_INTRINSIC (Vector128 , get_Zero , 16 , 0 , {INS_xorps , INS_xorps , INS_xorps , INS_xorps , INS_xorps , INS_xorps , INS_xorps , INS_xorps , INS_xorps , INS_xorps }, HW_Category_Helper , HW_Flag_SpecialImport |HW_Flag_NoContainment |HW_Flag_NoRMWSemantics )
4951HARDWARE_INTRINSIC (Vector128 , GetElement , 16 , 2 , {INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid }, HW_Category_Helper , HW_Flag_SpecialImport |HW_Flag_NoContainment |HW_Flag_BaseTypeFromFirstArg )
@@ -70,6 +72,8 @@ HARDWARE_INTRINSIC(Vector256, AsUInt32,
7072HARDWARE_INTRINSIC (Vector256 , AsUInt64 , 32 , 1 , {INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid }, HW_Category_Helper , HW_Flag_SpecialImport |HW_Flag_NoContainment |HW_Flag_BaseTypeFromFirstArg |HW_Flag_NoRMWSemantics )
7173HARDWARE_INTRINSIC (Vector256 , AsVector , 32 , 1 , {INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid }, HW_Category_Helper , HW_Flag_SpecialImport |HW_Flag_NoContainment |HW_Flag_BaseTypeFromFirstArg |HW_Flag_NoRMWSemantics )
7274HARDWARE_INTRINSIC (Vector256 , AsVector256 , 32 , 1 , {INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid }, HW_Category_Helper , HW_Flag_SpecialImport |HW_Flag_NoContainment |HW_Flag_BaseTypeFromFirstArg |HW_Flag_NoRMWSemantics )
75+ // The instruction generated for float/double depends on which ISAs are supported
76+ HARDWARE_INTRINSIC (Vector256 , get_AllBitsSet , 32 , 0 , {INS_pcmpeqd , INS_pcmpeqd , INS_pcmpeqd , INS_pcmpeqd , INS_pcmpeqd , INS_pcmpeqd , INS_pcmpeqd , INS_pcmpeqd , INS_cmpps , INS_cmppd }, HW_Category_Helper , HW_Flag_SpecialImport |HW_Flag_NoContainment |HW_Flag_NoRMWSemantics )
7377HARDWARE_INTRINSIC (Vector256 , get_Count , 32 , 0 , {INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid , INS_invalid }, HW_Category_Helper , HW_Flag_SpecialImport |HW_Flag_NoContainment |HW_Flag_NoRMWSemantics )
7478HARDWARE_INTRINSIC (Vector256 , get_Zero , 32 , 0 , {INS_xorps , INS_xorps , INS_xorps , INS_xorps , INS_xorps , INS_xorps , INS_xorps , INS_xorps , INS_xorps , INS_xorps }, HW_Category_Helper , HW_Flag_SpecialImport |HW_Flag_NoContainment |HW_Flag_NoRMWSemantics )
7579HARDWARE_INTRINSIC (Vector256 , CreateScalarUnsafe , 32 , 1 , {INS_mov_i2xmm , INS_mov_i2xmm , INS_mov_i2xmm , INS_mov_i2xmm , INS_mov_i2xmm , INS_mov_i2xmm , INS_mov_i2xmm , INS_mov_i2xmm , INS_movss , INS_movsdsse2 }, HW_Category_SIMDScalar , HW_Flag_SpecialImport |HW_Flag_SpecialCodeGen |HW_Flag_NoRMWSemantics )
0 commit comments