mirror of git://gcc.gnu.org/git/gcc.git
re PR middle-end/50283 (FAIL: g++.dg/eh/simd-1.C execution test)
PR middle-end/50283 * config/pa/pa.md (in_branch_delay): Disallow frame related insns. (in_nullified_branch_delay): Likewise. (in_call_delay): Likewise. From-SVN: r181868
This commit is contained in:
parent
48325d1cb6
commit
de21ce7fa8
|
@ -1,3 +1,10 @@
|
||||||
|
2011-11-30 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
|
||||||
|
|
||||||
|
PR middle-end/50283
|
||||||
|
* config/pa/pa.md (in_branch_delay): Disallow frame related insns.
|
||||||
|
(in_nullified_branch_delay): Likewise.
|
||||||
|
(in_call_delay): Likewise.
|
||||||
|
|
||||||
2011-11-30 Richard Henderson <rth@redhat.com>
|
2011-11-30 Richard Henderson <rth@redhat.com>
|
||||||
|
|
||||||
* predict.c (expr_expected_value_1): Assume compare-and-swap builtin
|
* predict.c (expr_expected_value_1): Assume compare-and-swap builtin
|
||||||
|
|
|
@ -121,10 +121,12 @@
|
||||||
|
|
||||||
;; Attributes for instruction and branch scheduling
|
;; Attributes for instruction and branch scheduling
|
||||||
|
|
||||||
;; For conditional branches.
|
;; For conditional branches. Frame related instructions are not allowed
|
||||||
|
;; because they confuse the unwind support.
|
||||||
(define_attr "in_branch_delay" "false,true"
|
(define_attr "in_branch_delay" "false,true"
|
||||||
(if_then_else (and (eq_attr "type" "!uncond_branch,btable_branch,branch,cbranch,fbranch,call,dyncall,multi,milli,parallel_branch")
|
(if_then_else (and (eq_attr "type" "!uncond_branch,btable_branch,branch,cbranch,fbranch,call,dyncall,multi,milli,parallel_branch")
|
||||||
(eq_attr "length" "4"))
|
(eq_attr "length" "4")
|
||||||
|
(not (match_test "RTX_FRAME_RELATED_P (insn)")))
|
||||||
(const_string "true")
|
(const_string "true")
|
||||||
(const_string "false")))
|
(const_string "false")))
|
||||||
|
|
||||||
|
@ -132,7 +134,8 @@
|
||||||
;; even if the instruction is nullified.
|
;; even if the instruction is nullified.
|
||||||
(define_attr "in_nullified_branch_delay" "false,true"
|
(define_attr "in_nullified_branch_delay" "false,true"
|
||||||
(if_then_else (and (eq_attr "type" "!uncond_branch,btable_branch,branch,cbranch,fbranch,call,dyncall,multi,milli,fpcc,fpalu,fpmulsgl,fpmuldbl,fpdivsgl,fpdivdbl,fpsqrtsgl,fpsqrtdbl,parallel_branch")
|
(if_then_else (and (eq_attr "type" "!uncond_branch,btable_branch,branch,cbranch,fbranch,call,dyncall,multi,milli,fpcc,fpalu,fpmulsgl,fpmuldbl,fpdivsgl,fpdivdbl,fpsqrtsgl,fpsqrtdbl,parallel_branch")
|
||||||
(eq_attr "length" "4"))
|
(eq_attr "length" "4")
|
||||||
|
(not (match_test "RTX_FRAME_RELATED_P (insn)")))
|
||||||
(const_string "true")
|
(const_string "true")
|
||||||
(const_string "false")))
|
(const_string "false")))
|
||||||
|
|
||||||
|
@ -140,7 +143,8 @@
|
||||||
;; delay slot.
|
;; delay slot.
|
||||||
(define_attr "in_call_delay" "false,true"
|
(define_attr "in_call_delay" "false,true"
|
||||||
(cond [(and (eq_attr "type" "!uncond_branch,btable_branch,branch,cbranch,fbranch,call,dyncall,multi,milli,parallel_branch")
|
(cond [(and (eq_attr "type" "!uncond_branch,btable_branch,branch,cbranch,fbranch,call,dyncall,multi,milli,parallel_branch")
|
||||||
(eq_attr "length" "4"))
|
(eq_attr "length" "4")
|
||||||
|
(not (match_test "RTX_FRAME_RELATED_P (insn)")))
|
||||||
(const_string "true")
|
(const_string "true")
|
||||||
(eq_attr "type" "uncond_branch")
|
(eq_attr "type" "uncond_branch")
|
||||||
(if_then_else (match_test "TARGET_JUMP_IN_DELAY")
|
(if_then_else (match_test "TARGET_JUMP_IN_DELAY")
|
||||||
|
|
Loading…
Reference in New Issue