From patchwork Tue May 9 21:08:48 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Matthieu Bouron X-Patchwork-Id: 3634 Delivered-To: ffmpegpatchwork@gmail.com Received: by 10.103.3.129 with SMTP id 123csp1532984vsd; Tue, 9 May 2017 14:17:01 -0700 (PDT) X-Received: by 10.28.191.89 with SMTP id p86mr1371803wmf.27.1494364621021; Tue, 09 May 2017 14:17:01 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1494364620; cv=none; d=google.com; s=arc-20160816; b=upS5Pb6PmPjoOI21/xpBSds1dPzfhB53uGC3RPu7mxY9oYxV2DQZxlrK/FvcLugLuK eTfXRuwvipYfhCpBg6nGqOxxFS4+DXK8bNEnEVUnbh5idWT1DkR2XOZ2PNbzXxPgQlx0 Xk0rlfRfRHuT9zNsLjDbj2hjjwNCp2sxBHH9TGR6ReoTIkZDTncMbpoPznkr8ClWTLPo TDNrVFlZb56qugvHtv+PdQWoy5WlosfHyrameVUJvo2s/QeF7LWtGUoroXyxNk/WuCpv KIrfw8HmZgXqFL7kEyY5byjApaYJQskneGFH/yf49XZ3JCRIq1QjezVAGqS79PUrdlS4 lkPw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:reply-to:list-subscribe:list-help:list-post :list-archive:list-unsubscribe:list-id:precedence:subject:to :message-id:date:from:references:in-reply-to:mime-version :dkim-signature:delivered-to:arc-authentication-results; bh=go644f/DM7YEljARJkKcO/t5G5qfdiFjnEH/dunBvtk=; b=HhwGO1pMfJu8KFxyIKmS/0OnUPvkOueD6Y4Sf++FBPih3dojnOMsWapxgMPMpMb1J6 RVQ7hvEExiNWQ64p12cT0QaWEPaJekdLNAJXWyEZsHqoHHpVUnQVE5DBn7H4cHRIONaB dYj4dR37PZMFpnQtQUDW6XEzuTWd4iBlc1j42qyLCOrF1tSWQAw4MuJPSXRe9kHlrA2v 32VtumYwXl+gPjsZ9KsBgvorCAyDPneeBtnpt5Fm6azB59qSaoNn0gMA8H/7ch6+uD5V 2eR6qT7etQ2m+oM9yS+VNd7+S0RAke4ayCyMqT0oj4gfvUlilfgT/owlWfyW2sYvYYS+ J18g== ARC-Authentication-Results: i=1; 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 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id e25si1153433wra.213.2017.05.09.14.16.59; Tue, 09 May 2017 14:17:00 -0700 (PDT) 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 1B06D680C29; Wed, 10 May 2017 00:16:50 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-oi0-f66.google.com (mail-oi0-f66.google.com [209.85.218.66]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 5E15F6808B3 for ; Wed, 10 May 2017 00:16:42 +0300 (EEST) Received: by mail-oi0-f66.google.com with SMTP id m17so2093406oik.2 for ; Tue, 09 May 2017 14:16:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to; bh=NzlwLDYK/v2wiSYC1j9Eva5PpZZ1wk7hU+PpJvM7nvg=; b=Sf5s9P/ORpKAO5l0LU7qytnHrZib2pNA34SPMKMMUU1uikVVR8l2EcY62QCGOAFosa ab7lXgbbF3egclGvQzuVyBZd5n04a918fzf30Kjiv+p51zWHMe+IIcESA60oUV8NsPv4 NjaeMyBNb9wmE5MXDVqGHvYqUjJrCAP/Rr9eIUvDTgP5MxkB9JG/QTdf3EozK6kZXyHi 4hndtxMSExvcf+1jF4OX8RtCDZFLfy6ahP2/OEQP9449bTBjO4InUtZXxckJrlFX5Hoq iQn3xfcJt/PuIItYPFa0rrcyDd0VaBtyW5eolhq8tc+DAf8eMyXUOwDE0iehVwt/1Z1v M7sA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to; bh=NzlwLDYK/v2wiSYC1j9Eva5PpZZ1wk7hU+PpJvM7nvg=; b=ZwK9OLqbpUhAc/N71k5tno4P8kGNGMQDokZM+dz4s//6A1hDz5qHMCum0gDWFf2NEa N0gloJBb1DrFrv8DNQfgfFHIx8iMnoNTx2vBjXUKbWli85oyRYK5g6OvCQtZ1wgGfBn+ uFgf5Cj9+oLaZy4HJRNTAy9kf09hH0ecAd6//djScTaT6Wc+i4JJJNizxw7F8KzJKu4L VPsqIHocqMuTp4OO8rJRVwKsEm+RCvupQq2D8jHercb0HoQ5/qjkFwDXLjOrghp0t9/1 +h7DQJ1i0+IIyYhpAl15QQv0hpoIy0w3zUic9LPaSaAcp5iHt+7XJFaYalTkQrTyQkAh +r6A== X-Gm-Message-State: AODbwcAXbPmtCBoJOKdnww/JZMPw4SMGVq5lq8r0TSVAvCDYlin1ms6C U0jMuT/J1NvPDX3mPzvoCcW+7fopwA== X-Received: by 10.157.54.147 with SMTP id h19mr1098864otc.156.1494364129235; Tue, 09 May 2017 14:08:49 -0700 (PDT) MIME-Version: 1.0 Received: by 10.74.103.98 with HTTP; Tue, 9 May 2017 14:08:48 -0700 (PDT) In-Reply-To: References: <20170428195855.14187-1-matthieu.bouron@gmail.com> <7d1bb861-4289-4af7-a543-0edab6532ac0@free.fr> From: Matthieu Bouron Date: Tue, 9 May 2017 23:08:48 +0200 Message-ID: To: FFmpeg development discussions and patches X-Content-Filtered-By: Mailman/MimeDel 2.1.20 Subject: Re: [FFmpeg-devel] [PATCH] lavc/aarch64/simple_idct: separate macro arguments with commas 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" On Sun, May 7, 2017 at 11:05 AM, Matthieu Bouron wrote: > > > Le 2 mai 2017 12:01 PM, "Benoit Fouet" a écrit : > > Hi, > > > On 28/04/2017 21:58, Matthieu Bouron wrote: > > Untested: fixes ticket #6324. > > --- > > libavcodec/aarch64/simple_idct_neon.S | 12 ++++++------ > > 1 file changed, 6 insertions(+), 6 deletions(-) > > > > diff --git a/libavcodec/aarch64/simple_idct_neon.S > b/libavcodec/aarch64/simple_idct_neon.S > > index 52273420f9..d31f72a609 100644 > > --- a/libavcodec/aarch64/simple_idct_neon.S > > +++ b/libavcodec/aarch64/simple_idct_neon.S > > @@ -61,19 +61,19 @@ endconst > > br x10 > > .endm > > > > -.macro smull1 a b c > > +.macro smull1 a, b, c > > smull \a, \b, \c > > .endm > > > > -.macro smlal1 a b c > > +.macro smlal1 a, b, c > > smlal \a, \b, \c > > .endm > > > > -.macro smlsl1 a b c > > +.macro smlsl1 a, b, c > > smlsl \a, \b, \c > > .endm > > > > -.macro idct_col4_top y1 y2 y3 y4 i l > > +.macro idct_col4_top y1, y2, y3, y4, i, l > > smull\i v7.4S, \y3\().\l, z2 > > smull\i v16.4S, \y3\().\l, z6 > > smull\i v17.4S, \y2\().\l, z1 > > @@ -91,7 +91,7 @@ endconst > > smlsl\i v6.4S, \y4\().\l, z5 > > .endm > > > > -.macro idct_row4_neon y1 y2 y3 y4 pass > > +.macro idct_row4_neon y1, y2, y3, y4, pass > > ld1 {\y1\().2D-\y2\().2D}, [x2], #32 > > movi v23.4S, #1<<2, lsl #8 > > orr v5.16B, \y1\().16B, \y2\().16B > > @@ -153,7 +153,7 @@ endconst > > trn2 \y4\().4S, v17.4S, v19.4S > > .endm > > > > -.macro declare_idct_col4_neon i l > > +.macro declare_idct_col4_neon i, l > > function idct_col4_neon\i > > dup v23.4H, z4c > > .if \i == 1 > > Sounds sane, but shouldn't we be doing this for all instances of > multiple arguments macros without commas? > > > Sure, I may have missed some. I will work again on this patch on Tuesday > as I will have access to an apple machine (and hopefully fix the build > without gas-preprocessor). > > Sorry for the delay, > Matthieu > > Updated patch attached: * add missing commas to separate macro arguments * passes .4H/.8H as macro arguments instead of .4H/.8H (the later form being interpreted as an hexadecimal value, ie: 4/8). From e27ac0f3a8b6436a7530ee5c5c514bfdfac4a558 Mon Sep 17 00:00:00 2001 From: Matthieu Bouron Date: Fri, 28 Apr 2017 21:58:55 +0200 Subject: [PATCH] lavc/aarch64/simple_idct: fix iOS build without gas-preprocessor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Separates macro arguments with commas and passes .4H/.8H as macro arguments instead of 4H/8H (the later form being interpreted as an hexadecimal value). Fixes ticket #6324. Suggested-by: Martin Storsjö --- libavcodec/aarch64/simple_idct_neon.S | 74 +++++++++++++++++------------------ 1 file changed, 37 insertions(+), 37 deletions(-) diff --git a/libavcodec/aarch64/simple_idct_neon.S b/libavcodec/aarch64/simple_idct_neon.S index 52273420f9..92987985d2 100644 --- a/libavcodec/aarch64/simple_idct_neon.S +++ b/libavcodec/aarch64/simple_idct_neon.S @@ -61,37 +61,37 @@ endconst br x10 .endm -.macro smull1 a b c +.macro smull1 a, b, c smull \a, \b, \c .endm -.macro smlal1 a b c +.macro smlal1 a, b, c smlal \a, \b, \c .endm -.macro smlsl1 a b c +.macro smlsl1 a, b, c smlsl \a, \b, \c .endm -.macro idct_col4_top y1 y2 y3 y4 i l - smull\i v7.4S, \y3\().\l, z2 - smull\i v16.4S, \y3\().\l, z6 - smull\i v17.4S, \y2\().\l, z1 +.macro idct_col4_top y1, y2, y3, y4, i, l + smull\i v7.4S, \y3\l, z1 + smull\i v16.4S, \y3\l, z6 + smull\i v17.4S, \y2\l, z1 add v19.4S, v23.4S, v7.4S - smull\i v18.4S, \y2\().\l, z3 + smull\i v18.4S, \y2\l, z3 add v20.4S, v23.4S, v16.4S - smull\i v5.4S, \y2\().\l, z5 + smull\i v5.4S, \y2\l, z5 sub v21.4S, v23.4S, v16.4S - smull\i v6.4S, \y2\().\l, z7 + smull\i v6.4S, \y2\l, z7 sub v22.4S, v23.4S, v7.4S - smlal\i v17.4S, \y4\().\l, z3 - smlsl\i v18.4S, \y4\().\l, z7 - smlsl\i v5.4S, \y4\().\l, z1 - smlsl\i v6.4S, \y4\().\l, z5 + smlal\i v17.4S, \y4\l, z3 + smlsl\i v18.4S, \y4\l, z7 + smlsl\i v5.4S, \y4\l, z1 + smlsl\i v6.4S, \y4\l, z5 .endm -.macro idct_row4_neon y1 y2 y3 y4 pass +.macro idct_row4_neon y1, y2, y3, y4, pass ld1 {\y1\().2D-\y2\().2D}, [x2], #32 movi v23.4S, #1<<2, lsl #8 orr v5.16B, \y1\().16B, \y2\().16B @@ -101,7 +101,7 @@ endconst mov x3, v5.D[1] smlal v23.4S, \y1\().4H, z4 - idct_col4_top \y1 \y2 \y3 \y4 1 4H + idct_col4_top \y1, \y2, \y3, \y4, 1, .4H cmp x3, #0 beq \pass\()f @@ -153,7 +153,7 @@ endconst trn2 \y4\().4S, v17.4S, v19.4S .endm -.macro declare_idct_col4_neon i l +.macro declare_idct_col4_neon i, l function idct_col4_neon\i dup v23.4H, z4c .if \i == 1 @@ -164,14 +164,14 @@ function idct_col4_neon\i .endif smull v23.4S, v23.4H, z4 - idct_col4_top v24 v25 v26 v27 \i \l + idct_col4_top v24, v25, v26, v27, \i, \l mov x4, v28.D[\i - 1] mov x5, v29.D[\i - 1] cmp x4, #0 beq 1f - smull\i v7.4S, v28.\l, z4 + smull\i v7.4S, v28\l, z4 add v19.4S, v19.4S, v7.4S sub v20.4S, v20.4S, v7.4S sub v21.4S, v21.4S, v7.4S @@ -181,17 +181,17 @@ function idct_col4_neon\i cmp x5, #0 beq 2f - smlal\i v17.4S, v29.\l, z5 - smlsl\i v18.4S, v29.\l, z1 - smlal\i v5.4S, v29.\l, z7 - smlal\i v6.4S, v29.\l, z3 + smlal\i v17.4S, v29\l, z5 + smlsl\i v18.4S, v29\l, z1 + smlal\i v5.4S, v29\l, z7 + smlal\i v6.4S, v29\l, z3 2: mov x5, v31.D[\i - 1] cmp x4, #0 beq 3f - smull\i v7.4S, v30.\l, z6 - smull\i v16.4S, v30.\l, z2 + smull\i v7.4S, v30\l, z6 + smull\i v16.4S, v30\l, z2 add v19.4S, v19.4S, v7.4S sub v22.4S, v22.4S, v7.4S sub v20.4S, v20.4S, v16.4S @@ -200,10 +200,10 @@ function idct_col4_neon\i 3: cmp x5, #0 beq 4f - smlal\i v17.4S, v31.\l, z7 - smlsl\i v18.4S, v31.\l, z5 - smlal\i v5.4S, v31.\l, z3 - smlsl\i v6.4S, v31.\l, z1 + smlal\i v17.4S, v31\l, z7 + smlsl\i v18.4S, v31\l, z5 + smlal\i v5.4S, v31\l, z3 + smlsl\i v6.4S, v31\l, z1 4: addhn v7.4H, v19.4S, v17.4S addhn2 v7.8H, v20.4S, v18.4S @@ -219,14 +219,14 @@ function idct_col4_neon\i endfunc .endm -declare_idct_col4_neon 1 4H -declare_idct_col4_neon 2 8H +declare_idct_col4_neon 1, .4H +declare_idct_col4_neon 2, .8H function ff_simple_idct_put_neon, export=1 idct_start x2 - idct_row4_neon v24 v25 v26 v27 1 - idct_row4_neon v28 v29 v30 v31 2 + idct_row4_neon v24, v25, v26, v27, 1 + idct_row4_neon v28, v29, v30, v31, 2 bl idct_col4_neon1 sqshrun v1.8B, v7.8H, #COL_SHIFT-16 @@ -263,8 +263,8 @@ endfunc function ff_simple_idct_add_neon, export=1 idct_start x2 - idct_row4_neon v24 v25 v26 v27 1 - idct_row4_neon v28 v29 v30 v31 2 + idct_row4_neon v24, v25, v26, v27, 1 + idct_row4_neon v28, v29, v30, v31, 2 bl idct_col4_neon1 sshr v1.8H, V7.8H, #COL_SHIFT-16 @@ -328,8 +328,8 @@ function ff_simple_idct_neon, export=1 idct_start x0 mov x2, x0 - idct_row4_neon v24 v25 v26 v27 1 - idct_row4_neon v28 v29 v30 v31 2 + idct_row4_neon v24, v25, v26, v27, 1 + idct_row4_neon v28, v29, v30, v31, 2 add x2, x2, #-128 bl idct_col4_neon1 -- 2.12.0