This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug target/50182] Performance degradation from gcc 4.1 (x86_64)


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;


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]