From ae95939774be993a7ae3c2ced4b4a187b6c03cc9 Mon Sep 17 00:00:00 2001 From: Michael Hayes Date: Wed, 22 Sep 1999 08:26:38 +0000 Subject: [PATCH] * config/c4x/c4x.md: Delete parallel instruction peepholes. From-SVN: r29581 --- gcc/ChangeLog | 4 + gcc/config/c4x/c4x.md | 583 ------------------------------------------ 2 files changed, 4 insertions(+), 583 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index cbeef751bfd..e77662a3ee4 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +Wed Sep 22 20:25:00 1999 Michael Hayes + + * config/c4x/c4x.md: Delete parallel instruction peepholes. + Wed Sep 22 19:59:19 1999 Michael Hayes * config/c4x/c4x.c (c4x_add_gc_roots): Add tree roots. diff --git a/gcc/config/c4x/c4x.md b/gcc/config/c4x/c4x.md index e4227e7ba42..39d7153f1ce 100644 --- a/gcc/config/c4x/c4x.md +++ b/gcc/config/c4x/c4x.md @@ -6675,45 +6675,6 @@ return \"br%#\\t%C1\";" [(set_attr "type" "jump")]) -; -; Peepholes for parallel instructions -; -(define_peephole - [(set (match_operand:QI 0 "ext_low_reg_operand" "") - (match_operand:QI 1 "par_ind_operand" "")) - (set (match_operand:QI 2 "ext_low_reg_operand" "") - (match_operand:QI 3 "par_ind_operand" ""))] - "(REGNO (operands[0]) != REGNO (operands[2])) - && ! c4x_address_conflict (operands[1], operands[3], 0, 0)" - "ldi1\\t%1,%0\\n||\\tldi2\\t%3,%2") - -; load occurs before store if 1 and 2 point to same address -(define_peephole - [(set (match_operand:QI 0 "ext_low_reg_operand" "") - (match_operand:QI 1 "par_ind_operand" "")) - (set (match_operand:QI 2 "par_ind_operand" "") - (match_operand:QI 3 "ext_low_reg_operand" ""))] - "(REGNO (operands[0]) != REGNO (operands[3])) - && ! c4x_address_conflict (operands[1], operands[2], 0, 1)" - "ldi\\t%1,%0\\n||\\tsti\\t%3,%2") - -; load occurs before store if 0 and 3 point to same address -(define_peephole - [(set (match_operand:QI 0 "par_ind_operand" "") - (match_operand:QI 1 "ext_low_reg_operand" "")) - (set (match_operand:QI 2 "ext_low_reg_operand" "") - (match_operand:QI 3 "par_ind_operand" ""))] - "(REGNO (operands[1]) != REGNO (operands[2])) - && ! c4x_address_conflict (operands[0], operands[3], 1, 0)" - "ldi\\t%3,%2\\n||\\tsti\\t%1,%0") - -(define_peephole - [(set (match_operand:QI 0 "par_ind_operand" "") - (match_operand:QI 1 "ext_low_reg_operand" "")) - (set (match_operand:QI 2 "par_ind_operand" "") - (match_operand:QI 3 "ext_low_reg_operand" ""))] - "! c4x_address_conflict (operands[0], operands[2], 1, 1)" - "sti\\t%1,%0\\n||\\tsti\\t%3,%2") ; This peephole should be unnecessary with my patches to flow.c ; for better autoincrement detection @@ -6727,15 +6688,6 @@ "" "ldf\\t*%1++,%0\\n\\tldf\\t*%1++,%2") -(define_peephole - [(set (match_operand:QF 0 "ext_low_reg_operand" "") - (match_operand:QF 1 "par_ind_operand" "")) - (set (match_operand:QF 2 "ext_low_reg_operand" "") - (match_operand:QF 3 "par_ind_operand" ""))] - "(REGNO (operands[0]) != REGNO (operands[2])) - && ! c4x_address_conflict (operands[1], operands[3], 0, 1)" - "ldf1\\t%1,%0\\n||\\tldf2\\t%3,%2") - ; This peephole should be unnecessary with my patches to flow.c ; for better autoincrement detection (define_peephole @@ -6748,541 +6700,6 @@ "" "stf\\t%1,*%0++\\n\\tstf\\t%2,*%0++") -(define_peephole - [(set (match_operand:QF 0 "ext_low_reg_operand" "") - (match_operand:QF 1 "par_ind_operand" "")) - (set (match_operand:QF 2 "par_ind_operand" "") - (match_operand:QF 3 "ext_low_reg_operand" ""))] - "(REGNO (operands[0]) != REGNO (operands[3]))" - "ldf\\t%1,%0\\n||\\tstf\\t%3,%2") - -(define_peephole - [(set (match_operand:QF 0 "par_ind_operand" "") - (match_operand:QF 1 "ext_low_reg_operand" "")) - (set (match_operand:QF 2 "ext_low_reg_operand" "") - (match_operand:QF 3 "par_ind_operand" ""))] - "! c4x_address_conflict (operands[0], operands[3], 1, 1)" - "ldf\\t%3,%2\\n||\\tstf\\t%1,%0") - -(define_peephole - [(set (match_operand:QF 0 "par_ind_operand" "") - (match_operand:QF 1 "ext_low_reg_operand" "")) - (set (match_operand:QF 2 "par_ind_operand" "") - (match_operand:QF 3 "ext_low_reg_operand" ""))] - "! c4x_address_conflict (operands[0], operands[2], 1, 1)" - "stf1\\t%1,%0\\n||\\tstf2\\t%3,%2") - -(define_peephole - [(parallel [(set (reg:CC_NOOV 21) - (compare:CC_NOOV (abs:QF (match_operand:QF 1 "par_ind_operand" "")) - (match_operand:QF 2 "fp_zero_operand" ""))) - (set (match_operand:QF 0 "ext_low_reg_operand" "") - (abs:QF (match_dup 1)))]) - (set (match_operand:QF 3 "par_ind_operand" "") - (match_operand:QF 4 "ext_low_reg_operand" ""))] - "(REGNO (operands[0]) != REGNO (operands[4]))" - "absf\\t%1,%0\\n||\\tstf\\t%4,%3") - -(define_peephole - [(parallel [(set (match_operand:QF 0 "ext_low_reg_operand" "") - (abs:QF (match_operand:QF 1 "par_ind_operand" ""))) - (clobber (reg:CC_NOOV 21))]) - (set (match_operand:QF 2 "par_ind_operand" "") - (match_operand:QF 3 "ext_low_reg_operand" ""))] - "(REGNO (operands[0]) != REGNO (operands[3]))" - "absf\\t%1,%0\\n||\\tstf\\t%3,%2") - -(define_peephole - [(parallel [(set (reg:CC_NOOV 21) - (compare:CC_NOOV (abs:QI (match_operand:QI 1 "par_ind_operand" "")) - (const_int 0))) - (set (match_operand:QI 0 "ext_low_reg_operand" "") - (abs:QI (match_dup 1)))]) - (set (match_operand:QI 2 "par_ind_operand" "") - (match_operand:QI 3 "ext_low_reg_operand" ""))] - "(REGNO (operands[0]) != REGNO (operands[3]))" - "absi\\t%1,%0\\n||\\tsti\\t%3,%2") - -(define_peephole - [(parallel [(set (match_operand:QI 0 "ext_low_reg_operand" "") - (abs:QI (match_operand:QI 1 "par_ind_operand" ""))) - (clobber (reg:CC_NOOV 21))]) - (set (match_operand:QI 2 "par_ind_operand" "") - (match_operand:QI 3 "ext_low_reg_operand" ""))] - "(REGNO (operands[0]) != REGNO (operands[3]))" - "absi\\t%1,%0\\n||\\tsti\\t%3,%2") - -(define_peephole - [(parallel [(set (reg:CC_NOOV 21) - (compare:CC_NOOV (plus:QI (match_operand:QI 1 "ext_low_reg_operand" "") - (match_operand:QI 2 "par_ind_operand" "")) - (const_int 0))) - (set (match_operand:QI 0 "ext_low_reg_operand" "") - (plus:QI (match_dup 1) (match_dup 2)))]) - (set (match_operand:QI 3 "par_ind_operand" "") - (match_operand:QI 4 "ext_low_reg_operand" ""))] - "(REGNO (operands[0]) != REGNO (operands[4]))" - "addi3\\t%2,%1,%0\\n||\\tsti\\t%4,%3") - -(define_peephole - [(parallel [(set (reg:CC_NOOV 21) - (compare:CC_NOOV (plus:QI (match_operand:QI 1 "par_ind_operand" "") - (match_operand:QI 2 "ext_low_reg_operand" "")) - (const_int 0))) - (set (match_operand:QI 0 "ext_low_reg_operand" "") - (plus:QI (match_dup 1) (match_dup 2)))]) - (set (match_operand:QI 3 "par_ind_operand" "") - (match_operand:QI 4 "ext_low_reg_operand" ""))] - "(REGNO (operands[0]) != REGNO (operands[4]))" - "addi3\\t%2,%1,%0\\n||\\tsti\\t%4,%3") - -(define_peephole - [(parallel [(set (match_operand:QI 0 "ext_low_reg_operand" "") - (plus:QI (match_operand:QI 1 "ext_low_reg_operand" "") - (match_operand:QI 2 "par_ind_operand" ""))) - (clobber (reg:CC_NOOV 21))]) - (set (match_operand:QI 3 "par_ind_operand" "") - (match_operand:QI 4 "ext_low_reg_operand" ""))] - "(REGNO (operands[0]) != REGNO (operands[4]))" - "addi3\\t%2,%1,%0\\n||\\tsti\\t%4,%3") - -(define_peephole - [(parallel [(set (match_operand:QI 0 "ext_low_reg_operand" "") - (plus:QI (match_operand:QI 1 "par_ind_operand" "") - (match_operand:QI 2 "ext_low_reg_operand" ""))) - (clobber (reg:CC_NOOV 21))]) - (set (match_operand:QI 3 "par_ind_operand" "") - (match_operand:QI 4 "ext_low_reg_operand" ""))] - "(REGNO (operands[0]) != REGNO (operands[4]))" - "addi3\\t%2,%1,%0\\n||\\tsti\\t%4,%3") - -(define_peephole - [(parallel [(set (reg:CC_NOOV 21) - (compare:CC_NOOV (plus:QF (match_operand:QF 1 "ext_low_reg_operand" "") - (match_operand:QF 2 "par_ind_operand" "")) - (match_operand:QF 3 "fp_zero_operand" ""))) - (set (match_operand:QF 0 "ext_low_reg_operand" "") - (plus:QF (match_dup 1) (match_dup 2)))]) - (set (match_operand:QF 4 "par_ind_operand" "") - (match_operand:QF 5 "ext_low_reg_operand" ""))] - "(REGNO (operands[0]) != REGNO (operands[5]))" - "addf3\\t%2,%1,%0\\n||\\tstf\\t%5,%4") - -(define_peephole - [(parallel [(set (reg:CC_NOOV 21) - (compare:CC_NOOV (plus:QF (match_operand:QF 1 "par_ind_operand" "") - (match_operand:QF 2 "ext_low_reg_operand" "")) - (match_operand:QF 3 "fp_zero_operand" ""))) - (set (match_operand:QF 0 "ext_low_reg_operand" "") - (plus:QF (match_dup 1) (match_dup 2)))]) - (set (match_operand:QF 4 "par_ind_operand" "") - (match_operand:QF 5 "ext_low_reg_operand" ""))] - "(REGNO (operands[0]) != REGNO (operands[5]))" - "addf3\\t%2,%1,%0\\n||\\tstf\\t%5,%4") - -(define_peephole - [(parallel [(set (match_operand:QF 0 "ext_low_reg_operand" "") - (plus:QF (match_operand:QF 1 "ext_low_reg_operand" "") - (match_operand:QF 2 "par_ind_operand" ""))) - (clobber (reg:CC_NOOV 21))]) - (set (match_operand:QF 3 "par_ind_operand" "") - (match_operand:QF 4 "ext_low_reg_operand" ""))] - "(REGNO (operands[0]) != REGNO (operands[4]))" - "addf3\\t%2,%1,%0\\n||\\tstf\\t%4,%3") - -(define_peephole - [(parallel [(set (match_operand:QF 0 "ext_low_reg_operand" "") - (plus:QF (match_operand:QF 1 "par_ind_operand" "") - (match_operand:QF 2 "ext_low_reg_operand" ""))) - (clobber (reg:CC_NOOV 21))]) - (set (match_operand:QF 3 "par_ind_operand" "") - (match_operand:QF 4 "ext_low_reg_operand" ""))] - "(REGNO (operands[0]) != REGNO (operands[4]))" - "addf3\\t%2,%1,%0\\n||\\tstf\\t%4,%3") - -(define_peephole - [(parallel [(set (reg:CC 21) - (compare:CC (and:QI (match_operand:QI 1 "ext_low_reg_operand" "") - (match_operand:QI 2 "par_ind_operand" "")) - (const_int 0))) - (set (match_operand:QI 0 "ext_low_reg_operand" "") - (and:QI (match_dup 1) (match_dup 2)))]) - (set (match_operand:QI 3 "par_ind_operand" "") - (match_operand:QI 4 "ext_low_reg_operand" ""))] - "(REGNO (operands[0]) != REGNO (operands[4]))" - "and3\\t%2,%1,%0\\n||\\tsti\\t%4,%3") - -(define_peephole - [(parallel [(set (reg:CC 21) - (compare:CC (and:QI (match_operand:QI 1 "par_ind_operand" "") - (match_operand:QI 2 "ext_low_reg_operand" "")) - (const_int 0))) - (set (match_operand:QI 0 "ext_low_reg_operand" "") - (and:QI (match_dup 1) (match_dup 2)))]) - (set (match_operand:QI 3 "par_ind_operand" "") - (match_operand:QI 4 "ext_low_reg_operand" ""))] - "(REGNO (operands[0]) != REGNO (operands[4]))" - "and3\\t%2,%1,%0\\n||\\tsti\\t%4,%3") - -(define_peephole - [(parallel [(set (match_operand:QI 0 "ext_low_reg_operand" "") - (and:QI (match_operand:QI 1 "ext_low_reg_operand" "") - (match_operand:QI 2 "par_ind_operand" ""))) - (clobber (reg:CC 21))]) - (set (match_operand:QI 3 "par_ind_operand" "") - (match_operand:QI 4 "ext_low_reg_operand" ""))] - "(REGNO (operands[0]) != REGNO (operands[4]))" - "and3\\t%2,%1,%0\\n||\\tsti\\t%4,%3") - -(define_peephole - [(parallel [(set (match_operand:QI 0 "ext_low_reg_operand" "") - (and:QI (match_operand:QI 1 "par_ind_operand" "") - (match_operand:QI 2 "ext_low_reg_operand" ""))) - (clobber (reg:CC 21))]) - (set (match_operand:QI 3 "par_ind_operand" "") - (match_operand:QI 4 "ext_low_reg_operand" ""))] - "(REGNO (operands[0]) != REGNO (operands[4]))" - "and3\\t%2,%1,%0\\n||\\tsti\\t%4,%3") - -(define_peephole - [(parallel [(set (match_operand:QI 0 "ext_low_reg_operand" "") - (ashift:QI (match_operand:QI 1 "par_ind_operand" "") - (match_operand:QI 2 "ext_low_reg_operand" ""))) - (clobber (reg:CC 21))]) - (set (match_operand:QI 3 "par_ind_operand" "") - (match_operand:QI 4 "ext_low_reg_operand" ""))] - "(REGNO (operands[0]) != REGNO (operands[4]))" - "ash3\\t%2,%1,%0\\n||\\tsti\\t%4,%3") - -(define_peephole - [(parallel [(set (match_operand:QI 0 "ext_low_reg_operand" "") - (ashiftrt:QI (match_operand:QI 1 "par_ind_operand" "") - (neg:QI (match_operand:QI 2 "ext_low_reg_operand" "")))) - (clobber (reg:CC 21))]) - (set (match_operand:QI 3 "par_ind_operand" "") - (match_operand:QI 4 "ext_low_reg_operand" ""))] - "(REGNO (operands[0]) != REGNO (operands[4]))" - "ash3\\t%2,%1,%0\\n||\\tsti\\t%4,%3") - -(define_peephole - [(parallel [(set (reg:CC 21) - (compare:CC (fix:QI (match_operand:QF 1 "par_ind_operand" "")) - (const_int 0))) - (set (match_operand:QI 0 "ext_low_reg_operand" "") - (fix:QI (match_dup 1)))]) - (set (match_operand:QI 2 "par_ind_operand" "") - (match_operand:QI 3 "ext_low_reg_operand" ""))] - "(REGNO (operands[0]) != REGNO (operands[3]))" - "fix\\t%1,%0\\n||\\tsti\\t%3,%2") - -(define_peephole - [(parallel [(set (match_operand:QI 0 "ext_low_reg_operand" "") - (fix:QI (match_operand:QF 1 "par_ind_operand" ""))) - (clobber (reg:CC 21))]) - (set (match_operand:QI 2 "par_ind_operand" "") - (match_operand:QI 3 "ext_low_reg_operand" ""))] - "(REGNO (operands[0]) != REGNO (operands[3]))" - "fix\\t%1,%0\\n||\\tsti\\t%3,%2") - -(define_peephole - [(parallel [(set (reg:CC 21) - (compare:CC (float:QF (match_operand:QI 1 "par_ind_operand" "")) - (match_operand:QF 2 "fp_zero_operand" ""))) - (set (match_operand:QF 0 "ext_low_reg_operand" "") - (float:QF (match_dup 1)))]) - (set (match_operand:QF 3 "par_ind_operand" "") - (match_operand:QF 4 "ext_low_reg_operand" ""))] - "(REGNO (operands[0]) != REGNO (operands[4]))" - "float\\t%1,%0\\n||\\tstf\\t%4,%3") - -(define_peephole - [(parallel [(set (match_operand:QF 0 "ext_low_reg_operand" "") - (float:QF (match_operand:QI 1 "par_ind_operand" ""))) - (clobber (reg:CC 21))]) - (set (match_operand:QF 2 "par_ind_operand" "") - (match_operand:QF 3 "ext_low_reg_operand" ""))] - "(REGNO (operands[0]) != REGNO (operands[3]))" - "float\\t%1,%0\\n||\\tstf\\t%3,%2") - -(define_peephole - [(parallel [(set (reg:CC_NOOV 21) - (compare:CC_NOOV (mult:QI (match_operand:QI 1 "ext_low_reg_operand" "") - (match_operand:QI 2 "par_ind_operand" "")) - (const_int 0))) - (set (match_operand:QI 0 "ext_low_reg_operand" "") - (mult:QI (match_dup 1) (match_dup 2)))]) - (set (match_operand:QI 3 "par_ind_operand" "") - (match_operand:QI 4 "ext_low_reg_operand" ""))] - "(REGNO (operands[0]) != REGNO (operands[4]))" - "mpyi3\\t%2,%1,%0\\n||\\tsti\\t%4,%3") - -(define_peephole - [(parallel [(set (reg:CC_NOOV 21) - (compare:CC_NOOV (mult:QI (match_operand:QI 1 "par_ind_operand" "") - (match_operand:QI 2 "ext_low_reg_operand" "")) - (const_int 0))) - (set (match_operand:QI 0 "ext_low_reg_operand" "") - (mult:QI (match_dup 1) (match_dup 2)))]) - (set (match_operand:QI 3 "par_ind_operand" "") - (match_operand:QI 4 "ext_low_reg_operand" ""))] - "(REGNO (operands[0]) != REGNO (operands[4]))" - "mpyi3\\t%2,%1,%0\\n||\\tsti\\t%4,%3") - -(define_peephole - [(parallel [(set (match_operand:QI 0 "ext_low_reg_operand" "") - (mult:QI (match_operand:QI 1 "ext_low_reg_operand" "") - (match_operand:QI 2 "par_ind_operand" ""))) - (clobber (reg:CC 21))]) - (set (match_operand:QI 3 "par_ind_operand" "") - (match_operand:QI 4 "ext_low_reg_operand" ""))] - "(REGNO (operands[0]) != REGNO (operands[4]))" - "mpyi3\\t%2,%1,%0\\n||\\tsti\\t%4,%3") - -(define_peephole - [(parallel [(set (match_operand:QI 0 "ext_low_reg_operand" "") - (mult:QI (match_operand:QI 1 "par_ind_operand" "") - (match_operand:QI 2 "ext_low_reg_operand" ""))) - (clobber (reg:CC 21))]) - (set (match_operand:QI 3 "par_ind_operand" "") - (match_operand:QI 4 "ext_low_reg_operand" ""))] - "(REGNO (operands[0]) != REGNO (operands[4]))" - "mpyi3\\t%2,%1,%0\\n||\\tsti\\t%4,%3") - -(define_peephole - [(parallel [(set (reg:CC_NOOV 21) - (compare:CC_NOOV (mult:QF (match_operand:QF 1 "ext_low_reg_operand" "") - (match_operand:QF 2 "par_ind_operand" "")) - (match_operand:QF 3 "fp_zero_operand" ""))) - (set (match_operand:QF 0 "ext_low_reg_operand" "") - (mult:QF (match_dup 1) (match_dup 2)))]) - (set (match_operand:QF 4 "par_ind_operand" "") - (match_operand:QF 5 "ext_low_reg_operand" ""))] - "(REGNO (operands[0]) != REGNO (operands[5]))" - "mpyf3\\t%2,%1,%0\\n||\\tstf\\t%5,%4") - -(define_peephole - [(parallel [(set (reg:CC_NOOV 21) - (compare:CC_NOOV (mult:QF (match_operand:QF 1 "par_ind_operand" "") - (match_operand:QF 2 "ext_low_reg_operand" "")) - (match_operand:QF 3 "fp_zero_operand" ""))) - (set (match_operand:QF 0 "ext_low_reg_operand" "") - (mult:QF (match_dup 1) (match_dup 2)))]) - (set (match_operand:QF 4 "par_ind_operand" "") - (match_operand:QF 5 "ext_low_reg_operand" ""))] - "(REGNO (operands[0]) != REGNO (operands[5]))" - "mpyf3\\t%2,%1,%0\\n||\\tstf\\t%5,%4") - -(define_peephole - [(parallel [(set (match_operand:QF 0 "ext_low_reg_operand" "") - (mult:QF (match_operand:QF 1 "ext_low_reg_operand" "") - (match_operand:QF 2 "par_ind_operand" ""))) - (clobber (reg:CC 21))]) - (set (match_operand:QF 3 "par_ind_operand" "") - (match_operand:QF 4 "ext_low_reg_operand" ""))] - "(REGNO (operands[0]) != REGNO (operands[4]))" - "mpyf3\\t%2,%1,%0\\n||\\tstf\\t%4,%3") - -(define_peephole - [(parallel [(set (match_operand:QF 0 "ext_low_reg_operand" "") - (mult:QF (match_operand:QF 1 "par_ind_operand" "") - (match_operand:QF 2 "ext_low_reg_operand" ""))) - (clobber (reg:CC 21))]) - (set (match_operand:QF 3 "par_ind_operand" "") - (match_operand:QF 4 "ext_low_reg_operand" ""))] - "(REGNO (operands[0]) != REGNO (operands[4]))" - "mpyf3\\t%2,%1,%0\\n||\\tstf\\t%4,%3") - -(define_peephole - [(parallel [(set (reg:CC_NOOV 21) - (compare:CC_NOOV (neg:QF (match_operand:QF 1 "par_ind_operand" "")) - (match_operand:QF 2 "fp_zero_operand" ""))) - (set (match_operand:QF 0 "ext_low_reg_operand" "") - (neg:QF (match_dup 1)))]) - (set (match_operand:QF 3 "par_ind_operand" "") - (match_operand:QF 4 "ext_low_reg_operand" ""))] - "(REGNO (operands[0]) != REGNO (operands[4]))" - "negf\\t%1,%0\\n||\\tstf\\t%4,%3") - -(define_peephole - [(parallel [(set (match_operand:QF 0 "ext_low_reg_operand" "") - (neg:QF (match_operand:QF 1 "par_ind_operand" ""))) - (clobber (reg:CC_NOOV 21))]) - (set (match_operand:QF 2 "par_ind_operand" "") - (match_operand:QF 3 "ext_low_reg_operand" ""))] - "(REGNO (operands[0]) != REGNO (operands[3]))" - "negf\\t%1,%0\\n||\\tstf\\t%3,%2") - -(define_peephole - [(parallel [(set (reg:CC_NOOV 21) - (compare:CC_NOOV (neg:QI (match_operand:QI 1 "par_ind_operand" "")) - (const_int 0))) - (set (match_operand:QI 0 "ext_low_reg_operand" "") - (neg:QI (match_dup 1)))]) - (set (match_operand:QI 2 "par_ind_operand" "") - (match_operand:QI 3 "ext_low_reg_operand" ""))] - "(REGNO (operands[0]) != REGNO (operands[3]))" - "negi\\t%1,%0\\n||\\tsti\\t%3,%2") - -(define_peephole - [(parallel [(set (match_operand:QI 0 "ext_low_reg_operand" "") - (neg:QI (match_operand:QI 1 "par_ind_operand" ""))) - (clobber (reg:CC_NOOV 21))]) - (set (match_operand:QI 2 "par_ind_operand" "") - (match_operand:QI 3 "ext_low_reg_operand" ""))] - "(REGNO (operands[0]) != REGNO (operands[3]))" - "negi\\t%1,%0\\n||\\tsti\\t%3,%2") - -(define_peephole - [(parallel [(set (reg:CC 21) - (compare:CC (not:QI (match_operand:QI 1 "par_ind_operand" "")) - (const_int 0))) - (set (match_operand:QI 0 "ext_low_reg_operand" "") - (not:QI (match_dup 1)))]) - (set (match_operand:QI 2 "par_ind_operand" "") - (match_operand:QI 3 "ext_low_reg_operand" ""))] - "(REGNO (operands[0]) != REGNO (operands[3]))" - "not\\t%1,%0\\n||\\tsti\\t%3,%2") - -(define_peephole - [(parallel [(set (match_operand:QI 0 "ext_low_reg_operand" "") - (not:QI (match_operand:QI 1 "par_ind_operand" ""))) - (clobber (reg:CC 21))]) - (set (match_operand:QI 2 "par_ind_operand" "") - (match_operand:QI 3 "ext_low_reg_operand" ""))] - "(REGNO (operands[0]) != REGNO (operands[3]))" - "not\\t%1,%0\\n||\\tsti\\t%3,%2") - -(define_peephole - [(parallel [(set (reg:CC 21) - (compare:CC (ior:QI (match_operand:QI 1 "ext_low_reg_operand" "") - (match_operand:QI 2 "par_ind_operand" "")) - (const_int 0))) - (set (match_operand:QI 0 "ext_low_reg_operand" "") - (ior:QI (match_dup 1) (match_dup 2)))]) - (set (match_operand:QI 3 "par_ind_operand" "") - (match_operand:QI 4 "ext_low_reg_operand" ""))] - "(REGNO (operands[0]) != REGNO (operands[4]))" - "or3\\t%2,%1,%0\\n||\\tsti\\t%4,%3") - -(define_peephole - [(parallel [(set (reg:CC 21) - (compare:CC (ior:QI (match_operand:QI 1 "par_ind_operand" "") - (match_operand:QI 2 "ext_low_reg_operand" "")) - (const_int 0))) - (set (match_operand:QI 0 "ext_low_reg_operand" "") - (ior:QI (match_dup 1) (match_dup 2)))]) - (set (match_operand:QI 3 "par_ind_operand" "") - (match_operand:QI 4 "ext_low_reg_operand" ""))] - "(REGNO (operands[0]) != REGNO (operands[4]))" - "or3\\t%2,%1,%0\\n||\\tsti\\t%4,%3") - -(define_peephole - [(parallel [(set (match_operand:QI 0 "ext_low_reg_operand" "") - (ior:QI (match_operand:QI 1 "ext_low_reg_operand" "") - (match_operand:QI 2 "par_ind_operand" ""))) - (clobber (reg:CC 21))]) - (set (match_operand:QI 3 "par_ind_operand" "") - (match_operand:QI 4 "ext_low_reg_operand" ""))] - "(REGNO (operands[0]) != REGNO (operands[4]))" - "or3\\t%2,%1,%0\\n||\\tsti\\t%4,%3") - -(define_peephole - [(parallel [(set (match_operand:QI 0 "ext_low_reg_operand" "") - (ior:QI (match_operand:QI 1 "par_ind_operand" "") - (match_operand:QI 2 "ext_low_reg_operand" ""))) - (clobber (reg:CC 21))]) - (set (match_operand:QI 3 "par_ind_operand" "") - (match_operand:QI 4 "ext_low_reg_operand" ""))] - "(REGNO (operands[0]) != REGNO (operands[4]))" - "or3\\t%2,%1,%0\\n||\\tsti\\t%4,%3") - -(define_peephole - [(parallel [(set (reg:CC_NOOV 21) - (compare:CC_NOOV (minus:QI (match_operand:QI 1 "ext_low_reg_operand" "") - (match_operand:QI 2 "par_ind_operand" "")) - (const_int 0))) - (set (match_operand:QI 0 "ext_low_reg_operand" "") - (minus:QI (match_dup 1) (match_dup 2)))]) - (set (match_operand:QI 3 "par_ind_operand" "") - (match_operand:QI 4 "ext_low_reg_operand" ""))] - "(REGNO (operands[0]) != REGNO (operands[4]))" - "subi3\\t%2,%1,%0\\n||\\tsti\\t%4,%3") - -(define_peephole - [(parallel [(set (match_operand:QI 0 "ext_low_reg_operand" "") - (minus:QI (match_operand:QI 1 "ext_low_reg_operand" "") - (match_operand:QI 2 "par_ind_operand" ""))) - (clobber (reg:CC_NOOV 21))]) - (set (match_operand:QI 3 "par_ind_operand" "") - (match_operand:QI 4 "ext_low_reg_operand" ""))] - "(REGNO (operands[0]) != REGNO (operands[4]))" - "subi3\\t%2,%1,%0\\n||\\tsti\\t%4,%3") - -(define_peephole - [(parallel [(set (reg:CC_NOOV 21) - (compare:CC_NOOV (minus:QF (match_operand:QF 1 "ext_low_reg_operand" "") - (match_operand:QF 2 "par_ind_operand" "")) - (match_operand:QF 3 "fp_zero_operand" ""))) - (set (match_operand:QF 0 "ext_low_reg_operand" "") - (minus:QF (match_dup 1) (match_dup 2)))]) - (set (match_operand:QF 4 "par_ind_operand" "") - (match_operand:QF 5 "ext_low_reg_operand" ""))] - "(REGNO (operands[0]) != REGNO (operands[5]))" - "subf3\\t%2,%1,%0\\n||\\tstf\\t%5,%4") - -(define_peephole - [(parallel [(set (match_operand:QF 0 "ext_low_reg_operand" "") - (minus:QF (match_operand:QF 1 "ext_low_reg_operand" "") - (match_operand:QF 2 "par_ind_operand" ""))) - (clobber (reg:CC_NOOV 21))]) - (set (match_operand:QF 3 "par_ind_operand" "") - (match_operand:QF 4 "ext_low_reg_operand" ""))] - "(REGNO (operands[0]) != REGNO (operands[4]))" - "subf3\\t%2,%1,%0\\n||\\tstf\\t%4,%3") - -(define_peephole - [(parallel [(set (reg:CC 21) - (compare:CC (xor:QI (match_operand:QI 1 "ext_low_reg_operand" "") - (match_operand:QI 2 "par_ind_operand" "")) - (const_int 0))) - (set (match_operand:QI 0 "ext_low_reg_operand" "") - (xor:QI (match_dup 1) (match_dup 2)))]) - (set (match_operand:QI 3 "par_ind_operand" "") - (match_operand:QI 4 "ext_low_reg_operand" ""))] - "(REGNO (operands[0]) != REGNO (operands[4]))" - "xor3\\t%2,%1,%0\\n||\\tsti\\t%4,%3") - -(define_peephole - [(parallel [(set (reg:CC 21) - (compare:CC (xor:QI (match_operand:QI 1 "par_ind_operand" "") - (match_operand:QI 2 "ext_low_reg_operand" "")) - (const_int 0))) - (set (match_operand:QI 0 "ext_low_reg_operand" "") - (xor:QI (match_dup 1) (match_dup 2)))]) - (set (match_operand:QI 3 "par_ind_operand" "") - (match_operand:QI 4 "ext_low_reg_operand" ""))] - "(REGNO (operands[0]) != REGNO (operands[4]))" - "xor3\\t%2,%1,%0\\n||\\tsti\\t%4,%3") - -(define_peephole - [(parallel [(set (match_operand:QI 0 "ext_low_reg_operand" "") - (xor:QI (match_operand:QI 1 "ext_low_reg_operand" "") - (match_operand:QI 2 "par_ind_operand" ""))) - (clobber (reg:CC 21))]) - (set (match_operand:QI 3 "par_ind_operand" "") - (match_operand:QI 4 "ext_low_reg_operand" ""))] - "(REGNO (operands[0]) != REGNO (operands[4]))" - "xor3\\t%2,%1,%0\\n||\\tsti\\t%4,%3") - -(define_peephole - [(parallel [(set (match_operand:QI 0 "ext_low_reg_operand" "") - (xor:QI (match_operand:QI 1 "par_ind_operand" "") - (match_operand:QI 2 "ext_low_reg_operand" ""))) - (clobber (reg:CC 21))]) - (set (match_operand:QI 3 "par_ind_operand" "") - (match_operand:QI 4 "ext_low_reg_operand" ""))] - "(REGNO (operands[0]) != REGNO (operands[4]))" - "xor3\\t%2,%1,%0\\n||\\tsti\\t%4,%3") ; The following two peepholes remove an unecessary load ; often found at the end of a function. These peepholes -- 2.30.2