insn does not satisfy its constraints

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

 



I have the following described in my machine description file:

(define_constraint "W"
  "A register indirect memory operand."
  (and (match_code "mem")
       (match_test "REG_P (op)
                    && REGNO_OK_FOR_BASE_P (REGNO (op))")))

(define_insn "movsi"
  [(set (match_operand:SI 0 "nonimmediate_operand" "=r,r,r,W,r")
    (match_operand:SI 1 "general_operand" "O,r,i,r,W"))]
   ""
   "@
   li8 %0, 0
   cpy %0, %1
   li32 %0, %1
   st32 %1, %0
   ld32 %0, %1")

Any idea what might be the cause of "movsi" failing constraints as shown below:

conftest.c: In function 'main':
conftest.c:16:1: error: insn does not satisfy its constraints:
 }
 ^
(insn 17 4 3 2 (set (reg/f:SI 15 %15 [orig:25 .result_ptr ] [25])
        (mem/f/c:SI (reg/f:SI 17 %ap) [2 .result_ptr+0 S4 A32]))
"conftest.c":12 19 {movsi}
     (nil))
during RTL pass: postreload
conftest.c:16:1: internal compiler error: in extract_constrain_insn,
at recog.c:2205
0x4f7c4a _fatal_insn(char const*, rtx_def const*, char const*, int, char const*)
    ../../gcc-8.2.0/gcc/rtl-error.c:108
0x4f7c73 _fatal_insn_not_found(rtx_def const*, char const*, int, char const*)
    ../../gcc-8.2.0/gcc/rtl-error.c:118
0x923997 extract_constrain_insn(rtx_insn*)
    ../../gcc-8.2.0/gcc/recog.c:2205
0x8f6851 reload_cse_simplify_operands
    ../../gcc-8.2.0/gcc/postreload.c:387
0x8f7ad1 reload_cse_simplify
    ../../gcc-8.2.0/gcc/postreload.c:179
0x8f7ad1 reload_cse_regs_1
    ../../gcc-8.2.0/gcc/postreload.c:218
0x8f944b reload_cse_regs
    ../../gcc-8.2.0/gcc/postreload.c:64
0x8f944b execute
    ../../gcc-8.2.0/gcc/postreload.c:2345



[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