mirror of git://gcc.gnu.org/git/gcc.git
mips.md (UNSPEC_MEMORY_BARRIER): New entry in define_constants.
* config/mips/mips.md (UNSPEC_MEMORY_BARRIER): New entry in define_constants. (memory_barrier): Rewrote as an insn that clobbers memory. From-SVN: r128349
This commit is contained in:
parent
04910611bd
commit
bfd9cff5c5
|
@ -1,3 +1,9 @@
|
||||||
|
2007-09-10 David Daney <ddaney@avtrex.com>
|
||||||
|
|
||||||
|
* config/mips/mips.md (UNSPEC_MEMORY_BARRIER): New entry in
|
||||||
|
define_constants.
|
||||||
|
(memory_barrier): Rewrote as an insn that clobbers memory.
|
||||||
|
|
||||||
2007-09-10 Richard Sandiford <richard@codesourcery.com>
|
2007-09-10 Richard Sandiford <richard@codesourcery.com>
|
||||||
|
|
||||||
* config/mips/mips.c (mips_global_pointer): Check
|
* config/mips/mips.c (mips_global_pointer): Check
|
||||||
|
|
|
@ -57,6 +57,7 @@
|
||||||
(UNSPEC_SYNC_OLD_OP 38)
|
(UNSPEC_SYNC_OLD_OP 38)
|
||||||
(UNSPEC_SYNC_NEW_OP 39)
|
(UNSPEC_SYNC_NEW_OP 39)
|
||||||
(UNSPEC_SYNC_EXCHANGE 40)
|
(UNSPEC_SYNC_EXCHANGE 40)
|
||||||
|
(UNSPEC_MEMORY_BARRIER 41)
|
||||||
|
|
||||||
(UNSPEC_ADDRESS_FIRST 100)
|
(UNSPEC_ADDRESS_FIRST 100)
|
||||||
|
|
||||||
|
@ -4304,10 +4305,11 @@
|
||||||
|
|
||||||
;; Atomic memory operations.
|
;; Atomic memory operations.
|
||||||
|
|
||||||
(define_expand "memory_barrier"
|
(define_insn "memory_barrier"
|
||||||
[(unspec_volatile [(const_int 0)] UNSPEC_SYNC)]
|
[(set (mem:BLK (scratch))
|
||||||
|
(unspec:BLK [(const_int 0)] UNSPEC_MEMORY_BARRIER))]
|
||||||
"ISA_HAS_SYNC"
|
"ISA_HAS_SYNC"
|
||||||
"")
|
"sync")
|
||||||
|
|
||||||
(define_insn "sync_compare_and_swap<mode>"
|
(define_insn "sync_compare_and_swap<mode>"
|
||||||
[(set (match_operand:GPR 0 "register_operand" "=&d,d")
|
[(set (match_operand:GPR 0 "register_operand" "=&d,d")
|
||||||
|
|
Loading…
Reference in New Issue