This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]