[Bug middle-end/27016] ARM optimizer produces severely suboptimal code

2010-01-01 Thread steven at gcc dot gnu dot org
--- Comment #6 from steven at gcc dot gnu dot org 2010-01-02 01:05 --- Comment #3 and comment #5 still true with GCC: (GNU) 4.5.0 20090808 (experimental) [trunk revision 150579] - reconfirmed. -- steven at gcc dot gnu dot org changed: What|Removed

[Bug middle-end/27016] ARM optimizer produces severely suboptimal code

2009-06-30 Thread steven at gcc dot gnu dot org
--- Comment #3 from steven at gcc dot gnu dot org 2009-06-30 11:35 --- For this test case: unsigned int code_in_ram[100]; void testme(void) { unsigned int *p_rom, *p_ram, *p_end, len; extern unsigned int _ram_erase_sector_start; extern unsigned int _ram_erase_sector_end;

[Bug middle-end/27016] ARM optimizer produces severely suboptimal code

2009-06-30 Thread steven at gcc dot gnu dot org
--- Comment #4 from steven at gcc dot gnu dot org 2009-06-30 13:21 --- The auto-inc-dec pass fails because the store and the reg increment are not in the same basic block. The dump of the pass before auto-inc-dec (reginfo) looks like this: ;; Function testme (testme) 74

[Bug middle-end/27016] ARM optimizer produces severely suboptimal code

2009-06-30 Thread steven at gcc dot gnu dot org
--- Comment #5 from steven at gcc dot gnu dot org 2009-06-30 13:27 --- Compiling with ./cc1 -Os t.c -fno-ivopts I get the following code: .global testme .type testme, %function testme: @ Function supports interworking. @ args = 0, pretend = 0, frame =

[Bug middle-end/27016] ARM optimizer produces severely suboptimal code

2006-04-04 Thread pinskia at gcc dot gnu dot org
--- Comment #1 from pinskia at gcc dot gnu dot org 2006-04-04 08:16 --- This code is undefined: len = ((unsigned int)_ram_erase_sector_end - (unsigned int)_ram_erase_sector_start) / sizeof(unsigned int); That is obviously undefined as taking the difference between two

[Bug middle-end/27016] ARM optimizer produces severely suboptimal code

2006-04-04 Thread Eric dot Doenges at betty-tv dot com
--- Comment #2 from Eric dot Doenges at betty-tv dot com 2006-04-04 09:13 --- (In reply to comment #1) This code is undefined: len = ((unsigned int)_ram_erase_sector_end - (unsigned int)_ram_erase_sector_start) / sizeof(unsigned int); That is obviously undefined as