Patch to extend the fix PR53676 to unsigned char
Laurent Alfonsi
laurent.alfonsi@st.com
Mon Apr 22 16:24:00 GMT 2013
The patch well fix the adobe_cpp performance regression on the int8_t
type. But the same degradation exists on uint8_t type, which is not
fixed by the patch referenced in PR53676.
With the signed version, the code:
result_5 = (signed char) ((int) result_2 + 2)
is now well narrowed to:
result_5 = (signed char) ((unsigned char) result_2 + 2)
But with the unsigned version:
result_5 = (unsigned char) ((int) result_2 + 2)
is not narrowed to:
result_5 = (unsigned char) ((unsigned char) result_2 + 2)
As a consequence, result_5 is not detected as polynomial, and the loop
is not removed.
Tested on SH target. bootstrap + regression tests on
x86_64-unknown-linux-gnu in progress.
Regards,
Laurent
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 53676-extension.patch
Type: text/x-patch
Size: 1361 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20130422/8db569ee/attachment.bin>
More information about the Gcc-patches
mailing list