mirror of
https://github.com/gcc-mirror/gcc.git
synced 2024-11-21 13:40:47 +00:00
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:
parent
cf420e7b98
commit
13db80cb88
@ -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")])
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user