[Bug tree-optimization/32004] [4.3 regression] : gcc.target/i386/pr21291.c

hjl at lucon dot org gcc-bugzilla@gcc.gnu.org
Sun May 20 20:40:00 GMT 2007



------- Comment #6 from hjl at lucon dot org  2007-05-20 21:40 -------
forwprop changes


<bb 2>:
  alen_4 = alen_2(D) - blen_3(D);
  out_5 = 0;
  __asm__("":"=r" a_9, "=r" b_10, "=mr" blen_11, "=mr" out_12, "=&r"
tmp_13:"mr"
 d_6(D), "0" a_7(D), "1" b_8(D), "2" blen_3(D), "3" 0:"edx", "eax");
  if (alen_4 == 0)
    goto <bb 3> (<L0>);
  else
    goto <bb 4> (<L1>);

to

<bb 2>:
  out_5 = 0;
  __asm__("":"=r" a_9, "=r" b_10, "=mr" blen_11, "=mr" out_12, "=&r"
tmp_13:"mr"
 d_6(D), "0" a_7(D), "1" b_8(D), "2" blen_3(D), "3" 0:"edx", "eax");
  if (alen_2(D) == blen_3(D))
    goto <bb 3> (<L0>);
  else
    goto <bb 4> (<L1>);

If it can use blen_11 instead of blen_3(D), it may compile. If forwprop can't
deal some asm stmts very well, it should skip those asm stmts.


-- 

hjl at lucon dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
          Component|middle-end                  |tree-optimization
   Target Milestone|4.3.0                       |---


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32004



More information about the Gcc-bugs mailing list