Re: [r16-3760 Regression] FAIL: g++.target/i386/pr116896-1.C -std=gnu++23 scan-assembler-times \tjp\t 1 on Linux/x86_64

Robin Dapp via Gcc-regression <[email protected]>
Newsgroups gmane.comp.gcc.regression,gmane.comp.gcc.patches
Message-ID <[email protected]>
> I also believe that we should keep the before one. The main problem I suppose
> would be the extra ucomi here. It is an even bigger problem than the conditional
> jmp vs cmov originally in that PR.

The conversion noce_try_cmove_arith succeeds now, with the skylake+ arch.
The cost for the before sequence is 32.  The ifcvt'ed sequence has the same 
cost and that's why we choose it.

I find both slightly surprising.  The before seq seems expensive (for a maximum 
of two insns and a jump) and the after seq is a bit cheap (five insns) if cmov 
and ucomi are not preferable.  The branch costs are no factor as -mbranch-cost 
doesn't make a difference.

I'll check the individual insn costs next but it won't hurt if somebody with a 
better grasp of x86 costing can chime in.

-- 
Regards
 Robin
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.