Commit de21ce7f by John David Anglin Committed by John David Anglin

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
parent 48325d1c
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 @@ ...@@ -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 @@ ...@@ -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 @@ ...@@ -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")
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment