------- Comment #2 from pinskia at gcc dot gnu dot org 2006-03-03 14:02 ------- Actually nope. There are a couple of different issues here. First is store_copyprop does not work: # SFT.10_29 = V_MAY_DEF <SFT.10_10>; # SFT.11_30 = V_MAY_DEF <SFT.11_11>; # SFT.12_31 = V_MAY_DEF <SFT.12_12>; # SFT.14_32 = V_MAY_DEF <SFT.14_14>; # SFT.13_28 = V_MUST_DEF <SFT.13_13>; src.vec = D.5885_25; # VUSE <SFT.10_29>; # VUSE <SFT.11_30>; # VUSE <SFT.12_31>; # VUSE <SFT.13_28>; # VUSE <SFT.14_32>; D.5880_33 = src.vec; Which is PR 26135.
The second issue is no copyprop for aggregates: # SFT.10_10 = V_MUST_DEF <SFT.10_5>; # SFT.11_11 = V_MUST_DEF <SFT.11_6>; # SFT.12_12 = V_MUST_DEF <SFT.12_7>; # SFT.13_13 = V_MUST_DEF <SFT.13_8>; # SFT.14_14 = V_MUST_DEF <SFT.14_9>; # VUSE <b_4>; src = b; # VUSE <SFT.10_10>; # VUSE <SFT.11_11>; # VUSE <SFT.12_12>; # VUSE <SFT.13_13>; # VUSE <SFT.14_14>; D.5880_15 = src.vec; Which is PR 14295. After those two are fixed, this should be fixed Also. -- pinskia at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- BugsThisDependsOn| |14295, 26135 Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 GCC build triplet|x86_64-pc-linux-gnu | GCC host triplet|x86_64-pc-linux-gnu | GCC target triplet|x86_64-pc-linux-gnu | Last reconfirmed|0000-00-00 00:00:00 |2006-03-03 14:02:47 date| | Summary|Passing unions of _vector_ |[meta-bugs] couple of missed |types and struct or array of|optimization with respect of |the same size as value to |vector and unions |inline functions causes | |unecessary load/stores on | |the stack even if no members| |except the _vector_ is | |accessed | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26546