From: Daniel Cederman Date: Sat, 19 Jul 2014 10:42:30 +0000 (+0000) Subject: sync.md (*membar_storeload_leon3): New insn. X-Git-Tag: releases/gcc-4.8.4~352 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1fd2037592ab6713632e3b41feb211d895a93706;p=thirdparty%2Fgcc.git sync.md (*membar_storeload_leon3): New insn. * config/sparc/sync.md (*membar_storeload_leon3): New insn. (*membar_storeload): Disable for LEON3. From-SVN: r212843 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 59addffc3c95..66c615975b73 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2014-07-19 Daniel Cederman + + * config/sparc/sync.md (*membar_storeload_leon3): New insn. + (*membar_storeload): Disable for LEON3. + 2014-07-17 Richard Biener PR rtl-optimization/61801 diff --git a/gcc/config/sparc/sync.md b/gcc/config/sparc/sync.md index cf909853b373..7e39b983d6a3 100644 --- a/gcc/config/sparc/sync.md +++ b/gcc/config/sparc/sync.md @@ -64,11 +64,19 @@ "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_V8 && !TARGET_LEON3" "ldstub\t[%%sp-1], %%g0" [(set_attr "type" "multi")])