On Thu, Mar 09, 2017 at 02:06:16PM -0800, Andrew Pinski wrote: > On Thu, Mar 9, 2017 at 6:42 AM, Wilco Dijkstra <wilco.dijks...@arm.com> wrote: > > Hi, > > > > Recently we've put a lot of effort into improving ifcvt to use CSEL on > > AArch64. In https://gcc.gnu.org/ml/gcc-patches/2015-11/msg01639.html > > James determined the best value for AArch64 code generation.
This was before the rewrite to the ifcvt costs which I made earlier in the GCC 7 release cycle. But I think 1,3 is about right, and I'd be happy to see us take that direction for "generic". I'd like to hear comments from the Exynos-M1, Falkor and xgene-1 subtarget contributors, particularly as these targets use generic_branch_costs for their subtarget-sepcific tuning. It may be that your patch needs to preserve the 2,2 setting for such cores even if the generic target does move to 1,3. At this stage in the release, this patch will have to wait for GCC 8 regardless of any comments received. I'd suggest that when we do think about this for GCC 8, we might want to take a wider look at the "generic" tunings, any opinions from other subtarget contributors, or the other AArch64 maintainers as to further changes they would advocate for would be welcome. > I have no objections. In fact thunderx2t99's branch_cost is 1,3. I > had not looked into improving thunderx branch cost yet but that might > be because I have local patches that improve phiopt for doing ifcvt > earlier. Also my phiopt change does not have a cost model either so > using csel more is good for thunderx 1 and ThunderX 2. Thanks for the comments, James