Please disregard previous message, adjusting constraint to the following fixed the issue: (define_constraint "W" "A register indirect memory operand." (and (match_code "mem") (match_test "REG_P (XEXP(op, 0)) && REGNO_OK_FOR_BASE_P (REGNO (XEXP(op, 0)))"))) On Sun, Mar 24, 2019 at 8:41 AM William Tambe <tambewilliam@xxxxxxxxx> wrote: > > 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