From 61314cb469b7a014caddd55f944ccaa84bd98e7e Mon Sep 17 00:00:00 2001 From: Richard Kenner Date: Wed, 7 Dec 1994 16:51:43 -0500 Subject: [PATCH] New pattern for ior between SImode target and zero_extended value. From-SVN: r8624 --- gcc/config/m68k/m68k.md | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/gcc/config/m68k/m68k.md b/gcc/config/m68k/m68k.md index bd826e16313..2afdedc7fd0 100644 --- a/gcc/config/m68k/m68k.md +++ b/gcc/config/m68k/m68k.md @@ -3194,6 +3194,25 @@ (match_dup 0)))] "" "or%.b %1,%0") + +(define_insn "" + [(set (match_operand:SI 0 "general_operand" "=o,d") + (ior:SI (zero_extend:SI (match_operand 1 "general_operand" "dn,dmn")) + (match_operand:SI 2 "general_operand" "0,0")))] + "" + "* +{ + int byte_mode; + + CC_STATUS_INIT; + byte_mode = (GET_MODE(operands[1]) == QImode); + if (GET_CODE (operands[0]) == MEM) + operands[0] = adj_offsettable_operand (operands[0], byte_mode ? 3 : 2); + if (byte_mode) + return \"or%.b %1,%0\"; + else + return \"or%.w %1,%0\"; +}") ;; xor instructions -- 2.30.2