[match.pd] Fix for PR35691

Martin Sebor msebor@gmail.com
Tue Nov 8 16:48:00 GMT 2016


> 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
-------------- next part --------------

;; 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;

}




More information about the Gcc-patches mailing list