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