Adam Thornton wrote: >mess/machine/serial.c:779: Unable to generate reloads for: >(insn 42 29 44 (parallel[ > (set (mem/s:QI (plus:SI (reg:SI 1 %r1) > (const_int 2 [0x2])) 0) > (not:QI (mem/s:QI (plus:SI (reg:SI 3 %r3) > (const_int 7 [0x7])) 0))) > (clobber (reg:CC 33 %cc)) > ] ) 253 {one_cmpqi2}
That's a bug in the old s390.md file, sorry. This pattern: (define_insn "one_cmpqi2" [(set (match_operand:QI 0 "memory_operand" "=Q") (not:QI (match_operand:QI 1 "memory_operand" "0"))) (clobber (reg:CC 33))] "" "xi\\t%0,255" [(set_attr "op_type" "SI")]) is invalid, as matching constraints don't work with memory operands. This has long since been fixed, and all available 3.x versions contain this expander instead: (define_expand "one_cmplqi2" [(parallel [(set (match_operand:QI 0 "register_operand" "") (xor:QI (match_operand:QI 1 "register_operand" "") (const_int -1))) (clobber (reg:CC 33))])] "" "") I haven't tested it, but replacing the one_cmpqi2 insn pattern in 2.95 with this new expander should work, and fix the bug. (Alternatively, as an absolute-low-risk fix, you could simply delete the one_cmpqi2 pattern without replacement.) Bye, Ulrich -- Dr. Ulrich Weigand [EMAIL PROTECTED]