[Bug target/53987] [SH] Unnecessary zero-extensions

2015-09-09 Thread olegendo at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53987 --- Comment #13 from Oleg Endo --- attachment 36309 of PR 67506 is another example. It contains the following code sequence: mov.b @r2,r0 << extu.b r0,r0<< tst #128,r0 bt/s.L11 extu.w

[Bug target/53987] [SH] Unnecessary zero-extensions

2015-08-01 Thread olegendo at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53987 --- Comment #12 from Oleg Endo olegendo at gcc dot gnu.org --- The following case: int fun_01 (char* x, char* y, int z) { return ((x[1] x[2] x[3]) == 0) + z; } results in: add #1,r4 mov.b @r4+,r2 mov #0,r0

[Bug target/53987] [SH] Unnecessary zero-extensions

2015-01-27 Thread olegendo at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53987 --- Comment #11 from Oleg Endo olegendo at gcc dot gnu.org --- (In reply to Oleg Endo from comment #9) Another related issue is this example function: unsigned char h (unsigned char a, int b) { return (unsigned char)(a + b); } It

[Bug target/53987] [SH] Unnecessary zero-extensions

2015-01-24 Thread olegendo at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53987 --- Comment #10 from Oleg Endo olegendo at gcc dot gnu.org --- Author: olegendo Date: Sat Jan 24 13:04:53 2015 New Revision: 220081 URL: https://gcc.gnu.org/viewcvs?rev=220081root=gccview=rev Log: gcc/ PR target/49263 PR target/53987

[Bug target/53987] [SH] Unnecessary zero-extensions

2015-01-14 Thread olegendo at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53987 --- Comment #9 from Oleg Endo olegendo at gcc dot gnu.org --- Another related issue is this example function: unsigned char h (unsigned char a, int b) { return (unsigned char)(a + b); } compiling with -O2 -mrenesas (which allows undefined

[Bug target/53987] [SH] Unnecessary zero-extensions

2014-12-30 Thread olegendo at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53987 --- Comment #8 from Oleg Endo olegendo at gcc dot gnu.org --- Author: olegendo Date: Tue Dec 30 17:26:18 2014 New Revision: 219110 URL: https://gcc.gnu.org/viewcvs?rev=219110root=gccview=rev Log: gcc/testsuite/ PR target/53987 *

[Bug target/53987] [SH] Unnecessary zero-extensions

2014-12-24 Thread olegendo at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53987 --- Comment #7 from Oleg Endo olegendo at gcc dot gnu.org --- In bzip2-1.0.2/blocksort.s there is code such as: .L294: mov.b @(4,r11),r0 extu.b r0,r11 mov.b @(4,r3),r0 extu.b r0,r3 cmp/eq r3,r11

[Bug target/53987] [SH] Unnecessary zero-extensions

2014-12-22 Thread olegendo at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53987 --- Comment #6 from Oleg Endo olegendo at gcc dot gnu.org --- In the following example function bool stack_is_background_free( unsigned short* _data, const size_t _size){ size_t num_pixels_above_128 = 0; for(size_t index = 0;index

[Bug target/53987] [SH] Unnecessary zero-extensions

2014-12-21 Thread olegendo at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53987 --- Comment #5 from Oleg Endo olegendo at gcc dot gnu.org --- (In reply to Oleg Endo from comment #4) It seems that converting unsigned values to signed values, i.e. replacing zero-extensions with sign-extensions and recombining sign-extensions