diff options
author | Jeff Law <law@redhat.com> | 2018-07-03 20:22:35 -0600 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 2018-07-03 20:22:35 -0600 |
commit | 7422f0ff39697b53ad599834647c56cb0cb3c3a3 (patch) | |
tree | 6e33c0e440ac78e6c8d86a56065031e26e721c1d /gcc | |
parent | 7af7cb515f8ee1af63f7998c2748281263ae6f48 (diff) | |
download | gcc-7422f0ff39697b53ad599834647c56cb0cb3c3a3.zip gcc-7422f0ff39697b53ad599834647c56cb0cb3c3a3.tar.gz gcc-7422f0ff39697b53ad599834647c56cb0cb3c3a3.tar.bz2 |
h8300.md (logical<mode>3_sn, [...]): Merge into a single pattern.
* config/h8300/h8300.md (logical<mode>3_sn, logical<mode>3): Merge
into a single pattern.
From-SVN: r262369
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 3 | ||||
-rw-r--r-- | gcc/config/h8300/h8300.md | 23 |
2 files changed, 4 insertions, 22 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c3ea014..cd8f6ab 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -13,6 +13,9 @@ 2018-07-03 Jeff Law <law@redhat.com> + * config/h8300/h8300.md (logical<mode>3_sn, logical<mode>3): 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 f3cf421..70f96c7 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 "*logical<mode>3_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>mode, operands); -} - [(set (attr "length") - (symbol_ref "compute_logical_op_length (<MODE>mode, operands)")) - (set (attr "cc") - (symbol_ref "compute_logical_op_cc (<MODE>mode, operands)"))]) - (define_insn "*logical<mode>3" [(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>mode, operands); -} + { return output_logical_op (<MODE>mode, operands); } [(set (attr "length") (symbol_ref "compute_logical_op_length (<MODE>mode, operands)")) (set (attr "cc") |