sparc: Revert membar optimization that is not suitable for LEON5

LEON5 has a deeper write-buffer and hence stb is not enough to flush a
write out. For compatibility, use the default V8 approach for both
LEON3 and LEON5.

This reverts commit 49cc765db3,
"sync.md (*membar_storeload_leon3): New insn."

gcc/ChangeLog:

	* config/sparc/sync.md (*membar_storeload_leon3): Remove
	(*membar_storeload): Enable for LEON
This commit is contained in:
Andreas Larsson 2023-01-16 15:43:24 +01:00 committed by Daniel Hellstrom
parent cf420e7b98
commit 13db80cb88

View File

@ -64,19 +64,11 @@
"stbar"
[(set_attr "type" "multi")])
;; For LEON3, STB has the effect of membar #StoreLoad.
(define_insn "*membar_storeload_leon3"
[(set (match_operand:BLK 0 "" "")
(unspec:BLK [(match_dup 0) (const_int 2)] UNSPEC_MEMBAR))]
"TARGET_LEON3"
"stb\t%%g0, [%%sp-1]"
[(set_attr "type" "store")])
;; For V8, LDSTUB has the effect of membar #StoreLoad.
(define_insn "*membar_storeload"
[(set (match_operand:BLK 0 "" "")
(unspec:BLK [(match_dup 0) (const_int 2)] UNSPEC_MEMBAR))]
"TARGET_V8 && !TARGET_LEON3"
"TARGET_V8"
"ldstub\t[%%sp-1], %%g0"
[(set_attr "type" "multi")])