https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64882
--- Comment #7 from Jakub Jelinek <jakub at gcc dot gnu.org> --- But what about vsib_address_operand, address_mpx_no_base_operand, address_mpx_no_index_operand? Even address_operand is used directly: [(prefetch (match_operand:P 0 "address_operand" "p") (const_int 1) (const_int 2))] The comment above address_operand is definitely confusing, because when it is used directly in the *.md (various ports), then the mode of the address is passed to it, the comment above address_operand is confusing: "Return 1 if OP is a valid memory address for a memory reference of mode MODE." and memory_address_p it calls wants address of the MEM, not the address.