From 88ff2fa25c0b50f0a733e2e0faedd20f015f074c Mon Sep 17 00:00:00 2001 From: David Edelsohn Date: Fri, 22 May 2015 13:02:34 +0000 Subject: PR target/66224 * config/cpu/powerpc/atomic_word.h (_GLIBCXX_READ_MEM_BARRIER): Don't use isync. Use lwsync if available. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/gcc-4_9-branch@223564 138bc75d-0d04-0410-961f-82ee72b054a4 --- libstdc++-v3/ChangeLog | 9 +++++++++ libstdc++-v3/config/cpu/powerpc/atomic_word.h | 5 +++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index b42c6e74dda..6ac5a480779 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,12 @@ +2015-05-22 David Edelsohn + + Backport from mainline + 2015-05-21 David Edelsohn + + PR target/66224 + * config/cpu/powerpc/atomic_word.h (_GLIBCXX_READ_MEM_BARRIER): + Don't use isync. Use lwsync if available. + 2015-05-07 Renlin Li Backported from mainline diff --git a/libstdc++-v3/config/cpu/powerpc/atomic_word.h b/libstdc++-v3/config/cpu/powerpc/atomic_word.h index 12eafd8db4f..1ceb02cf702 100644 --- a/libstdc++-v3/config/cpu/powerpc/atomic_word.h +++ b/libstdc++-v3/config/cpu/powerpc/atomic_word.h @@ -1,6 +1,6 @@ // Low-level type for atomic operations -*- C++ -*- -// Copyright (C) 2004-2014 Free Software Foundation, Inc. +// Copyright (C) 2004-2015 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -27,10 +27,11 @@ typedef int _Atomic_word; -#define _GLIBCXX_READ_MEM_BARRIER __asm __volatile ("isync":::"memory") #ifdef __NO_LWSYNC__ +#define _GLIBCXX_READ_MEM_BARRIER __asm __volatile ("sync":::"memory") #define _GLIBCXX_WRITE_MEM_BARRIER __asm __volatile ("sync":::"memory") #else +#define _GLIBCXX_READ_MEM_BARRIER __asm __volatile ("lwsync":::"memory") #define _GLIBCXX_WRITE_MEM_BARRIER __asm __volatile ("lwsync":::"memory") #endif -- cgit v1.2.3