https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120533

            Bug ID: 120533
           Summary: GCN: FAIL: gcc.dg/tree-ssa/phiprop-2.c
                    scan-tree-dump-times phiopt2 "MIN_EXPR " 1
           Product: gcc
           Version: 16.0
            Status: UNCONFIRMED
          Keywords: testsuite-fail
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: tschwinge at gcc dot gnu.org
                CC: ams at gcc dot gnu.org, pinskia at gcc dot gnu.org
  Target Milestone: ---
            Target: GCN

The 'gcc.dg/tree-ssa/phiprop-2.c' added in commit
r16-1068-g4756557f5e3262f7f733f583bbbd69387fca8017 "phiprop: Add testcase for
already fixed case [PR116824]" partially FAILs for '--target=amdgcn-amdhsa':

    PASS: gcc.dg/tree-ssa/phiprop-2.c (test for excess errors)
    PASS: gcc.dg/tree-ssa/phiprop-2.c scan-tree-dump-times phiprop1 "Inserting
PHI for result of load" 1
    FAIL: gcc.dg/tree-ssa/phiprop-2.c scan-tree-dump-times phiopt2 "MIN_EXPR "
1

Instead of something like:

    ;; Function g (g, funcdef_no=0, decl_uid=4057, cgraph_uid=1,
symbol_order=0)

    Removing basic block 3
    Merging blocks 2 and 4
    int g (int i, int * tt)
    {
      int _1;

      <bb 2> [local count: 1073741824]:
      _1 = MIN_EXPR <i_8(D), 10>;
      *tt_4(D) = 1;
      return _1;

    }

..., we've got:

    ;; Function g (g, funcdef_no=0, decl_uid=2080, cgraph_uid=1,
symbol_order=0)

    int g (int i, int * tt)
    { 
      int _7;

      <bb 2> [local count: 1073741824]:
      if (i_8(D) > 10)
        goto <bb 3>; [35.00%]
      else
        goto <bb 4>; [65.00%]

      <bb 3> [local count: 375809640]:
      *tt_4(D) = 1;
      goto <bb 5>; [100.00%]

      <bb 4> [local count: 697932184]:
      *tt_4(D) = 1;

      <bb 5> [local count: 1073741824]:
      # _7 = PHI <10(3), i_8(D)(4)>
      return _7;

    }

Reply via email to