------- Additional Comments From uros at kss-loka dot si 2005-01-31 11:14 ------- This is .t69.final_cleanup:
;; Function long long int __vector__ not_eliminated_bis(const int&) (_Z18not_eliminated_bisRKi) long long int __vector__ not_eliminated_bis(const int&) (i) { int __q0; <bb 0>: __q0 = *i; return (__m128i) {__q0, __q0, __q0, __q0}; } ;; Function int main() (main) int main() () { <bb 0>: return 0; } ;; Function long long int __vector__ eliminated(int) (_Z10eliminatedi) long long int __vector__ eliminated(int) (i) { <bb 0>: return (__m128i) {i, i, i, i}; } ;; Function long long int __vector__ not_eliminated(const int*) (_Z14not_eliminatedPKi) long long int __vector__ not_eliminated(const int*) (i) { int __q0; <bb 0>: __q0 = *i; return (__m128i) {__q0, __q0, __q0, __q0}; } We have the assignment __q0 = *i in every function where we expect this temporary to be eliminated. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19714