[Bug middle-end/29274] [4.3/4.4/4.5 Regression] not using mulsidi3

froydnj at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Wed Aug 26 15:50:00 GMT 2009



------- Comment #8 from froydnj at gcc dot gnu dot org  2009-08-26 15:50 -------
Even if the problems in expand are fixed, reassoc is still going to cause
problems with the original testcase.  From the dse1 dump:

  D.2474_14 = (long long int) vLo_11;
  D.2475_15 = (long long int) c1_6;
  D.2476_16 = D.2474_14 * D.2475_15;
  D.2477_19 = (long long int) c2_8;
  D.2478_20 = D.2474_14 * D.2477_19;

>From the reassoc1 dump right after:

  D.2474_14 = (long long int) vLo_11;
  D.2475_15 = (long long int) c1_6;
  D.2477_19 = (long long int) c2_8;
  D.2495_16 = D.2477_19 + D.2475_15;
  D.2495_20 = D.2495_16 * D.2474_14;

So we've traded a multiplication for an addition, but we've also made it
difficult to see that we could have used mulsidi3.


-- 

froydnj at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |froydnj at gcc dot gnu dot
                   |                            |org


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



More information about the Gcc-bugs mailing list