re PR target/64003 (valgrind complains about get_attr_length_nobnd in insn-attrtab.c from i386.md)
PR target/64003 * config/i386/i386.md (*jcc_1_bnd): New. (*jcc_2_bnd): New. (jump_bnd): New. (*jcc_1): Remove bnd prefix. (*jcc_2): Likewise. (jump): Likewise. From-SVN: r218426
This commit is contained in:
parent
3edaf26de0
commit
65fdb418d1
@ -1,3 +1,13 @@
|
||||
2014-12-05 Ilya Enkovich <ilya.enkovich@intel.com>
|
||||
|
||||
PR target/64003
|
||||
* config/i386/i386.md (*jcc_1_bnd): New.
|
||||
(*jcc_2_bnd): New.
|
||||
(jump_bnd): New.
|
||||
(*jcc_1): Remove bnd prefix.
|
||||
(*jcc_2): Likewise.
|
||||
(jump): Likewise.
|
||||
|
||||
2014-12-05 Renlin Li <renlin.li@arm.com>
|
||||
|
||||
* config/aarch64/aarch64.c (aarch64_parse_cpu): Don't define
|
||||
|
@ -10958,6 +10958,24 @@
|
||||
;; Basic conditional jump instructions.
|
||||
;; We ignore the overflow flag for signed branch instructions.
|
||||
|
||||
(define_insn "*jcc_1_bnd"
|
||||
[(set (pc)
|
||||
(if_then_else (match_operator 1 "ix86_comparison_operator"
|
||||
[(reg FLAGS_REG) (const_int 0)])
|
||||
(label_ref (match_operand 0))
|
||||
(pc)))]
|
||||
"TARGET_MPX && ix86_bnd_prefixed_insn_p (insn)"
|
||||
"bnd %+j%C1\t%l0"
|
||||
[(set_attr "type" "ibr")
|
||||
(set_attr "modrm" "0")
|
||||
(set (attr "length")
|
||||
(if_then_else (and (ge (minus (match_dup 0) (pc))
|
||||
(const_int -126))
|
||||
(lt (minus (match_dup 0) (pc))
|
||||
(const_int 128)))
|
||||
(const_int 3)
|
||||
(const_int 7)))])
|
||||
|
||||
(define_insn "*jcc_1"
|
||||
[(set (pc)
|
||||
(if_then_else (match_operator 1 "ix86_comparison_operator"
|
||||
@ -10965,10 +10983,10 @@
|
||||
(label_ref (match_operand 0))
|
||||
(pc)))]
|
||||
""
|
||||
"%!%+j%C1\t%l0"
|
||||
"%+j%C1\t%l0"
|
||||
[(set_attr "type" "ibr")
|
||||
(set_attr "modrm" "0")
|
||||
(set (attr "length_nobnd")
|
||||
(set (attr "length")
|
||||
(if_then_else (and (ge (minus (match_dup 0) (pc))
|
||||
(const_int -126))
|
||||
(lt (minus (match_dup 0) (pc))
|
||||
@ -10976,6 +10994,24 @@
|
||||
(const_int 2)
|
||||
(const_int 6)))])
|
||||
|
||||
(define_insn "*jcc_2_bnd"
|
||||
[(set (pc)
|
||||
(if_then_else (match_operator 1 "ix86_comparison_operator"
|
||||
[(reg FLAGS_REG) (const_int 0)])
|
||||
(pc)
|
||||
(label_ref (match_operand 0))))]
|
||||
"TARGET_MPX && ix86_bnd_prefixed_insn_p (insn)"
|
||||
"bnd %+j%c1\t%l0"
|
||||
[(set_attr "type" "ibr")
|
||||
(set_attr "modrm" "0")
|
||||
(set (attr "length")
|
||||
(if_then_else (and (ge (minus (match_dup 0) (pc))
|
||||
(const_int -126))
|
||||
(lt (minus (match_dup 0) (pc))
|
||||
(const_int 128)))
|
||||
(const_int 3)
|
||||
(const_int 7)))])
|
||||
|
||||
(define_insn "*jcc_2"
|
||||
[(set (pc)
|
||||
(if_then_else (match_operator 1 "ix86_comparison_operator"
|
||||
@ -10983,10 +11019,10 @@
|
||||
(pc)
|
||||
(label_ref (match_operand 0))))]
|
||||
""
|
||||
"%!%+j%c1\t%l0"
|
||||
"%+j%c1\t%l0"
|
||||
[(set_attr "type" "ibr")
|
||||
(set_attr "modrm" "0")
|
||||
(set (attr "length_nobnd")
|
||||
(set (attr "length")
|
||||
(if_then_else (and (ge (minus (match_dup 0) (pc))
|
||||
(const_int -126))
|
||||
(lt (minus (match_dup 0) (pc))
|
||||
@ -11420,13 +11456,28 @@
|
||||
|
||||
;; Unconditional and other jump instructions
|
||||
|
||||
(define_insn "jump_bnd"
|
||||
[(set (pc)
|
||||
(label_ref (match_operand 0)))]
|
||||
"TARGET_MPX && ix86_bnd_prefixed_insn_p (insn)"
|
||||
"bnd jmp\t%l0"
|
||||
[(set_attr "type" "ibr")
|
||||
(set (attr "length")
|
||||
(if_then_else (and (ge (minus (match_dup 0) (pc))
|
||||
(const_int -126))
|
||||
(lt (minus (match_dup 0) (pc))
|
||||
(const_int 128)))
|
||||
(const_int 3)
|
||||
(const_int 6)))
|
||||
(set_attr "modrm" "0")])
|
||||
|
||||
(define_insn "jump"
|
||||
[(set (pc)
|
||||
(label_ref (match_operand 0)))]
|
||||
""
|
||||
"%!jmp\t%l0"
|
||||
"jmp\t%l0"
|
||||
[(set_attr "type" "ibr")
|
||||
(set (attr "length_nobnd")
|
||||
(set (attr "length")
|
||||
(if_then_else (and (ge (minus (match_dup 0) (pc))
|
||||
(const_int -126))
|
||||
(lt (minus (match_dup 0) (pc))
|
||||
|
Loading…
Reference in New Issue
Block a user