Connecting the GoldMont processor to his feature.
Add goldmount to llvm\test\CodeGen\X86\cpus.ll
You might want to add it to atom-sched.ll and atom-call-reg-indirect.ll as well
|517 ↗||(On Diff #103545)|
It'd be better if this is wired into something so you can test it - lea fixup or tti cost models would be the most straightforward.
Although ideally X86ProcFamilyEnum would die and the atom-style cpus would be driven by features/cost models like other cpus.
Were you able to get the family/model/stepping info for lib/Support/Host.cpp?
A search of the linux kernel definitions http://cinnabar.sosdg.org/~qiyong/qxr/linux/source/arch/x86/include/asm/intel-family.h#L62 suggest that steppings 0x5c, 0x7a, and 0x5f are all goldmonts.
|463 ↗||(On Diff #103874)|
Does GLM have faster PMULLD than silvermont or should we carry over FeatureSlowPMULLD to here?
I think this patch should focus on functionality only . All performance related issues may be resolved as separate patches following careful study of Intel optimization manual.
In which case it'd be better not to add the isGLM() and IntelGLM parts of the patch until they are actually needed. As I've already said, we should ideally be trying to get rid of X86ProcFamilyEnum.
I removed from the list of features two features FeatureSlowDivide64 and FeatureSlowPMULLD. According to the optimization manual ,that Igor added ,this issues were fixed in the GoldMont processor. Regard @RKSimon I agree with you that we want to remove the isglm() until use. But I prefer no touch the IntelGLM since I want to specialize Goldmont from the other ATOM processors .