On 20 January 2017 at 20:24, Segher Boessenkool <seg...@kernel.crashing.org> wrote: > Hi Bernd, > > On Fri, Jan 20, 2017 at 01:33:59PM +0100, Bernd Schmidt wrote: >> So, when looking for situations where we have only one condition, we can >> try to undo the conversion of a plain REG into a condition, on the >> grounds that this is probably less helpful. >> >> This seems to cure the testcase, but Segher also has a patch in the PR >> that looks like a good and more direct approach. IMO both should be >> applied. This one was bootstrapped and tested on x86_64-linux. Ok? > > My patch does not cure all problems, it simply simplifies things a bit > better; but the same is true for your patch if I read it correctly. > > Okay for trunk, and I'll do my half as well. Thanks, > >
Hi, It seems that Bernd's patch causes regressions on arm-linux-gnueabihf --with-cpu=cortex-a5 --with-fpu=vfpv3-d16-fp16: gcc.target/arm/vselvcdf.c scan-assembler-times vselvs.f64\td[0-9]+ 1 gcc.target/arm/vselvcsf.c scan-assembler-times vselvs.f32\ts[0-9]+ 1 gcc.target/arm/vselvsdf.c scan-assembler-times vselvs.f64\td[0-9]+ 1 gcc.target/arm/vselvssf.c scan-assembler-times vselvs.f32\ts[0-9]+ 1 Maybe the upcoming patch from Segher intends to address this? Thanks, Christophe > Segher > > >> PR rtl-optimization/71724 >> * combine.c (if_then_else_cond): Look for situations where it is >> beneficial to undo the work of one of the recursive calls.