------- Comment #22 from ebotcazou at gcc dot gnu dot org  2005-10-25 15:33 
-------
Jan,

> Can you please check if -fno-tree-ter makes the bug go away?  We've
> chatted recently with Jakub concerning bug in argument saving in nested
> call and -maccumulate-outgoing-args.  I was under impression that we
> should no longer produce the nested calls out of ter but aparently it is
> still being done (that results in inferrior code quality too as we can't
> generated nested calls very sanely)

Would that be an acceptable fix (not rematerializing nested calls)?

> Also can you also, please, point me closer to place in .optimized dump
> where the misscompilation happens?

 <L12>:;
-  temp.456 = d[3]{lb: 1 sz: 4};
-  t1.427 = system__arith_64__Oconcat (temp.433, temp.456);
-  temp.460 = d[4]{lb: 1 sz: 4};
-  D.712 = system__arith_64__Orem (t1.427, zlo);
-  D.713 = system__arith_64__lo (D.712);
-  t2.450 = system__arith_64__Oconcat (D.713, temp.460);
-  D.715 = system__arith_64__Odivide (t2.450, zlo);
-  D.716 = system__arith_64__lo (D.715);
-  D.717 = system__arith_64__Odivide (t1.427, zlo);
-  D.718 = system__arith_64__lo (D.717);
-  qu = system__arith_64__Oconcat (D.718, D.716);
+  t1.427 = system__arith_64__Oconcat (temp.433, d[3]{lb: 1 sz: 4});
+  t2.450 = system__arith_64__Oconcat (system__arith_64__lo
(system__arith_64__Orem (t1.427, zlo)), d[4]{lb: 1 sz: 4});
+  qu = system__arith_64__Oconcat (system__arith_64__lo
(system__arith_64__Odivide (t1.427, zlo)), system__arith_64__lo
(system__arith_64__Odivide (t2.450, zlo)));
   ru = system__arith_64__Orem (t2.450, zlo);
   goto <bb 37> (<L50>);

-: -O1 -fno-tree-ter
+: -O1


-- 


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

Reply via email to