aboutsummaryrefslogtreecommitdiff
path: root/gcc/recog.c
diff options
context:
space:
mode:
authorRichard Earnshaw <erich@gnu.org>1997-04-06 16:24:02 +0000
committerRichard Earnshaw <erich@gnu.org>1997-04-06 16:24:02 +0000
commitf54fd62edcba1a52572f2cb267ab7e5abeb77734 (patch)
treea3dd9e32cb62dd6dec7ca807c42587ab83cd8c44 /gcc/recog.c
parent1b30b9cf1dbd954e15bce114165b72987e419160 (diff)
downloadgcc-f54fd62edcba1a52572f2cb267ab7e5abeb77734.zip
gcc-f54fd62edcba1a52572f2cb267ab7e5abeb77734.tar.gz
gcc-f54fd62edcba1a52572f2cb267ab7e5abeb77734.tar.bz2
(incscc): Use a match_operand with cc_register to match the condition code register.
(incscc): Use a match_operand with cc_register to match the condition code register. (decscc, *condbranch, *condbranch_reversed, *mov_scc): Likewise. (*mov_negscc, *mov_notscc, *cond_return): Likewise. (*cond_return_inverted, *ior_scc, *cond_move): Likewise. (insv): New expand. (andsi_notsi_si): Renamed from *andsi_notsi_si. (andsi_not_shiftsi_si): New insn. (*minmax_arithsi): Don't match this insn if operand1 is an eliminable register. ({sin,cos}*): Delete, since the ARM always emulates these its faster to call a library function. (movsicc, *movsicc_insn): Make operand0 an s_register_operand, and operand3 an arm_not_operand. Use cc_register to match the condition code register. (mov[sd]fcc*): Make operand[0,2] s_register_operands, and operand3 the nonmemory_operand. Use cc_register to match the condition code register. (*ifcompare_plus_move): Move before *ifcompare_arith_move. Just do a split for the output. (*ifcompare_move_plus): Similarly, but relative to *ifcompare_move_arith. (*if_plus_move, *if_move_plus): New patterns. (*ifcompare_arith_arith): Simplify the alternatives down to just one, and split the insn before output. (*if_arith_arith, *if_arith_move, *if_move_arith): New patterns. (*ifcompare_move_not, *ifcompare_not_move): Simplify and split the insn before output. (*if_move_not, *if_not_move): New patterns. (*ifcompare_shift_move, *ifcompare_move_shift): Simplify and split the insn before output. (*if_shift_move, *if_move_shift): New patterns. (*ifcompare_shift_shift): Simplify and split the insn before output. (*if_shift_shift): New pattern. (*ifcompare_not_arith, *ifcompare_arith_not): Simplify and split the insn before output. (*if_not_arith, *if_arith_not): New patterns. (*ifcompare_neg_move, *ifcompare_move_neg): Simplify and split the insn before output. (*if_neg_move, *if_move_neg): New patterns.. From-SVN: r13840
Diffstat (limited to 'gcc/recog.c')
0 files changed, 0 insertions, 0 deletions