This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
machine description problem
- To: gcc-help at gcc dot gnu dot org
- Subject: machine description problem
- From: Olivier Garbil <ogarbil at palmware dot fr>
- Date: Thu, 02 Aug 2001 19:26:12 +0200
- Organization: Palmware
- References: <3B45E4EE.9040709@OARcorp.com>
Hi,
I wrote (try to !) a gcc 2.95.2 back end for our VM architecture. It
almost works
correctly but I still have some trouble.
First I would like to know why the block <code> inside the define_expand
is executed before the <move_operand> predicates is tested ?.
I thought that the predictate should be tested first.
So I don't understand the way to reject a bad insn in <movqi/hi/si> case
(FAIL
doesn't work and the spur.md is not that obvious)
Finally, when the <move_operand> predicate is executed (and reject the
insn) gcc crash.
What did I miss ?.
(define_expand "movsi"
[(set (match_operand:SI 0 "nonimmediate_operand"
"=r,r,r,r,r,Q,o,m,>,m,Q")
(match_operand:SI 1 "move_operand" "r,i,Q,o,m,r,r,r,r,i,Q"))]
""
"
{
<code>
})
Thanks for your help.
Olivier Garbil
Palmware