This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
| Other format: | [Raw text] | |
We have a problem while using a gcc cross-compiler for our processor to compile one of our uClinux applications like mp3player. We used gcc 2.95.3 version to port. The ported one is throwing an error .
This is the error report:-
make[3]: Entering directory `/home/new/driver_testing/uClinux-dist/user/mp3play/mpegdec_lib'
nisa-elf-gcc -DCONFIG_FRIO -O0 -g -Dlinux -D__linux__ -Dunix -D__uClinux__ -DEMBED -I/home/new/driver_testing/uClinux-dist/lib/uClibc/include -I/home/new/driver_testing/uClinux-dist/lib/libm -I/home/new/driver_testing/uClinux-dist -fno-builtin -nostartfiles -I/home/new/driver_testing/uClinux-dist/linux-2.4.x/include -Impegdec_lib -DMPEGAUD_INT -Irc4 -DMPEGAUD_INT -DSPLIT_TABLE -DUSE_IMDCT_TABLE -g -O1 -c -o mpeg3dec.o mpeg3dec.c
mpeg3dec.c: In function `MPEG3_dequantize_samples':
mpeg3dec.c:864: internal error--insn does not satisfy its constraints:
(insn 719 1800 1806 (set (reg:SI 9 P1)
(plus:SI (mult:SI (reg:SI 1 R1)
(const_int 4 [0x4]))
(reg:SI 9 P1))) 53 {umulhisi3-4} (insn_list 716 (insn_list 708 (nil)))
(nil))
make[3]: *** [mpeg3dec.o] Error 1
Our analysis on the problem is as follows:
An instruction of the type "p1 = R1*4 + p1" is being used here. The operation between data registers and pointer registers are not allowed in our target. Why is it happening here ? How the wrong class of registers are allocated here?
This problem is vanished when we use no optimization. But if we use optimization -O1 it is coming.
So Could anyone help me out?
The .md file is attached along with this mail.
Thx in advance
Ashwani.
Attachment:
nisa.md
Description: audio/md
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |