Dear GCC Developers, I have a rather simple piece of a "call_value" instruction pattern in my machine description:
---snip--- (define_insn "call_value" [(set (match_operand 0 "" "") (call (match_operand:QI 1 "" "") (match_operand:SI 2 "" "")))] "" "jal\\t%S0%(" [(set_attr "type" "jump") (set_attr "mode" "none")]) ---snap--- However when I try to compile the following example I get a "Internal Compiler" Error message. ---snip--- int odd(int i) { return i & 0x1; } int foo(int i, int j) { int a; a=odd(i+j); return a; } ---snap--- If simply omit the "a=odd(i+j)"-line everything works fine so it has something to do with this call. What am I doing wrong? It seems so simple but I can't figure out what's wrong with my pattern. Regards, Markus Franke