This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/50182] Performance degradation from gcc 4.1 (x86_64)
- From: "xinliangli at gmail dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Thu, 25 Aug 2011 00:13:00 +0000
- Subject: [Bug target/50182] Performance degradation from gcc 4.1 (x86_64)
- Auto-submitted: auto-generated
- References: <bug-50182-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50182
--- Comment #3 from davidxl <xinliangli at gmail dot com> 2011-08-25 00:13:00 UTC ---
Caused by differences in FE generated code:
46:
D.6887 = (int) D.6886;
D.6888 = custom_constant_add<signed char>::do_shift (D.6887);
D.6889 = (unsigned char) D.6888;
result.8 = (unsigned char) result;
D.6891 = D.6889 + result.8;
result = (signed char) D.6891;
n = n + 1;
trunk:
D.6938 = (int) D.6937;
D.6874 = custom_constant_add<signed char>::do_shift (D.6938);
D.6939 = (int) result; <-- promoted to int
D.6940 = (int) D.6874; <---promoted to int
D.6941 = D.6939 + D.6940;
result = (signed char) D.6941;
n = n + 1;