This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: DImode operations
Hi Dave:
when I build the libgcc2.c, an unrecognizable RTL exist. Its about subreg.
Here is the info:
../../../rice-gcc-4.3.0/libgcc/../gcc/libgcc2.c: In function '__mulvsi3':
../../../rice-gcc-4.3.0/libgcc/../gcc/libgcc2.c:169: error: unrecognizable insn:
(insn 24 26 25 3 ../../../rice-gcc-4.3.0/libgcc/../gcc/libgcc2.c:165
(set (subreg:SI (reg:DI 47) 0)
(ashiftrt:SI (subreg:SI (reg/v:DI 36 [ w ]) 4)
(const_int 0 [0x0]))) -1 (expr_list:REG_NO_CONFLICT
(reg/v:DI 36 [ w ])
(nil)))
../../../rice-gcc-4.3.0/libgcc/../gcc/libgcc2.c:169: internal compiler
error: in extract_insn, at recog.c:1990
I could understand why subreg exist, but gcc supposed to deal with it.
I mean to remove the subreg operations.
Did your guys also meet this problem?
Could you give me some advices?
Now I still debug it.
Thanks.