PR target/86806
* config/sparc/sparc.md (unspecv): Add UNSPECV_SPECULATION_BARRIER.
(speculation_barrier): New instruction for V9.
From-SVN: r267053
+2018-12-12 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR target/86806
+ * config/sparc/sparc.md (unspecv): Add UNSPECV_SPECULATION_BARRIER.
+ (speculation_barrier): New instruction for V9.
+
2018-12-12 Segher Boessenkool <segher@kernel.crashing.org>
Iain Sandoe <iain@sandoe.co.uk>
(define_c_enum "unspecv" [
UNSPECV_BLOCKAGE
+
+ UNSPECV_SPECULATION_BARRIER
+
UNSPECV_PROBE_STACK_RANGE
UNSPECV_FLUSHW
""
[(set_attr "length" "0")])
+;; We use membar #Sync for the speculation barrier on V9.
+
+(define_insn "speculation_barrier"
+ [(unspec_volatile [(const_int 0)] UNSPECV_SPECULATION_BARRIER)]
+ "TARGET_V9"
+ "membar\t64"
+ [(set_attr "type" "multi")])
+
(define_expand "probe_stack"
[(set (match_operand 0 "memory_operand" "") (const_int 0))]
""