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