From patchwork Tue Mar 7 03:29:53 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Almer X-Patchwork-Id: 2780 Delivered-To: ffmpegpatchwork@gmail.com Received: by 10.103.50.79 with SMTP id y76csp377663vsy; Mon, 6 Mar 2017 19:30:25 -0800 (PST) X-Received: by 10.28.7.13 with SMTP id 13mr15986668wmh.16.1488857425750; Mon, 06 Mar 2017 19:30:25 -0800 (PST) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id g11si16988626wmi.59.2017.03.06.19.30.25; Mon, 06 Mar 2017 19:30:25 -0800 (PST) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id BE57668055F; Tue, 7 Mar 2017 05:30:09 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-qk0-f195.google.com (mail-qk0-f195.google.com [209.85.220.195]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id E04C76804B4 for ; Tue, 7 Mar 2017 05:30:02 +0200 (EET) Received: by mail-qk0-f195.google.com with SMTP id v125so11325521qkh.1 for ; Mon, 06 Mar 2017 19:30:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id; bh=iDeD5ch5g3oEOme38b01Ka5FEbRH6yStFKa/blixcNQ=; b=uG1I1Uu6xrOhy/wX8TiRh06++B8FJqbyOXXtU6RIGNqm9uFung5tLssj1uBO84y0Wm eEedCD6SgzSsnhDgOu81bRz14AYn497TLq7HZnrWHP0S2iiTEnsKLZ9qLxDMOwQepYM0 2KH2NuGxeKgupaP/9D3e9re0hpkVvh4XXRrkP1cAXdaT8NklJJeGSEjoYCtawLiPtPWi aoF3DJxc/bjcKLHT+La7Rvhtws0+ouVTOCFEUE4G8WA3BP0C8GxMnszPSwtpH4379Tcv k4vXjCH0yIcisoKTbkXghksOn2sTgZ+QERa9SRB1s1X3nZVaBQr6yzCAwimdxcNUpfAd VWCA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id; bh=iDeD5ch5g3oEOme38b01Ka5FEbRH6yStFKa/blixcNQ=; b=d7WcYhPF0Jgyhi5+dtrzFQJGh381VSfKPyxvhg3C0aXtAK7m+kt0t2Ul3oPnUwOWCu q47vdjd28iP2X3MEFH9VZ2N7c/F3X5TMA8zfPMm9baR5DPXaysjjTtMGclepxLYtMxC7 bsMZDXW377TS97AOe1sFASAKCEcHp6neb53ZYyI6Tts5lTEXLgDHIB6zZVcAk2AgA9XN oUgJWpPjAwX/M5SnbwtHKI0VP6ajjpOmQGlnbIS6Z3lhJ2ZfP6dEnMuKrKUT9FsWnDIn ExjFknYVnipqnrM3VKjwzFg90GuluOUZ1Fk4eONSMQRSt95rxtKzD6M0Y3X3gV+yM9O7 dezw== X-Gm-Message-State: AMke39mQxMLOkzAylCDfhThgtId1rjidlgkuPTvQcsfeHS9KeYSiUJnobO57PQknyV6dpQ== X-Received: by 10.55.151.7 with SMTP id z7mr19090171qkd.316.1488857414564; Mon, 06 Mar 2017 19:30:14 -0800 (PST) Received: from localhost.localdomain ([181.231.62.139]) by smtp.gmail.com with ESMTPSA id u5sm14766036qkd.46.2017.03.06.19.30.13 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Mon, 06 Mar 2017 19:30:14 -0800 (PST) From: James Almer To: ffmpeg-devel@ffmpeg.org Date: Tue, 7 Mar 2017 00:29:53 -0300 Message-Id: <20170307032953.6904-1-jamrial@gmail.com> X-Mailer: git-send-email 2.12.0 Subject: [FFmpeg-devel] [PATCH] Revert "lavu/atomic: add support for the new memory model aware gcc built-ins" X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" This reverts commit faa9d2982969c999ab0e443a226eff116f7f8e4b. This change became superfluous when support for C11 atomics was introduced. Reverting it will make the removal of this implementation in an upcoming merge conflict free. Signed-off-by: James Almer --- configure | 4 +--- libavutil/atomic_gcc.h | 17 ----------------- 2 files changed, 1 insertion(+), 20 deletions(-) diff --git a/configure b/configure index 0199fec5c0..6350942ef9 100755 --- a/configure +++ b/configure @@ -1821,7 +1821,6 @@ ARCH_FEATURES=" BUILTIN_LIST=" atomic_cas_ptr - atomic_compare_exchange machine_rw_barrier MemoryBarrier mm_empty @@ -2322,7 +2321,7 @@ symver_if_any="symver_asm_label symver_gnu_asm" valgrind_backtrace_deps="!optimizations valgrind_valgrind_h" # threading support -atomics_gcc_if_any="sync_val_compare_and_swap atomic_compare_exchange" +atomics_gcc_if="sync_val_compare_and_swap" atomics_suncc_if="atomic_cas_ptr machine_rw_barrier" atomics_win32_if="MemoryBarrier" atomics_native_if_any="$ATOMICS_LIST" @@ -5533,7 +5532,6 @@ if ! disabled network; then fi check_builtin atomic_cas_ptr atomic.h "void **ptr; void *oldval, *newval; atomic_cas_ptr(ptr, oldval, newval)" -check_builtin atomic_compare_exchange "" "int *ptr, *oldval; int newval; __atomic_compare_exchange_n(ptr, oldval, newval, 0, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST)" check_builtin machine_rw_barrier mbarrier.h "__machine_rw_barrier()" check_builtin MemoryBarrier windows.h "MemoryBarrier()" check_builtin sarestart signal.h "SA_RESTART" diff --git a/libavutil/atomic_gcc.h b/libavutil/atomic_gcc.h index 5f9fc49ba0..2bb43c3cea 100644 --- a/libavutil/atomic_gcc.h +++ b/libavutil/atomic_gcc.h @@ -28,40 +28,27 @@ #define avpriv_atomic_int_get atomic_int_get_gcc static inline int atomic_int_get_gcc(volatile int *ptr) { -#if HAVE_ATOMIC_COMPARE_EXCHANGE - return __atomic_load_n(ptr, __ATOMIC_SEQ_CST); -#else __sync_synchronize(); return *ptr; -#endif } #define avpriv_atomic_int_set atomic_int_set_gcc static inline void atomic_int_set_gcc(volatile int *ptr, int val) { -#if HAVE_ATOMIC_COMPARE_EXCHANGE - __atomic_store_n(ptr, val, __ATOMIC_SEQ_CST); -#else *ptr = val; __sync_synchronize(); -#endif } #define avpriv_atomic_int_add_and_fetch atomic_int_add_and_fetch_gcc static inline int atomic_int_add_and_fetch_gcc(volatile int *ptr, int inc) { -#if HAVE_ATOMIC_COMPARE_EXCHANGE - return __atomic_add_fetch(ptr, inc, __ATOMIC_SEQ_CST); -#else return __sync_add_and_fetch(ptr, inc); -#endif } #define avpriv_atomic_ptr_cas atomic_ptr_cas_gcc static inline void *atomic_ptr_cas_gcc(void * volatile *ptr, void *oldval, void *newval) { -#if HAVE_SYNC_VAL_COMPARE_AND_SWAP #ifdef __ARMCC_VERSION // armcc will throw an error if ptr is not an integer type volatile uintptr_t *tmp = (volatile uintptr_t*)ptr; @@ -69,10 +56,6 @@ static inline void *atomic_ptr_cas_gcc(void * volatile *ptr, #else return __sync_val_compare_and_swap(ptr, oldval, newval); #endif -#else - __atomic_compare_exchange_n(ptr, &oldval, newval, 0, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST); - return oldval; -#endif } #endif /* AVUTIL_ATOMIC_GCC_H */