2 GCC regressions, 1 new, with your patch on 2003-10-19T21:57:41Z.

Zdenek Dvorak rakdver@atrey.karlin.mff.cuni.cz
Mon Oct 20 09:11:00 GMT 2003


Hello,

> This test is still wrong on PPC (both on the mainline and the tree-ssa):
> GCC produces:
>  _foo:
>         cmpwi cr7,r3,0
>         beq- cr7,L2
>         dummy1
> L2:
>         dummy2
>         beqlr- cr7
>         dummy3
>         blr
>
> which means that dummy3 is not executed if cr7's "equal to" bit is on.
> So counting labels is still wrong.
> New way after patch:
> /* { dg-final { scan-assembler-times "L" 4 } } */
> Old way before patch:
> /* { dg-final { scan-assembler "L(:|\\\$0*)?2" } } */
> 
> The old way only looks for L2 or L:2 which in this case is right

by pure luck...

> but is 
> very fragile as the testcase says.
> 
> I want to say we need a way for this test to be not failing on all 
> targets (on all branches also which it really passes but current or old 
> way fails for it).

Seems hard to do.  Perhaps scanning assembler with -dP for jump_insn could be
more reliable; I will check.

Zdenek



More information about the Gcc-regression mailing list