Help with "unable to generate reloads for" atomic_exchangesi

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I have defined atomic_exchangesi as follow in the machine description:

(define_insn "atomic_exchangesi"
 [(set (match_operand:SI 0 "register_operand" "=r,r")
       (match_operand:SI 1 "memory_operand" "+B,W"))
  (set (match_dup 1)
       (unspec:SI
        [(match_operand:SI 2 "register_operand" "0,0")
         (match_operand:SI 3 "const_int_operand")]
        0))]
 ""
 "@
  ...
  ...")


However GCC throw the following error for atomic_exchangesi:
Any idea what could be the cause of such an error ?

error: unable to generate reloads for:
  902 | }
      | ^
(insn 89 86 90 12 (parallel [
            (set (reg:SI 4 %4 [orig:36 _30 ] [36])
                (mem/v:SI (plus:SI (reg/f:SI 0 %sp)
                        (const_int 36 [0x24])) [-1  S4 A32]))
            (set (mem/v:SI (plus:SI (reg/f:SI 0 %sp)
                        (const_int 36 [0x24])) [-1  S4 A32])
                (unspec:SI [
                        (reg:SI 3 %3 [orig:34 _28 ] [34])
                        (const_int 32770 [0x8002])
                    ] 0))
        ]) "/linux/include/asm-generic/atomic.h":118:1 35 {atomic_exchangesi}
     (nil))
during RTL pass: reload



[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux