This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
define_split question
- From: Lars Poeschel <larsi at wh2 dot tu-dresden dot de>
- To: gcc-help at gcc dot gnu dot org
- Date: Wed, 24 Jan 2007 13:03:29 +0100
- Subject: define_split question
Hello!
I have the following statement, which fails with general compiler errror in
gen_rtx_SUBREG, at emit-rtl.c:729
(define_split
[(set (match_operand:DI 0 "memory_operand" "=m")
(match_operand:DI 1 "register_operand" "r"))]
""
[(set (mem:SI (match_dup 0) )
(subreg:SI (match_dup 1) 0))
(set (mem:SI (plus:SI (match_dup 0) (const_int 4)))
(subreg:SI (match_dup 1) 1))]
"")
What I want to do is implementing the movdi on a 32 bit platform. This split
is a special case for memory destination and register source. I want to split
the 64 bit move into 2 32 bit moves. What am I doing wrong ? Anyone an idea ?
Thanks,
Lars