Cross gcc Mailing List Archive
[Prev][Next][Index][Thread]
GCC: insn generated in RTL with too complex addressing mode
I wonder if you can help me out with following question.
Is GCC designed to find workarounds for non-existing mov patterns by
itself? Or do I have to code the workaround myself in the MD file using
a define_expand?
Case in point, a MEM to MEM movhi is generated in the RTL, but the
1750a doesn't support that. I made the movhi pattern with just a plain
define_insn (without an alternative for the MEM to MEM case.)
GCC aborts as follows
GNU C version 2.7.2.1 (MIL-STD-1750A) compiled by GNU C version 2.7.2.
zz.c: In function `time':
zz.c:16: Unable to find a register to spill.
(insn:HI 9 7 11 (set (mem:HI (reg/v:QI 2 2))
(mem/s:HI (plus:QI (reg:QI 14 14)
(const_int 1)))) 28 {movhi} (insn_list 3 (nil))
(expr_list:REG_DEAD (reg/v:QI 2 2)
(nil)))
xgcc: Internal compiler error: program cc1 got fatal signal 6
Thank you.
Oliver Kellogg
Munich, Bavaria
Home |
Subject Index |
Thread Index