From 7b58414f13c294ed9d2681548c430d5d1228ce7f Mon Sep 17 00:00:00 2001 From: hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> Date: Fri, 17 Dec 1999 00:35:39 +0000 Subject: [PATCH] * i386.md (test?i_1): Use "nonmemory_operand" predicate, simplify condition. (one_cmpl?i*): Pass "NOT" to unary_operator_ok. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@30984 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 6 ++++++ gcc/config/i386/i386.md | 37 +++++++++++++++++-------------------- 2 files changed, 23 insertions(+), 20 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 5473179ef548..a2616195a430 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +Fri Dec 17 01:32:38 MET 1999 Jan Hubicka <hubicka@freesoft.cz> + + * i386.md (test?i_1): Use "nonmemory_operand" predicate, simplify + condition. + (one_cmpl?i*): Pass "NOT" to unary_operator_ok. + 1999-12-16 Mark Mitchell <mark@codesourcery.com> * Makefile.in (INTREGRATE_H): Rename to INTEGRATE_H. diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md index 96f1aba8247e..d2b3945b55e5 100644 --- a/gcc/config/i386/i386.md +++ b/gcc/config/i386/i386.md @@ -4195,9 +4195,9 @@ (define_insn "testsi_1" [(set (reg:CCNO 17) (compare:CCNO (and:SI (match_operand:SI 0 "nonimmediate_operand" "%*a,r,rm") - (match_operand:SI 1 "general_operand" "in,in,rin")) + (match_operand:SI 1 "nonmemory_operand" "in,in,rin")) (const_int 0)))] - "GET_CODE (operands[0]) != MEM || GET_CODE (operands[1]) != MEM" + "" "test{l}\\t{%1, %0|%0, %1}" [(set_attr "type" "icmp") (set_attr "pent_pair" "uv,np,uv")]) @@ -4205,9 +4205,9 @@ (define_insn "*testhi_1" [(set (reg:CCNO 17) (compare:CCNO (and:HI (match_operand:HI 0 "nonimmediate_operand" "%*a,r,rm") - (match_operand:HI 1 "general_operand" "n,n,rn")) + (match_operand:HI 1 "nonmemory_operand" "n,n,rn")) (const_int 0)))] - "GET_CODE (operands[0]) != MEM || GET_CODE (operands[1]) != MEM" + "" "test{w}\\t{%1, %0|%0, %1}" [(set_attr "type" "icmp") (set_attr "pent_pair" "uv,np,uv")]) @@ -4215,9 +4215,9 @@ (define_insn "testqi_1" [(set (reg:CCNO 17) (compare:CCNO (and:QI (match_operand:QI 0 "nonimmediate_operand" "%*a,q,qm") - (match_operand:QI 1 "general_operand" "n,n,qn")) + (match_operand:QI 1 "nonmemory_operand" "n,n,qn")) (const_int 0)))] - "GET_CODE (operands[0]) != MEM || GET_CODE (operands[1]) != MEM" + "" "test{b}\\t{%1, %0|%0, %1}" [(set_attr "type" "icmp") (set_attr "pent_pair" "uv,np,uv")]) @@ -5347,16 +5347,15 @@ ;; One complement instructions (define_expand "one_cmplsi2" - [(parallel [(set (match_operand:SI 0 "nonimmediate_operand" "") - (not:SI (match_operand:SI 1 "nonimmediate_operand" ""))) - (clobber (reg:CC 17))])] + [(set (match_operand:SI 0 "nonimmediate_operand" "") + (not:SI (match_operand:SI 1 "nonimmediate_operand" "")))] "" "ix86_expand_unary_operator (NOT, SImode, operands); DONE;") (define_insn "*one_cmplsi2_1" [(set (match_operand:SI 0 "nonimmediate_operand" "=rm") (not:SI (match_operand:SI 1 "nonimmediate_operand" "0")))] - "ix86_unary_operator_ok (NEG, SImode, operands)" + "ix86_unary_operator_ok (NOT, SImode, operands)" "not{l}\\t%0" [(set_attr "type" "negnot")]) @@ -5366,7 +5365,7 @@ (const_int 0))) (set (match_operand:SI 0 "nonimmediate_operand" "=rm") (not:SI (match_dup 1)))] - "ix86_unary_operator_ok (NEG, SImode, operands)" + "ix86_unary_operator_ok (NOT, SImode, operands)" "#" [(set_attr "type" "alu1")]) @@ -5385,16 +5384,15 @@ "") (define_expand "one_cmplhi2" - [(parallel [(set (match_operand:HI 0 "nonimmediate_operand" "") - (not:HI (match_operand:HI 1 "nonimmediate_operand" ""))) - (clobber (reg:CC 17))])] + [(set (match_operand:HI 0 "nonimmediate_operand" "") + (not:HI (match_operand:HI 1 "nonimmediate_operand" "")))] "" "ix86_expand_unary_operator (NOT, HImode, operands); DONE;") (define_insn "*one_cmplhi2_1" [(set (match_operand:HI 0 "nonimmediate_operand" "=rm") (not:HI (match_operand:HI 1 "nonimmediate_operand" "0")))] - "ix86_unary_operator_ok (NEG, HImode, operands)" + "ix86_unary_operator_ok (NOT, HImode, operands)" "not{w}\\t%0" [(set_attr "type" "negnot")]) @@ -5434,16 +5432,15 @@ ;; %%% Potential partial reg stall on alternative 1. What to do? (define_expand "one_cmplqi2" - [(parallel [(set (match_operand:QI 0 "nonimmediate_operand" "") - (not:QI (match_operand:QI 1 "nonimmediate_operand" ""))) - (clobber (reg:CC 17))])] + [(set (match_operand:QI 0 "nonimmediate_operand" "") + (not:QI (match_operand:QI 1 "nonimmediate_operand" "")))] "" "ix86_expand_unary_operator (NOT, QImode, operands); DONE;") (define_insn "*one_cmplqi2_1" [(set (match_operand:QI 0 "nonimmediate_operand" "=qm,r") (not:QI (match_operand:QI 1 "nonimmediate_operand" "0,0")))] - "ix86_unary_operator_ok (NEG, QImode, operands)" + "ix86_unary_operator_ok (NOT, QImode, operands)" "@ not{b}\\t%0 not{l}\\t%k0" @@ -5455,7 +5452,7 @@ (const_int 0))) (set (match_operand:QI 0 "nonimmediate_operand" "=qm") (not:QI (match_dup 1)))] - "ix86_unary_operator_ok (NEG, QImode, operands)" + "ix86_unary_operator_ok (NOT, QImode, operands)" "#" [(set_attr "type" "alu1")]) -- GitLab