From 7422f0ff39697b53ad599834647c56cb0cb3c3a3 Mon Sep 17 00:00:00 2001 From: Jeff Law Date: Tue, 3 Jul 2018 20:22:35 -0600 Subject: [PATCH] h8300.md (logical3_sn, [...]): Merge into a single pattern. * config/h8300/h8300.md (logical3_sn, logical3): Merge into a single pattern. From-SVN: r262369 --- gcc/ChangeLog | 3 +++ gcc/config/h8300/h8300.md | 23 +---------------------- 2 files changed, 4 insertions(+), 22 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c3ea01452d6..cd8f6ab5cbc 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -13,6 +13,9 @@ 2018-07-03 Jeff Law + * config/h8300/h8300.md (logical3_sn, logical3): Merge + into a single pattern. + * config/h8300/h8300.md (ors code_iterator): New. (bsetqi_msx, bnotqi_msx patterns and splitters): Consolidate into a single pattern and single splitter. diff --git a/gcc/config/h8300/h8300.md b/gcc/config/h8300/h8300.md index f3cf42161d0..70f96c7481f 100644 --- a/gcc/config/h8300/h8300.md +++ b/gcc/config/h8300/h8300.md @@ -1645,34 +1645,13 @@ ;; {AND,IOR,XOR}{HI3,SI3} PATTERNS ;; ---------------------------------------------------------------------- -;; We need a separate pattern here because machines other than the -;; original H8300 don't have to split the 16-bit operand into a pair -;; of high/low instructions, so we can accept literal addresses, that -;; have to be loaded into a register on H8300. - -(define_insn "*logical3_sn" - [(set (match_operand:HSI 0 "h8300_dst_operand" "=rQ") - (match_operator:HSI 3 "bit_operator" - [(match_operand:HSI 1 "h8300_dst_operand" "%0") - (match_operand:HSI 2 "h8300_src_operand" "rQi")]))] - "(TARGET_H8300S || TARGET_H8300H) && h8300_operands_match_p (operands)" -{ - return output_logical_op (mode, operands); -} - [(set (attr "length") - (symbol_ref "compute_logical_op_length (mode, operands)")) - (set (attr "cc") - (symbol_ref "compute_logical_op_cc (mode, operands)"))]) - (define_insn "*logical3" [(set (match_operand:HSI 0 "h8300_dst_operand" "=rQ") (match_operator:HSI 3 "bit_operator" [(match_operand:HSI 1 "h8300_dst_operand" "%0") (match_operand:HSI 2 "h8300_src_operand" "rQi")]))] "h8300_operands_match_p (operands)" -{ - return output_logical_op (mode, operands); -} + { return output_logical_op (mode, operands); } [(set (attr "length") (symbol_ref "compute_logical_op_length (mode, operands)")) (set (attr "cc") -- 2.30.2