This is the mail archive of the crossgcc@sources.redhat.com mailing list for the crossgcc project.
See the CrossGCC FAQ for lots more information.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
WHich compiler generates the sub.l #imm,d(Ax) instruction? Could you send me a small testcase witht eh commandline used to generate the problem?
Thanks!
I used ColdFire GCC compiler from your CVS tree, version 3.4.0. Attached C source generated error. Sorry for length of attached code, but I failed when trying to generate code snippet manifesting the bug (one disappeared when shortening the file).
Note: Sorry for misleading info, but 3.3.3 works well, only
3.4.0 and 3.4.1 generate the bug.
I've patched my gcc-3.4.0 and gcc-3.4.1 trees to fix this. The problem was that the subsi3 pattern allows a label-ref to be subtracced from a general memory operand, something that is illegal for ColdFire, but legal for 68k.
Could you try building gcc-3.4.0/gcc-3.4.1 from my CVS server and
testing them again? If that passes, then I'll submit a patch to mainline.
The compilation passes for now, the subsi3 bug dissapeared. But when trying compile bigger project (output binary file has about 200kB) with optimalization enabled (CFLAGS += -O or CFLAGS += -O2), internal error occured (see attached compiler output report). Compilation process passes successfully without optimalization enabled. I am sorry not to attach project *.c and *.h source files, but I have no permission of author to do it (it is not my project). I hope compiler output report will be enough to detect the compilation fail. Greetings, Hanys
/usr/m68k-elf-3.4.1/bin/m68k-elf-gcc -g -O2 -m528x -Wall -I./Include -c -o O/Diagnostika_main.o C/Diagnostika_main.c In file included from C/Diagnostika_main.c:25: ./Include/main_str.h:98:1: warning: "TRUE" redefined In file included from ./Include/target.h:14, from C/Diagnostika_main.c:18: ./Include/mcf5xxx.h:24:1: warning: this is the location of the previous definition In file included from C/Diagnostika_main.c:25: ./Include/main_str.h:99:1: warning: "FALSE" redefined In file included from ./Include/target.h:14, from C/Diagnostika_main.c:18: ./Include/mcf5xxx.h:19:1: warning: this is the location of the previous definition In file included from C/Diagnostika_main.c:28: ./Include/flash.h:10:1: warning: "FLASH_SIZE" redefined In file included from C/Diagnostika_main.c:18: ./Include/target.h:63:1: warning: this is the location of the previous definition C/Diagnostika_main.c: In function `main': C/Diagnostika_main.c:113: warning: implicit declaration of function `Init_TimSys' C/Diagnostika_main.c:131: warning: implicit declaration of function `init_ports_AC' C/Diagnostika_main.c:149: warning: implicit declaration of function `osciloskop' C/Diagnostika_main.c:103: warning: unused variable `hwinfo' C/Diagnostika_main.c:104: warning: unused variable `rx' C/Diagnostika_main.c:104: warning: unused variable `i' C/Diagnostika_main.c:105: warning: unused variable `ff' C/Diagnostika_main.c:106: warning: unused variable `x' C/Diagnostika_main.c: In function `Generate_menu': C/Diagnostika_main.c:252: warning: unused variable `adr' C/Diagnostika_main.c:252: warning: unused variable `pocet' C/Diagnostika_main.c:254: warning: unused variable `cnt2' C/Diagnostika_main.c:255: warning: unused variable `p' C/Diagnostika_main.c: In function `osciloskop': C/Diagnostika_main.c:725: warning: implicit declaration of function `lcd_set_pixel' C/Diagnostika_main.c: In function `FAT_get_rec': C/Diagnostika_main.c:757: warning: comparison is always false due to limited range of data type C/Diagnostika_main.c: In function `FAT_file_read': C/Diagnostika_main.c:765: warning: unused variable `i' C/Diagnostika_main.c:785:2: warning: no newline at end of file C/Diagnostika_main.c: In function `Generate_menu': C/Diagnostika_main.c:422: error: insn does not satisfy its constraints: (insn 184 1571 185 9 C/Diagnostika_main.c:325 (set (mem/s:HI (plus:SI (reg:SI 8 %a0 [77]) (const_int -2632 [0xfffff5b8])) [4 <variable>.FAT_cnt+0 S2 A16]) (mem:HI (plus:SI (reg/f:SI 14 %a6) (reg:SI 1 %d1)) [57 file_cnt+0 S4 A16])) 29 {*m68k.md:790} (nil) (nil)) C/Diagnostika_main.c:422: internal compiler error: in reload_cse_simplify_operands, at postreload.c:378 Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://gcc.gnu.org/bugs.html> for instructions. make: *** [O/Diagnostika_main.o] Error 1
------ Want more information? See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/ Want to unsubscribe? Send a note to crossgcc-unsubscribe@sources.redhat.com
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |