[Revamped version of this patch, combined with others, to follow] On Mar 10, 2021, Hans-Peter Nilsson <h...@bitrange.com> wrote:
> On Wed, 10 Mar 2021, Alexandre Oliva wrote: >> >> The test expects shrink-wrapping of the fsqrt call, but that will only >> occur when there is a usable sqrt insn. >> >> Arrange for dejagnu to add the options that enable the sqrt insn, if >> one is available, and to skip the test otherwise. >> >> >> H-P, this *should* obviate the mmix-specific dg-skip-if. > Unfortunately it doesn't. >> Would it be >> easy for you to confirm that this is the case and, if so, drop it? > About as easy as for anyone (this is a compile-test), but no > problem. Unfortunately I get, with your patch applied and the > dg-skip-if removed: > FAIL: gcc.dg/cdce3.c scan-tree-dump cdce "cdce3.c:12: [^\n\r]* > function call is shrink-wrapped into error conditions." Is mmix a sqrt_insn effective target? proc check_effective_target_sqrt_insn in gcc/testsuite/lib/target-supports.exp suggests it shouldn't pass, so I'm surprised it would still try to run the test despite the added /* { dg-require-effective-target sqrt_insn } */ directive. > The dump files and assembly file show no obvious clues to me as > to what is supposed to happen; attached. cdce3 is supposed to shrink-wrap the sqrtf(x) call into something like (x >= 0 ? .SQRT(x) : sqrtf(x)), where .SQRT stands for a square root instruction. Since we don't know why it still runs for you, I'm keeping the mmix explicit skip in the new version of the patch. Thanks, -- Alexandre Oliva, happy hacker https://FSFLA.org/blogs/lxo/ Free Software Activist GNU Toolchain Engineer More tolerance and less prejudice are key for inclusion and diversity Excluding neuro-others for not behaving ""normal"" is *not* inclusive