True if the operand is a register or an nonimmediate operand when TARGET_MMX_WITH_SSE is false.
PR target/89021 * config/i386/predicates.md (mmx_nonimmediate_operand): New. --- gcc/config/i386/predicates.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/gcc/config/i386/predicates.md b/gcc/config/i386/predicates.md index 99226e86436..bd1f07a28fb 100644 --- a/gcc/config/i386/predicates.md +++ b/gcc/config/i386/predicates.md @@ -49,6 +49,13 @@ (and (match_code "reg") (match_test "MMX_REGNO_P (REGNO (op))"))) +;; True if the operand is a register or an nonimmediate operand when +;; TARGET_MMX_WITH_SSE is false. +(define_predicate "mmx_nonimmediate_operand" + (ior (match_operand 0 "register_operand") + (and (not (match_test "TARGET_MMX_WITH_SSE")) + (match_operand 0 "nonimmediate_operand")))) + ;; True if the operand is an SSE register. (define_predicate "sse_reg_operand" (and (match_code "reg") -- 2.20.1