[Bug target/16480] using -msdata causes internal compiler error
amodra at bigpond dot net dot au
gcc-bugzilla@gcc.gnu.org
Wed Aug 25 11:21:00 GMT 2004
------- Additional Comments From amodra at bigpond dot net dot au 2004-08-25 11:21 -------
Mainline fails similarly. The failure results from this splitter
(define_split
[(set (match_operand:DI 0 "nonimmediate_operand" "")
(match_operand:DI 1 "input_operand" ""))]
"reload_completed && !TARGET_POWERPC64
&& gpr_or_gpr_p (operands[0], operands[1])"
[(pc)]
{ rs6000_split_multireg_move (operands[0], operands[1]); DONE; })
The "input_operand" predicate accepts any memory operand as the second operand.
rs6000_split_multireg_move thus needs to accept anything that we accept in
rs6000_legitimate_address. For this particular failure, that's a
(mem (symbol_ref (...))), which happens to satisfy legitimate_small_data_p.
--
What |Removed |Added
----------------------------------------------------------------------------
AssignedTo|unassigned at gcc dot gnu |amodra at bigpond dot net
|dot org |dot au
Status|NEW |ASSIGNED
Keywords| |patch
Known to fail|3.4.2 |3.4.2 3.5.0
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16480
More information about the Gcc-bugs
mailing list