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:
John David Anglin 2011-12-01 02:08:10 +00:00 committed by John David Anglin
parent 48325d1cb6
commit de21ce7fa8
2 changed files with 15 additions and 4 deletions

View File

@ -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>
* predict.c (expr_expected_value_1): Assume compare-and-swap builtin

View File

@ -121,10 +121,12 @@
;; 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"
(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 "false")))
@ -132,7 +134,8 @@
;; even if the instruction is nullified.
(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")
(eq_attr "length" "4"))
(eq_attr "length" "4")
(not (match_test "RTX_FRAME_RELATED_P (insn)")))
(const_string "true")
(const_string "false")))
@ -140,7 +143,8 @@
;; delay slot.
(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")
(eq_attr "length" "4"))
(eq_attr "length" "4")
(not (match_test "RTX_FRAME_RELATED_P (insn)")))
(const_string "true")
(eq_attr "type" "uncond_branch")
(if_then_else (match_test "TARGET_JUMP_IN_DELAY")