diff options
author | Eric Botcazou <ebotcazou@multimania.com> | 2002-07-03 17:02:39 +0000 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 2002-07-03 11:02:39 -0600 |
commit | c7375e612b8be3174bb721964368c71eaa352d15 (patch) | |
tree | 93669ba9cc1176a03c4d483c9bc4bc2ad79d2433 | |
parent | b2153b98f202a261b77be7be529d371bb9fd3907 (diff) | |
download | gcc-c7375e612b8be3174bb721964368c71eaa352d15.zip gcc-c7375e612b8be3174bb721964368c71eaa352d15.tar.gz gcc-c7375e612b8be3174bb721964368c71eaa352d15.tar.bz2 |
i386.md (length_immediate attribute): Fix typo.
* i386.md (length_immediate attribute): Fix typo.
(length_address attribute): Likewise.
(modrm attribute): Set it to 0 for immediate call instructions.
(jcc_1 pattern): Set modrm attribute to 0.
(jcc_2 pattern ): Likewise.
(jump pattern): Likewise.
(doloop_end_internal pattern): Explicitly set length.
(leave pattern): Fix typo.
(leave_rex64 pattern): Likewise.
Co-Authored-By: Jeff Law <law@redhat.com>
From-SVN: r55215
-rw-r--r-- | gcc/ChangeLog | 13 | ||||
-rw-r--r-- | gcc/config/i386/i386.md | 25 |
2 files changed, 33 insertions, 5 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 704ed18..4000c79 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,16 @@ +2002-07-03 Eric Botcazou <ebotcazou@multimania.com> + Jeff Law <law@redhat.com> + + * i386.md (length_immediate attribute): Fix typo. + (length_address attribute): Likewise. + (modrm attribute): Set it to 0 for immediate call instructions. + (jcc_1 pattern): Set modrm attribute to 0. + (jcc_2 pattern ): Likewise. + (jump pattern): Likewise. + (doloop_end_internal pattern): Explicitly set length. + (leave pattern): Fix typo. + (leave_rex64 pattern): Likewise. + 2002-07-03 David Edelsohn <edelsohn@gnu.org> * config/rs6000/rs6000.md (fix_truncdfsi2_internal): Ignore DImode diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md index c2ef896..419d45c 100644 --- a/gcc/config/i386/i386.md +++ b/gcc/config/i386/i386.md @@ -166,7 +166,7 @@ ;; The (bounding maximum) length of an instruction immediate. (define_attr "length_immediate" "" - (cond [(eq_attr "type" "incdec,setcc,icmov,ibr,str,cld,lea,other,multi,idiv") + (cond [(eq_attr "type" "incdec,setcc,icmov,str,cld,lea,other,multi,idiv") (const_int 0) (eq_attr "unit" "i387,sse,mmx") (const_int 0) @@ -199,7 +199,7 @@ (cond [(eq_attr "type" "str,cld,other,multi,fxch") (const_int 0) (and (eq_attr "type" "call") - (match_operand 1 "constant_call_address_operand" "")) + (match_operand 0 "constant_call_address_operand" "")) (const_int 0) (and (eq_attr "type" "callv") (match_operand 1 "constant_call_address_operand" "")) @@ -251,6 +251,12 @@ (and (match_operand 0 "register_operand" "") (match_operand 1 "immediate_operand" ""))) (const_int 0) + (and (eq_attr "type" "call") + (match_operand 0 "constant_call_address_operand" "")) + (const_int 0) + (and (eq_attr "type" "callv") + (match_operand 1 "constant_call_address_operand" "")) + (const_int 0) ] (const_int 1))) @@ -12804,6 +12810,7 @@ "" "%+j%C1\t%l0" [(set_attr "type" "ibr") + (set_attr "modrm" "0") (set (attr "prefix_0f") (if_then_else (and (ge (minus (match_dup 0) (pc)) (const_int -128)) @@ -12821,6 +12828,7 @@ "" "%+j%c1\t%l0" [(set_attr "type" "ibr") + (set_attr "modrm" "0") (set (attr "prefix_0f") (if_then_else (and (ge (minus (match_dup 0) (pc)) (const_int -128)) @@ -13087,7 +13095,8 @@ (label_ref (match_operand 0 "" "")))] "" "jmp\t%l0" - [(set_attr "type" "ibr")]) + [(set_attr "type" "ibr") + (set_attr "modrm" "0")]) (define_expand "indirect_jump" [(set (pc) (match_operand 0 "nonimmediate_operand" "rm"))] @@ -13205,6 +13214,14 @@ return "dec{l}\t%1\;%+jne\t%l0"; } [(set_attr "ppro_uops" "many") + (set (attr "length") + (if_then_else (and (eq_attr "alternative" "0") + (and (ge (minus (match_dup 0) (pc)) + (const_int -128)) + (lt (minus (match_dup 0) (pc)) + (const_int 124)))) + (const_int 2) + (const_int 16))) (set (attr "type") (if_then_else (and (eq_attr "alternative" "0") (and (ge (minus (match_dup 0) (pc)) @@ -13620,7 +13637,6 @@ [(set_attr "length_immediate" "0") (set_attr "length" "1") (set_attr "modrm" "0") - (set_attr "modrm" "0") (set_attr "athlon_decode" "vector") (set_attr "ppro_uops" "few")]) @@ -13633,7 +13649,6 @@ [(set_attr "length_immediate" "0") (set_attr "length" "1") (set_attr "modrm" "0") - (set_attr "modrm" "0") (set_attr "athlon_decode" "vector") (set_attr "ppro_uops" "few")]) |