This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
mainline -mcpu=power4
- From: Alan Modra <amodra at bigpond dot net dot au>
- To: David Edelsohn <dje at watson dot ibm dot com>,Geoff Keating <geoffk at geoffk dot org>
- Cc: gcc at gcc dot gnu dot org
- Date: Thu, 8 Jan 2004 10:38:28 +1030
- Subject: mainline -mcpu=power4
cat > ret.c <<EOF
int main (void) {return 0;}
EOF
powerpc64-linux-gcc -O2 -mcpu=power4 -S ret.i
error: insn does not satisfy its constraints:
(jump_insn 29 28 30 0 (parallel [
(return)
(use (reg:DI 65 lr))
]) 577 {*return_internal_di} (nil)
(expr_list:REG_DEAD (reg:SI 66 ctr)
(nil)))
internal compiler error: in copyprop_hardreg_forward_1, at regrename.c:1545
Hmm, -mcpu=power4 leaves MASK_POWERPC64 off in target_flags, so
UNITS_PER_WORD is 4 and HARD_REGNO_NREGS thinks we need two regs for
DI:lr
What's the right fix here? Using TARGET_64BIT in the insn predicate
doesn't agree with using TARGET_POWERPC64 (indirectly) in
HARD_REGNO_NREGS.
--
Alan Modra
IBM OzLabs - Linux Technology Centre