<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
Hi Bradley,<br>
<br>
I was doing some performance analysis for ARMv7 (cortex-a9) and I
noticed that one of my benchmarks degraded by 93%. I have tracked
the regression down to the following commit by you:<br>
<i><br>
</i><i>commit 7c1b77248baaeafec5d6433c3d1da9a2e2b69595</i><i><br>
</i><i>Author: Bradley Smith <a moz-do-not-send="true"
class="moz-txt-link-rfc2396E"
href="mailto:bradley.smith@arm.com"><bradley.smith@arm.com></a></i><i><br>
</i><i>Date: Mon Nov 16 11:10:19 2015 +0000</i><i><br>
</i><i> [ARM] Introduce subtarget features per ARM architecture.</i><i><br>
</i><i> This allows for accurate architecture targeting as well
as removing</i><i><br>
</i><i> duplicate information (hardcoded feature strings) from
MCTargetDesc.</i><br>
<br>
I see that in lib/Target/ARM/ARM.td all the features have been
removed from Proc definition (e.g.: ProcA9) and added to
ProcessorModel definition (e.g.: ProcessorModel<"cortex-a9").<br>
But I find that the features from Proc are still being read and set
in MCSubtargetInfo through the ARMFeatureKV table. So if the Proc is
empty the corresponding feature is not being set.<br>
In my case, if I add FeatureFP16 back to the ProcA9 definition in
ARM.td I get back all the lost performance.<br>
<br>
Could you please give me some insight on how, after your change, do
the Proc features get correctly set in MCSubtargetInfo and other
places which access Proc?<br>
<br>
Thanks,<br>
Mandeep<br>
</body>
</html>