[Bug rtl-optimization/27437] [4.2 Regression]: -O3 regression due to SEE

2006-05-05 Thread reichelt at gcc dot gnu dot org
--- Comment #3 from reichelt at gcc dot gnu dot org 2006-05-05 12:39 --- *** Bug 27443 has been marked as a duplicate of this bug. *** -- reichelt at gcc dot gnu dot org changed: What|Removed |Added

[Bug rtl-optimization/27437] [4.2 Regression]: -O3 regression due to SEE

2006-05-05 Thread reichelt at gcc dot gnu dot org
--- Comment #4 from reichelt at gcc dot gnu dot org 2006-05-05 12:41 --- Here's a testcase that crashes on x86_64-unknown-linux-gnu with -O3 or -O2 -fsee: unsigned char foo(unsigned char i) { while (1 i) --i; return i; }

[Bug rtl-optimization/27437] [4.2 Regression]: -O3 regression due to SEE

2006-05-05 Thread hjl at lucon dot org
--- Comment #5 from hjl at lucon dot org 2006-05-05 13:01 --- There are several problems with the current SEE implementation: 1. SEE uses NEXT_INSN/PREV_INSN to find adjacent insns to check if SEE is safe. But with -g, NEXT_INSN/PREV_INSN may point to a NOTE: (note:HI 17 14 18 2

[Bug rtl-optimization/27437] [4.2 Regression]: -O3 regression due to SEE

2006-05-05 Thread pinskia at gcc dot gnu dot org
--- Comment #6 from pinskia at gcc dot gnu dot org 2006-05-05 15:04 --- (In reply to comment #5) There are several problems with the current SEE implementation: 1. SEE uses NEXT_INSN/PREV_INSN to find adjacent insns to check if SEE is safe. But with -g, NEXT_INSN/PREV_INSN may

[Bug rtl-optimization/27437] [4.2 Regression]: -O3 regression due to SEE

2006-05-05 Thread hjl at lucon dot org
-- hjl at lucon dot org changed: What|Removed |Added CC||denis dot nagorny at intel ||dot

[Bug rtl-optimization/27437] [4.2 Regression]: -O3 regression due to SEE

2006-05-05 Thread hjl at lucon dot org
--- Comment #7 from hjl at lucon dot org 2006-05-05 15:49 --- (In reply to comment #6) (In reply to comment #5) There are several problems with the current SEE implementation: 1. SEE uses NEXT_INSN/PREV_INSN to find adjacent insns to check if SEE is safe. But with -g,

[Bug rtl-optimization/27437] [4.2 Regression] -O3 regression due to SEE

2006-05-05 Thread pinskia at gcc dot gnu dot org
--- Comment #8 from pinskia at gcc dot gnu dot org 2006-05-05 16:49 --- (In reply to comment #7) You are right. Using next_nonnote_insn/prev_nonnote_insn won't solve -O3 (without -g). One real problem is SEE can't determine if SEE is safe by just looking at

[Bug rtl-optimization/27437] [4.2 Regression] -O3 regression due to SEE

2006-05-05 Thread pinskia at gcc dot gnu dot org
--- Comment #9 from pinskia at gcc dot gnu dot org 2006-05-05 21:15 --- *** Bug 27450 has been marked as a duplicate of this bug. *** -- pinskia at gcc dot gnu dot org changed: What|Removed |Added

[Bug rtl-optimization/27437] [4.2 Regression] -O3 regression due to SEE

2006-05-05 Thread pinskia at gcc dot gnu dot org
--- Comment #10 from pinskia at gcc dot gnu dot org 2006-05-05 22:18 --- Here is another testcase: unsigned char clip_uint8(int a) { if (a(~255)) return (-a)31; return a; } -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27437

[Bug rtl-optimization/27437] [4.2 Regression] -O3 regression due to SEE

2006-05-05 Thread pinskia at gcc dot gnu dot org
--- Comment #11 from pinskia at gcc dot gnu dot org 2006-05-05 22:22 --- My last case looks like HJL's 4 case. I wish x86 was not like this instead did something different bug oh well (insn:HI 6 8 7 2 (set (reg/v:SI 60 [ a ]) (mem/c/i:SI (reg/f:SI 16 argp) [2 a+0 S4 A32])) 34

[Bug rtl-optimization/27437] [4.2 Regression]: -O3 regression due to SEE

2006-05-04 Thread pinskia at gcc dot gnu dot org
--- Comment #1 from pinskia at gcc dot gnu dot org 2006-05-04 19:21 --- One reduced testcase while bootstrapping: int partition_new (int *e1, int *e2) { if (e1 e2) return -1; else if (e1 e2) return 1; return 0; } -- pinskia at gcc dot gnu dot org changed:

[Bug rtl-optimization/27437] [4.2 Regression]: -O3 regression due to SEE

2006-05-04 Thread pinskia at gcc dot gnu dot org
--- Comment #2 from pinskia at gcc dot gnu dot org 2006-05-04 23:01 --- (In reply to comment #1) One reduced testcase while bootstrapping: In that testcase, we produce a subreg of mode QI and also a zero entend of SI. Both of those look wrong in general, maybe that is just