https://gcc.gnu.org/bugzilla/show_bug.cgi?id=59155
--- Comment #5 from Bernd Edlinger <bernd.edlinger at hotmail dot de> --- Oh no! The X constraint allows just everything. and combine combines everything that is OK for check_asm_operands. But reg_overlap_mentioned_p is not expecting anything that complicated. How about: Index: common.md =================================================================== --- common.md (revision 231598) +++ common.md (working copy) @@ -92,4 +92,5 @@ (define_constraint "X" "Matches anything." - (match_test "true")) + (match_test "CONSTANT_P (op) || MEM_P (op) || + REG_P (op) || SUBREG_P (op) || GET_CODE (op) == SCRATCH")) This should be safe.