Commit 204194 from Andrew Pinski introduced several new tests, among which gcc.dg/tree-ssa/ssa-ifcombine-ccmp-1.c scan-tree-dump optimized "&" gcc.dg/tree-ssa/ssa-ifcombine-ccmp-4.c scan-tree-dump optimized "&" gcc.dg/tree-ssa/ssa-ifcombine-ccmp-5.c scan-tree-dump-times optimized "&" 2 gcc.dg/tree-ssa/ssa-ifcombine-ccmp-6.c scan-tree-dump-times optimized "\\|" 2 fail when configuring --target arm-none-linux-gnueabihf --with-cpu=cortex-a5 --with-fpu=vfpv3-d16-fp16.
They depend on BRANCH_COST, their target selector needs updating for arm. /* { dg-do compile { target { ! "m68k*-*-* mmix*-*-* mep*-*-* bfin*-*-* v850*-*-* picochip*-*-* moxie*-*-* cris*-*-* m32c*-*-* fr30*-*-* mcore*-*-* powerpc*-*-* xtensa*-*-* arc*-*-*"} } } */ or rather we should have a effective-target logical_op_non_short_circuit
So, now that r207810 has been committed, shouldn't these tests be updated too?
Yes.
It's not as simple as updating the target selector. LONSC_P depends on BRANCH_COST, which can vary depending on the specific micro-architecture for the target system.
So the test can then be improved for ARM by testing GCC predefined macros or something similar, to make check_effective_target_logical_op_short_circuit more precise. Are you sure check_effective_target_arm_cortex_m isn't good enough for ARM?
Don't see why this should be P1, it is testsuite only thing.
Created attachment 32258 [details] gcc49-pr59308.patch Patch (only tested on x86_64-linux with --target_board=unix\{-m32,-m32/-march=i386,-m64\} where some of those tests previously also failed with -march=i386 variant). Though, I wonder if it wouldn't be better to just compile or run those tests just on targets which do support -mbranch-cost=2 option (mips/avr/s390/i?86/x86_64) and ignore all other targets. The tests are testing GIMPLE behavior anyway.
Author: jakub Date: Wed Mar 5 20:07:50 2014 New Revision: 208354 URL: http://gcc.gnu.org/viewcvs?rev=208354&root=gcc&view=rev Log: PR testsuite/59308 * gcc.dg/pr46309.c: Don't compile on logical_op_short_circuit targets other than mips/avr. Use -mbranch-cost=2 even for i?86/x86_64. * gcc.dg/tree-ssa/reassoc-32.c: Use -mbranch-cost=2 even for s390*/i?86/x86_64. * gcc.dg/tree-ssa/reassoc-33.c: Likewise. * gcc.dg/tree-ssa/reassoc-34.c: Likewise. * gcc.dg/tree-ssa/reassoc-35.c: Likewise. * gcc.dg/tree-ssa/reassoc-36.c: Likewise. * gcc.dg/tree-ssa/ssa-ifcombine-ccmp-1.c: Don't compile on logical_op_short_circuit targets other than avr. Use -mbranch-cost=2 even for mips*/s390*/i?86/x86_64. * gcc.dg/tree-ssa/ssa-ifcombine-ccmp-2.c: Likewise. * gcc.dg/tree-ssa/ssa-ifcombine-ccmp-3.c: Likewise. * gcc.dg/tree-ssa/ssa-ifcombine-ccmp-4.c: Likewise. * gcc.dg/tree-ssa/ssa-ifcombine-ccmp-5.c: Likewise. * gcc.dg/tree-ssa/ssa-ifcombine-ccmp-6.c: Likewise. Modified: trunk/gcc/testsuite/ChangeLog trunk/gcc/testsuite/gcc.dg/pr46309.c trunk/gcc/testsuite/gcc.dg/tree-ssa/reassoc-32.c trunk/gcc/testsuite/gcc.dg/tree-ssa/reassoc-33.c trunk/gcc/testsuite/gcc.dg/tree-ssa/reassoc-34.c trunk/gcc/testsuite/gcc.dg/tree-ssa/reassoc-35.c trunk/gcc/testsuite/gcc.dg/tree-ssa/reassoc-36.c trunk/gcc/testsuite/gcc.dg/tree-ssa/ssa-ifcombine-ccmp-1.c trunk/gcc/testsuite/gcc.dg/tree-ssa/ssa-ifcombine-ccmp-2.c trunk/gcc/testsuite/gcc.dg/tree-ssa/ssa-ifcombine-ccmp-3.c trunk/gcc/testsuite/gcc.dg/tree-ssa/ssa-ifcombine-ccmp-4.c trunk/gcc/testsuite/gcc.dg/tree-ssa/ssa-ifcombine-ccmp-5.c trunk/gcc/testsuite/gcc.dg/tree-ssa/ssa-ifcombine-ccmp-6.c
Assuming this is fixed, please reopen if not with details where it fails and what.