call_value pattern
Markus Franke
Markus.Franke@informatik.tu-chemnitz.de
Fri Mar 9 13:54:00 GMT 2007
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
More information about the Gcc
mailing list