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
This commit is contained in:
parent
b2153b98f2
commit
c7375e612b
|
@ -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>
|
2002-07-03 David Edelsohn <edelsohn@gnu.org>
|
||||||
|
|
||||||
* config/rs6000/rs6000.md (fix_truncdfsi2_internal): Ignore DImode
|
* config/rs6000/rs6000.md (fix_truncdfsi2_internal): Ignore DImode
|
||||||
|
|
|
@ -166,7 +166,7 @@
|
||||||
|
|
||||||
;; The (bounding maximum) length of an instruction immediate.
|
;; The (bounding maximum) length of an instruction immediate.
|
||||||
(define_attr "length_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)
|
(const_int 0)
|
||||||
(eq_attr "unit" "i387,sse,mmx")
|
(eq_attr "unit" "i387,sse,mmx")
|
||||||
(const_int 0)
|
(const_int 0)
|
||||||
|
@ -199,7 +199,7 @@
|
||||||
(cond [(eq_attr "type" "str,cld,other,multi,fxch")
|
(cond [(eq_attr "type" "str,cld,other,multi,fxch")
|
||||||
(const_int 0)
|
(const_int 0)
|
||||||
(and (eq_attr "type" "call")
|
(and (eq_attr "type" "call")
|
||||||
(match_operand 1 "constant_call_address_operand" ""))
|
(match_operand 0 "constant_call_address_operand" ""))
|
||||||
(const_int 0)
|
(const_int 0)
|
||||||
(and (eq_attr "type" "callv")
|
(and (eq_attr "type" "callv")
|
||||||
(match_operand 1 "constant_call_address_operand" ""))
|
(match_operand 1 "constant_call_address_operand" ""))
|
||||||
|
@ -251,6 +251,12 @@
|
||||||
(and (match_operand 0 "register_operand" "")
|
(and (match_operand 0 "register_operand" "")
|
||||||
(match_operand 1 "immediate_operand" "")))
|
(match_operand 1 "immediate_operand" "")))
|
||||||
(const_int 0)
|
(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)))
|
(const_int 1)))
|
||||||
|
|
||||||
|
@ -12804,6 +12810,7 @@
|
||||||
""
|
""
|
||||||
"%+j%C1\t%l0"
|
"%+j%C1\t%l0"
|
||||||
[(set_attr "type" "ibr")
|
[(set_attr "type" "ibr")
|
||||||
|
(set_attr "modrm" "0")
|
||||||
(set (attr "prefix_0f")
|
(set (attr "prefix_0f")
|
||||||
(if_then_else (and (ge (minus (match_dup 0) (pc))
|
(if_then_else (and (ge (minus (match_dup 0) (pc))
|
||||||
(const_int -128))
|
(const_int -128))
|
||||||
|
@ -12821,6 +12828,7 @@
|
||||||
""
|
""
|
||||||
"%+j%c1\t%l0"
|
"%+j%c1\t%l0"
|
||||||
[(set_attr "type" "ibr")
|
[(set_attr "type" "ibr")
|
||||||
|
(set_attr "modrm" "0")
|
||||||
(set (attr "prefix_0f")
|
(set (attr "prefix_0f")
|
||||||
(if_then_else (and (ge (minus (match_dup 0) (pc))
|
(if_then_else (and (ge (minus (match_dup 0) (pc))
|
||||||
(const_int -128))
|
(const_int -128))
|
||||||
|
@ -13087,7 +13095,8 @@
|
||||||
(label_ref (match_operand 0 "" "")))]
|
(label_ref (match_operand 0 "" "")))]
|
||||||
""
|
""
|
||||||
"jmp\t%l0"
|
"jmp\t%l0"
|
||||||
[(set_attr "type" "ibr")])
|
[(set_attr "type" "ibr")
|
||||||
|
(set_attr "modrm" "0")])
|
||||||
|
|
||||||
(define_expand "indirect_jump"
|
(define_expand "indirect_jump"
|
||||||
[(set (pc) (match_operand 0 "nonimmediate_operand" "rm"))]
|
[(set (pc) (match_operand 0 "nonimmediate_operand" "rm"))]
|
||||||
|
@ -13205,6 +13214,14 @@
|
||||||
return "dec{l}\t%1\;%+jne\t%l0";
|
return "dec{l}\t%1\;%+jne\t%l0";
|
||||||
}
|
}
|
||||||
[(set_attr "ppro_uops" "many")
|
[(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")
|
(set (attr "type")
|
||||||
(if_then_else (and (eq_attr "alternative" "0")
|
(if_then_else (and (eq_attr "alternative" "0")
|
||||||
(and (ge (minus (match_dup 0) (pc))
|
(and (ge (minus (match_dup 0) (pc))
|
||||||
|
@ -13620,7 +13637,6 @@
|
||||||
[(set_attr "length_immediate" "0")
|
[(set_attr "length_immediate" "0")
|
||||||
(set_attr "length" "1")
|
(set_attr "length" "1")
|
||||||
(set_attr "modrm" "0")
|
(set_attr "modrm" "0")
|
||||||
(set_attr "modrm" "0")
|
|
||||||
(set_attr "athlon_decode" "vector")
|
(set_attr "athlon_decode" "vector")
|
||||||
(set_attr "ppro_uops" "few")])
|
(set_attr "ppro_uops" "few")])
|
||||||
|
|
||||||
|
@ -13633,7 +13649,6 @@
|
||||||
[(set_attr "length_immediate" "0")
|
[(set_attr "length_immediate" "0")
|
||||||
(set_attr "length" "1")
|
(set_attr "length" "1")
|
||||||
(set_attr "modrm" "0")
|
(set_attr "modrm" "0")
|
||||||
(set_attr "modrm" "0")
|
|
||||||
(set_attr "athlon_decode" "vector")
|
(set_attr "athlon_decode" "vector")
|
||||||
(set_attr "ppro_uops" "few")])
|
(set_attr "ppro_uops" "few")])
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue