-
Notifications
You must be signed in to change notification settings - Fork 4.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Arm64/SVE: Implemented ConvertToint64
and ConvertToUInt64
#104069
Changes from 41 commits
c738b77
35d39d9
7a781e1
1378d60
10c7a15
8004868
af7ccd4
8cb76da
abe25fc
0f51f38
7fabb91
11affed
d5374ca
711b28a
fe32a2f
478b969
4aa224d
cc63edf
ff54068
56601b4
422068b
5b4c4f3
04071a3
ffcd267
d4b8dc3
5ac4a05
f055d0c
33626b3
0327fa6
da441d1
229017b
f98fd84
51c9bf1
1e68ff6
d053d13
b2a777e
66abcaa
a0c7333
37e1da1
2c13be7
2f3c901
990c75b
eaf3905
81f11cb
c2d5d15
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -492,12 +492,20 @@ void CodeGen::genHWIntrinsic(GenTreeHWIntrinsic* node) | |
|
||
// Special handling for ConvertTo* APIs | ||
// Just need to change the opt here. | ||
insOpts embOpt = opt; | ||
switch (intrinEmbMask.id) | ||
{ | ||
case NI_Sve_ConvertToInt32: | ||
case NI_Sve_ConvertToUInt32: | ||
{ | ||
opt = intrinEmbMask.baseType == TYP_DOUBLE ? INS_OPTS_D_TO_S : INS_OPTS_SCALABLE_S; | ||
embOpt = emitTypeSize(intrinEmbMask.baseType) == EA_8BYTE ? INS_OPTS_D_TO_S : INS_OPTS_SCALABLE_S; | ||
break; | ||
} | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This also needs handling of embOpt = intrinEmbMask.baseType == TYP_DOUBLE ? INS_OPTS_D_TO_S : INS_OPTS_SCALABLE_S; and embOpt = intrinEmbMask.baseType == TYP_FLOAT ? INS_OPTS_S_TO_D : INS_OPTS_SCALABLE_D; which means you can combine |
||
|
||
case NI_Sve_ConvertToInt64: | ||
case NI_Sve_ConvertToUInt64: | ||
{ | ||
embOpt = emitTypeSize(intrinEmbMask.baseType) == EA_4BYTE ? INS_OPTS_S_TO_D : INS_OPTS_SCALABLE_D; | ||
break; | ||
} | ||
default: | ||
|
@@ -536,7 +544,8 @@ void CodeGen::genHWIntrinsic(GenTreeHWIntrinsic* node) | |
|
||
// We cannot use use `movprfx` here to move falseReg to targetReg because that will | ||
// overwrite the value of embMaskOp1Reg which is present in targetReg. | ||
GetEmitter()->emitIns_R_R_R(insEmbMask, emitSize, targetReg, maskReg, embMaskOp1Reg, opt); | ||
GetEmitter()->emitIns_R_R_R(insEmbMask, emitSize, targetReg, maskReg, embMaskOp1Reg, | ||
embOpt); | ||
|
||
GetEmitter()->emitIns_R_R_R_R(INS_sve_sel, emitSize, targetReg, maskReg, targetReg, | ||
falseReg, opt); | ||
|
@@ -550,7 +559,7 @@ void CodeGen::genHWIntrinsic(GenTreeHWIntrinsic* node) | |
} | ||
} | ||
|
||
GetEmitter()->emitIns_R_R_R(insEmbMask, emitSize, targetReg, maskReg, embMaskOp1Reg, opt); | ||
GetEmitter()->emitIns_R_R_R(insEmbMask, emitSize, targetReg, maskReg, embMaskOp1Reg, embOpt); | ||
break; | ||
} | ||
|
||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -3388,8 +3388,10 @@ void Lowering::ContainCheckHWIntrinsic(GenTreeHWIntrinsic* node) | |
|
||
// For now, make sure that we get here only for intrinsics that we are | ||
// sure about to rely on auxiliary type's size. | ||
assert((embOp->GetHWIntrinsicId() == NI_Sve_ConvertToInt32) || | ||
(embOp->GetHWIntrinsicId() == NI_Sve_ConvertToUInt32)); | ||
assert((embOp->GetHWIntrinsicId() == NI_Sve_ConvertToInt32) || | ||
(embOp->GetHWIntrinsicId() == NI_Sve_ConvertToUInt32) || | ||
(embOp->GetHWIntrinsicId() == NI_Sve_ConvertToInt64) || | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. likewise here. |
||
(embOp->GetHWIntrinsicId() == NI_Sve_ConvertToUInt64) ); | ||
|
||
uint32_t auxSize = genTypeSize(embOp->GetAuxiliaryType()); | ||
if (maskSize == auxSize) | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -869,6 +869,27 @@ | |
public static unsafe Vector<int> ConvertToInt32(Vector<float> value) { throw new PlatformNotSupportedException(); } | ||
|
||
|
||
/// ConvertToInt64 : Floating-point convert | ||
|
||
/// <summary> | ||
/// svint64_t svcvt_s64[_f64]_m(svint64_t inactive, svbool_t pg, svfloat64_t op) | ||
/// FCVTZS Ztied.D, Pg/M, Zop.D | ||
/// svint64_t svcvt_s64[_f64]_x(svbool_t pg, svfloat64_t op) | ||
/// FCVTZS Ztied.D, Pg/M, Ztied.D | ||
/// svint64_t svcvt_s64[_f64]_z(svbool_t pg, svfloat64_t op) | ||
/// </summary> | ||
public static unsafe Vector<long> ConvertToInt64(Vector<double> value) { throw new PlatformNotSupportedException(); } | ||
|
||
/// <summary> | ||
/// svint64_t svcvt_s64[_f32]_m(svint64_t inactive, svbool_t pg, svfloat32_t op) | ||
/// FCVTZS Ztied.D, Pg/M, Zop.S | ||
/// svint64_t svcvt_s64[_f32]_x(svbool_t pg, svfloat32_t op) | ||
/// FCVTZS Ztied.D, Pg/M, Ztied.S | ||
/// svint64_t svcvt_s64[_f32]_z(svbool_t pg, svfloat32_t op) | ||
/// </summary> | ||
public static unsafe Vector<long> ConvertToInt64(Vector<float> value) { throw new PlatformNotSupportedException(); } | ||
|
||
Check failure on line 891 in src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs Azure Pipelines / dotnet-linker-tests (Build osx-x64 release Runtime_Release)src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs#L891
Check failure on line 891 in src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs Azure Pipelines / runtime (Build osx-x64 debug Mono_Runtime)src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs#L891
Check failure on line 891 in src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs Azure Pipelines / runtime (Build osx-x64 Debug Libraries_CheckedCoreCLR)src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs#L891
Check failure on line 891 in src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs Azure Pipelines / runtime (Build tvossimulator-x64 Debug AllSubsets_Mono)src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs#L891
Check failure on line 891 in src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs Azure Pipelines / runtime (Build osx-x64 Release AllSubsets_Mono_LLVMJIT)src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs#L891
Check failure on line 891 in src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs Azure Pipelines / runtime (Build osx-x64 Debug CoreCLR_Libraries)src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs#L891
Check failure on line 891 in src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs Azure Pipelines / runtime (Build maccatalyst-x64 Release AllSubsets_Mono)src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs#L891
Check failure on line 891 in src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs Azure Pipelines / runtime (Build osx-x64 Debug AllSubsets_Mono_LLVMAOT)src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs#L891
Check failure on line 891 in src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs Azure Pipelines / runtime (Build osx-x64 Release AllSubsets_Mono_Minijit_RuntimeTests minijit)src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs#L891
Check failure on line 891 in src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs Azure Pipelines / runtime (Build osx-x64 Debug Mono_MiniJIT_LibrariesTests)src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs#L891
Check failure on line 891 in src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs Azure Pipelines / runtime (Build osx-x64 Release AllSubsets_Mono_Interpreter_RuntimeTests monointerpreter)src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs#L891
Check failure on line 891 in src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs Azure Pipelines / dotnet-linker-tests (Build linux-x64 release Runtime_Release)src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs#L891
Check failure on line 891 in src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs Azure Pipelines / runtime (Build linux_musl-x64 Debug AllSubsets_CoreCLR)src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs#L891
Check failure on line 891 in src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs Azure Pipelines / runtime (Build linux-arm Debug AllSubsets_CoreCLR_ReleaseRuntimeLibs)src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs#L891
Check failure on line 891 in src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs Azure Pipelines / runtime-dev-innerloop (Build linux-x64 debug Libraries_AllConfigurations)src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs#L891
Check failure on line 891 in src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs Azure Pipelines / runtime (Build linux-arm checked CoreCLR_ReleaseLibraries)src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs#L891
Check failure on line 891 in src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs Azure Pipelines / runtime (Build linux_musl-x64 Debug CoreCLR_Libraries)src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs#L891
Check failure on line 891 in src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs Azure Pipelines / runtime (Build linux-armel checked CoreCLR_NonPortable)src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs#L891
Check failure on line 891 in src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs Azure Pipelines / runtime (Build linux-x64 Debug Libraries_CheckedCoreCLR)src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs#L891
Check failure on line 891 in src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs Azure Pipelines / runtime (Build linux_musl-arm Debug AllSubsets_CoreCLR_ReleaseRuntimeLibs)src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs#L891
Check failure on line 891 in src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs Azure Pipelines / runtime (Build linux_musl-x64 Debug Libraries_CheckedCoreCLR)src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs#L891
Check failure on line 891 in src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs Azure Pipelines / runtime (Build linux-x86 checked CoreCLR_NoR2R)src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs#L891
Check failure on line 891 in src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs Azure Pipelines / runtime (Build linux-riscv64 checked CoreCLR)src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs#L891
Check failure on line 891 in src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs Azure Pipelines / runtime (Build linux-x64 Debug CoreCLR_Libraries)src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs#L891
Check failure on line 891 in src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs Azure Pipelines / runtime (Build linux-x64 checked CoreCLR_ReleaseLibraries)src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs#L891
Check failure on line 891 in src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs Azure Pipelines / runtime (Build linux_musl-arm checked CoreCLR_ReleaseLibraries)src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs#L891
Check failure on line 891 in src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs Azure Pipelines / runtime (Build freebsd-x64 Debug CoreCLR)src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs#L891
Check failure on line 891 in src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs Azure Pipelines / runtime (Build linux-arm Debug AllSubsets_Mono)src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs#L891
Check failure on line 891 in src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs Azure Pipelines / runtime (Build linux_musl-x64 Release AllSubsets_Mono)src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs#L891
Check failure on line 891 in src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs Azure Pipelines / dotnet-linker-tests (Build browser-wasm linux release Runtime_Release)src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs#L891
Check failure on line 891 in src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs Azure Pipelines / dotnet-linker-testssrc/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs#L891
Check failure on line 891 in src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs Azure Pipelines / dotnet-linker-testssrc/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs#L891
Check failure on line 891 in src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs Azure Pipelines / dotnet-linker-testssrc/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs#L891
Check failure on line 891 in src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs Azure Pipelines / runtime (Build linux-riscv64 Release AllSubsets_Mono)src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs#L891
Check failure on line 891 in src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs Azure Pipelines / runtime (Build linux-x64 Debug AllSubsets_Mono_LLVMJIT)src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs#L891
Check failure on line 891 in src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs Azure Pipelines / runtime (Build linux-x64 debug Mono_Runtime)src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs#L891
Check failure on line 891 in src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs Azure Pipelines / runtime (Build wasi-wasm linux Release LibraryTests_Smoke_AOT)src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs#L891
Check failure on line 891 in src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs Azure Pipelines / runtime (Build wasi-wasm linux Release LibraryTests_Smoke)src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs#L891
Check failure on line 891 in src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs Azure Pipelines / runtime (Build android-arm Release AllSubsets_Mono)src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs#L891
Check failure on line 891 in src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs Azure Pipelines / runtime (Build linux-x64 Release AllSubsets_Mono_LLVMAOT)src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs#L891
Check failure on line 891 in src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs Azure Pipelines / runtime (Build linux-x64 Debug Mono_MiniJIT_LibrariesTests)src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs#L891
Check failure on line 891 in src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs Azure Pipelines / runtime (Build linux-x64 Debug Mono_Interpreter_LibrariesTests)src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs#L891
Check failure on line 891 in src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs Azure Pipelines / runtime (Build coreclr Common Pri0 Test Build AnyOS AnyCPU checked)src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs#L891
Check failure on line 891 in src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs Azure Pipelines / runtime (Build browser-wasm linux Release LibraryTests_Smoke_AOT)src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs#L891
Check failure on line 891 in src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs Azure Pipelines / runtime (Build browser-wasm linux Release LibraryTests)src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs#L891
Check failure on line 891 in src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs Azure Pipelines / runtime (Build browser-wasm linux Release LibraryTests_EAT)src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs#L891
Check failure on line 891 in src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs Azure Pipelines / runtime (Build browser-wasm linux Release AllSubsets_Mono_RuntimeTests monointerpreter)src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs#L891
Check failure on line 891 in src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs Azure Pipelines / runtime (Build linux-x64 checked CLR_Tools_Tests)src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs#L891
Check failure on line 891 in src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs Azure Pipelines / runtime (Build browser-wasm linux Release LibraryTests_Threading)src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs#L891
Check failure on line 891 in src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs Azure Pipelines / runtime (Build linux-x64 Release AllSubsets_Mono_LLVMAot_RuntimeTests llvmaot)src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs#L891
Check failure on line 891 in src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs Azure Pipelines / runtime (Build linux-x64 checked Native_GCC)src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs#L891
Check failure on line 891 in src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs Azure Pipelines / runtime-dev-innerloopsrc/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs#L891
Check failure on line 891 in src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs Azure Pipelines / runtime (Build linux-x64 release CrossAOT_Mono crossaot)src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs#L891
Check failure on line 891 in src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs Azure Pipelines / runtime (Build linux_musl-x64 release CrossAOT_Mono crossaot)src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs#L891
|
||
|
||
/// ConvertToUInt32 : Floating-point convert | ||
|
||
/// <summary> | ||
|
@@ -890,6 +911,27 @@ | |
public static unsafe Vector<uint> ConvertToUInt32(Vector<float> value) { throw new PlatformNotSupportedException(); } | ||
|
||
|
||
/// ConvertToUInt64 : Floating-point convert | ||
|
||
/// <summary> | ||
/// svuint64_t svcvt_u64[_f64]_m(svuint64_t inactive, svbool_t pg, svfloat64_t op) | ||
/// FCVTZU Ztied.D, Pg/M, Zop.D | ||
/// svuint64_t svcvt_u64[_f64]_x(svbool_t pg, svfloat64_t op) | ||
/// FCVTZU Ztied.D, Pg/M, Ztied.D | ||
/// svuint64_t svcvt_u64[_f64]_z(svbool_t pg, svfloat64_t op) | ||
/// </summary> | ||
public static unsafe Vector<ulong> ConvertToUInt64(Vector<double> value) { throw new PlatformNotSupportedException(); } | ||
|
||
/// <summary> | ||
/// svuint64_t svcvt_u64[_f32]_m(svuint64_t inactive, svbool_t pg, svfloat32_t op) | ||
/// FCVTZU Ztied.D, Pg/M, Zop.S | ||
/// svuint64_t svcvt_u64[_f32]_x(svbool_t pg, svfloat32_t op) | ||
/// FCVTZU Ztied.D, Pg/M, Ztied.S | ||
/// svuint64_t svcvt_u64[_f32]_z(svbool_t pg, svfloat32_t op) | ||
/// </summary> | ||
public static unsafe Vector<ulong> ConvertToUInt64(Vector<float> value) { throw new PlatformNotSupportedException(); } | ||
|
||
|
||
/// Count16BitElements : Count the number of 16-bit elements in a vector | ||
|
||
/// <summary> | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -926,6 +926,27 @@ | |
public static unsafe Vector<int> ConvertToInt32(Vector<float> value) => ConvertToInt32(value); | ||
|
||
|
||
/// ConvertToInt64 : Floating-point convert | ||
|
||
/// <summary> | ||
/// svint64_t svcvt_s64[_f64]_m(svint64_t inactive, svbool_t pg, svfloat64_t op) | ||
/// FCVTZS Ztied.D, Pg/M, Zop.D | ||
/// svint64_t svcvt_s64[_f64]_x(svbool_t pg, svfloat64_t op) | ||
/// FCVTZS Ztied.D, Pg/M, Ztied.D | ||
/// svint64_t svcvt_s64[_f64]_z(svbool_t pg, svfloat64_t op) | ||
/// </summary> | ||
public static unsafe Vector<long> ConvertToInt64(Vector<double> value) => ConvertToInt64(value); | ||
|
||
/// <summary> | ||
/// svint64_t svcvt_s64[_f32]_m(svint64_t inactive, svbool_t pg, svfloat32_t op) | ||
/// FCVTZS Ztied.D, Pg/M, Zop.S | ||
/// svint64_t svcvt_s64[_f32]_x(svbool_t pg, svfloat32_t op) | ||
/// FCVTZS Ztied.D, Pg/M, Ztied.S | ||
/// svint64_t svcvt_s64[_f32]_z(svbool_t pg, svfloat32_t op) | ||
/// </summary> | ||
public static unsafe Vector<long> ConvertToInt64(Vector<float> value) => ConvertToInt64(value); | ||
|
||
Check failure on line 948 in src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.cs Azure Pipelines / runtime (Build osx-arm64 Debug Libraries_CheckedCoreCLR)src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.cs#L948
Check failure on line 948 in src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.cs Azure Pipelines / runtime (Build osx-arm64 debug Mono_Runtime)src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.cs#L948
Check failure on line 948 in src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.cs Azure Pipelines / runtime (Build osx-arm64 Debug AllSubsets_CoreCLR)src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.cs#L948
Check failure on line 948 in src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.cs Azure Pipelines / runtime (Build ios-arm64 Release AllSubsets_NativeAOT)src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.cs#L948
Check failure on line 948 in src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.cs Azure Pipelines / runtime (Build tvos-arm64 Release AllSubsets_NativeAOT)src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.cs#L948
Check failure on line 948 in src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.cs Azure Pipelines / runtime (Build tvos-arm64 Release AllSubsets_Mono)src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.cs#L948
Check failure on line 948 in src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.cs Azure Pipelines / runtime (Build ios-arm64 Release AllSubsets_Mono)src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.cs#L948
Check failure on line 948 in src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.cs Azure Pipelines / runtime (Build linux_musl-arm64 Debug AllSubsets_CoreCLR_ReleaseRuntimeLibs)src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.cs#L948
Check failure on line 948 in src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.cs Azure Pipelines / runtime (Build linux-arm64 Debug Libraries_CheckedCoreCLR)src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.cs#L948
Check failure on line 948 in src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.cs Azure Pipelines / runtime (Build linux_musl-arm64 checked CoreCLR_ReleaseLibraries)src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.cs#L948
Check failure on line 948 in src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.cs Azure Pipelines / runtime (Build linux-arm64 Debug AllSubsets_CoreCLR)src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.cs#L948
Check failure on line 948 in src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.cs Azure Pipelines / runtime (Build linux-arm64 Debug AllSubsets_Mono_LLVMJIT)src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.cs#L948
Check failure on line 948 in src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.cs Azure Pipelines / runtime (Build linux-arm64 debug Mono_Runtime)src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.cs#L948
Check failure on line 948 in src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.cs Azure Pipelines / runtime (Build android-arm64 Release AllSubsets_Mono)src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.cs#L948
Check failure on line 948 in src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.cs Azure Pipelines / runtime (Build linux-arm64 Release AllSubsets_Mono_LLVMAOT)src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.cs#L948
Check failure on line 948 in src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.cs Azure Pipelines / runtime (Build linux-arm64 Debug Mono_MiniJIT_LibrariesTests)src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.cs#L948
Check failure on line 948 in src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.cs Azure Pipelines / runtime (Build linux-arm64 Release AllSubsets_Mono_Minijit_RuntimeTests minijit)src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.cs#L948
Check failure on line 948 in src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.cs Azure Pipelines / runtime (Build linux-arm64 release CrossAOT_Mono crossaot)src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.cs#L948
Check failure on line 948 in src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.cs Azure Pipelines / runtime (Build linux_musl-arm64 release CrossAOT_Mono crossaot)src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.cs#L948
|
||
|
||
/// ConvertToUInt32 : Floating-point convert | ||
|
||
/// <summary> | ||
|
@@ -947,6 +968,27 @@ | |
public static unsafe Vector<uint> ConvertToUInt32(Vector<float> value) => ConvertToUInt32(value); | ||
|
||
|
||
/// ConvertToUInt64 : Floating-point convert | ||
|
||
/// <summary> | ||
/// svuint64_t svcvt_u64[_f64]_m(svuint64_t inactive, svbool_t pg, svfloat64_t op) | ||
/// FCVTZU Ztied.D, Pg/M, Zop.D | ||
/// svuint64_t svcvt_u64[_f64]_x(svbool_t pg, svfloat64_t op) | ||
/// FCVTZU Ztied.D, Pg/M, Ztied.D | ||
/// svuint64_t svcvt_u64[_f64]_z(svbool_t pg, svfloat64_t op) | ||
/// </summary> | ||
public static unsafe Vector<ulong> ConvertToUInt64(Vector<double> value) => ConvertToUInt64(value); | ||
|
||
/// <summary> | ||
/// svuint64_t svcvt_u64[_f32]_m(svuint64_t inactive, svbool_t pg, svfloat32_t op) | ||
/// FCVTZU Ztied.D, Pg/M, Zop.S | ||
/// svuint64_t svcvt_u64[_f32]_x(svbool_t pg, svfloat32_t op) | ||
/// FCVTZU Ztied.D, Pg/M, Ztied.S | ||
/// svuint64_t svcvt_u64[_f32]_z(svbool_t pg, svfloat32_t op) | ||
/// </summary> | ||
public static unsafe Vector<ulong> ConvertToUInt64(Vector<float> value) => ConvertToUInt64(value); | ||
|
||
|
||
/// Count16BitElements : Count the number of 16-bit elements in a vector | ||
|
||
/// <summary> | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I expected to have entries for
ConvertToSingle
andConvertToDouble
here as well. Did you confirm this works for scenario wheremaskSize != operSize
in lowering?