You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Articfacts are saved witht he CpuFeatures of the host machine used for the compilation (wich is a subset of the actual cpu features). When the artifacts is deserialized, that feature set is compared to the new host machine and there is a faillure if the features set don't match.
While it's correct behaviour for Cranelift and LLVM artifacts, bacause the whole cpu feature set can be used, it's too concervative for Singlepass compiler, that will use only a few of the cpufeatures.
Proposed solution
Store the potentialy used subset of cpufeatures in the artifacts. That will not change for Cranelift and LLVM artifacts, but will store only a few for Singlepass (AVX, SSE42 and LZCNT for now).
Note that this should apply only on x86_64 plateform, as ARM64 or other doesn't use cpu feature yet.
The text was updated successfully, but these errors were encountered:
3363: Store Used CpuFeature in Artifact instead of Present CpuFeatures for Singlepass r=syrusakbary a=ptitSeb
# Description
Added a function in Compiler trait to list the potentially used CpuFeatures. This is then used when storing the Artifact.
Singlepass compiler only use a handfull of cpufeature on x86_64, so it's usefull there to avoid marking artifact as needing features like AVX512 while it's not used at all.
For #3362
Co-authored-by: ptitSeb <[email protected]>
Motivation
Articfacts are saved witht he CpuFeatures of the host machine used for the compilation (wich is a subset of the actual cpu features). When the artifacts is deserialized, that feature set is compared to the new host machine and there is a faillure if the features set don't match.
While it's correct behaviour for Cranelift and LLVM artifacts, bacause the whole cpu feature set can be used, it's too concervative for Singlepass compiler, that will use only a few of the cpufeatures.
Proposed solution
Store the potentialy used subset of cpufeatures in the artifacts. That will not change for Cranelift and LLVM artifacts, but will store only a few for Singlepass (AVX, SSE42 and LZCNT for now).
Note that this should apply only on x86_64 plateform, as ARM64 or other doesn't use cpu feature yet.
The text was updated successfully, but these errors were encountered: