Chritstophe reported to me that the commit caused test-cases pr35691-1.c and pr35691-2.c (which were added by the commit) to FAIL for cortex-a5: http://people.linaro.org/~christophe.lyon/cross-validation/gcc/trunk/241915/arm-none-linux-gnueabihf/diff-gcc-rh60-arm-none-linux-gnueabihf-arm-cortex-a5-vfpv3-d16-fp16.txt
I also see the test fail on powerpc64le. The forwprop1 tree dump is attached in case it helps. Martin
;; Function foo (foo, funcdef_no=0, decl_uid=2506, cgraph_uid=0, symbol_order=0) Applying pattern match.pd:2422, gimple-match.c:1704 Applying pattern match.pd:913, gimple-match.c:621 Applying pattern match.pd:901, gimple-match.c:164 Applying pattern match.pd:2685, gimple-match.c:59999 gimple_simplified to if (_1 != 0) Applying pattern match.pd:913, generic-match.c:429 Applying pattern match.pd:901, generic-match.c:136 Applying pattern match.pd:2685, generic-match.c:30968 Replaced '_1 != 0' with 'z0_4(D) == 0' Applying pattern match.pd:2422, gimple-match.c:1704 Applying pattern match.pd:913, gimple-match.c:621 Applying pattern match.pd:901, gimple-match.c:164 Applying pattern match.pd:2685, gimple-match.c:59999 gimple_simplified to if (_2 != 0) Applying pattern match.pd:913, generic-match.c:429 Applying pattern match.pd:901, generic-match.c:136 Applying pattern match.pd:2685, generic-match.c:30968 Replaced '_2 != 0' with 'z1_6(D) == 0' gimple_simplified to _11 = iftmp.0_3; foo (int z0, unsigned int z1) { int t2; int t1; int t0; _Bool _1; _Bool _2; int iftmp.0_3; int _11; <bb 2>: _1 = z0_4(D) == 0; t0_5 = (int) _1; _2 = z1_6(D) == 0; t1_7 = (int) _2; if (z0_4(D) == 0) goto <bb 3>; else goto <bb 4>; <bb 3>: if (z1_6(D) == 0) goto <bb 5>; else goto <bb 4>; <bb 4>: <bb 5>: # iftmp.0_3 = PHI <1(3), 0(4)> t2_10 = iftmp.0_3; _11 = iftmp.0_3; return _11; }