This pattern is of type load, but the operands don't match the pattern found in other load insns, so we must explicitly set op_pattern to unknown. Committed.
Bernd
Index: gcc/ChangeLog =================================================================== --- gcc/ChangeLog (revision 186325) +++ gcc/ChangeLog (working copy) @@ -6,6 +6,9 @@ * haifa-sched.c (prune_ready_list): Rework handling of SCHED_GROUP_P insns so that no other insn is queued for a time before them. + * config/c6x/c6x.md (load_got_gotoff): Set op_pattern attribute to + unknown. + 2012-04-11 Richard Guenther <rguent...@suse.de> PR middle-end/52621 Index: gcc/config/c6x/c6x.md =================================================================== --- gcc/config/c6x/c6x.md (revision 186270) +++ gcc/config/c6x/c6x.md (working copy) @@ -433,6 +433,7 @@ (define_insn "load_got_gotoff" "%|%.\\tldw\\t%$\\t*+%1[%2], %0" [(set_attr "type" "load") (set_attr "units" "d_addr") + (set_attr "op_pattern" "unknown") (set_attr "dest_regfile" "a,b") (set_attr "addr_regfile" "b")])