On 2012-08-31 07:49, Ian Bolton wrote: > +(define_split > + [(set (match_operand:DI 0 "register_operand" "=r") > + (const:DI (plus:DI (match_operand:DI 1 "aarch64_valid_symref" "S") > + (match_operand:DI 2 "const_int_operand" "i"))))] > + "" > + [(set (match_dup 0) (high:DI (const:DI (plus:DI (match_dup 1) > + (match_dup 2))))) > + (set (match_dup 0) (lo_sum:DI (match_dup 0) > + (const:DI (plus:DI (match_dup 1) > + (match_dup 2)))))] > + "" > +)
You ought not need this as a separate split, since (CONST ...) should be handled exactly like (SYMBOL_REF). Also note that constraints ("=r" etc) aren't used for splits. r~