From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 19307 invoked by alias); 16 Jan 2015 19:41:10 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 19288 invoked by uid 89); 16 Jan 2015 19:41:09 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.5 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=ham version=3.3.2 X-HELO: mail-qc0-f175.google.com Received: from mail-qc0-f175.google.com (HELO mail-qc0-f175.google.com) (209.85.216.175) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-SHA encrypted) ESMTPS; Fri, 16 Jan 2015 19:41:07 +0000 Received: by mail-qc0-f175.google.com with SMTP id p6so18639264qcv.6 for ; Fri, 16 Jan 2015 11:41:05 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=3Pg818FbVwuNwbtH1k4jsiBmFVbaJ3lZhuW2EuuJUcE=; b=gy+6zp2PcXaO/jD1mpFmoabpO06jQ4kqGDduj3aIL6DiU9+FDa/t0Y/E8A6zC/uiwQ boeRWxw//klIRpr3tPLPK9Jhl0g06R6Hodj1on+l76Nrq/VKMYBqcwmvpHKgwPfCb7fH 29/RPR7lYtC+f1sXD8b+QTciBAiFJTrik9x8xDnrFhQJOxQLEqKxs6W6YOjy23DkrPjF 08p3FnrfMe9z3Zfdmy5W2DXvnIyJneQoTJ9CDCtV7msPWT7eHXhTpI8xS7SutINcZIvB EAzX8tqDjpIdKUv23pAPgokxgMJRuQiPEENnHnnpl8BHnoxSI0UPCy6INuIQMiLA22+C IFSg== X-Gm-Message-State: ALoCoQnT8KX3ArHqnloq2pk8lCFvWVOGqiNxqMBJhbzRoZFQD/7hsODKivshaXLmcsStIIngaUB0 MIME-Version: 1.0 X-Received: by 10.224.113.200 with SMTP id b8mr26796540qaq.35.1421437264848; Fri, 16 Jan 2015 11:41:04 -0800 (PST) Received: by 10.140.84.176 with HTTP; Fri, 16 Jan 2015 11:41:04 -0800 (PST) In-Reply-To: References: <1421162314-25779-1-git-send-email-christophe.lyon@linaro.org> <1421162314-25779-31-git-send-email-christophe.lyon@linaro.org> <54B9597D.9060409@arm.com> Date: Fri, 16 Jan 2015 20:34:00 -0000 Message-ID: Subject: Re: [[ARM/AArch64][testsuite] 30/36] Add vpaddl tests. From: Christophe Lyon To: Tejas Belagod Cc: "gcc-patches@gcc.gnu.org" Content-Type: text/plain; charset=UTF-8 X-IsSubscribed: yes X-SW-Source: 2015-01/txt/msg01479.txt.bz2 On 16 January 2015 at 19:49, Christophe Lyon wrote: > On 16 January 2015 at 19:33, Tejas Belagod wrote: >> >>> +VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, >>> + 0x33, 0x33, 0x33, 0x33, >>> + 0x33, 0x33, 0x33, 0x33, >>> + 0x33, 0x33, 0x33, 0x33 }; >>> +VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, >>> + 0x3333, 0x3333, 0x3333, 0x3333 }; >>> +VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, >>> + 0x33333333, 0x33333333 }; >>> + >> >> >> No poly or float ops. >> >>> +#define INSN_NAME vpaddl >>> +#define TEST_MSG "VPADDL/VPADDLQ" >>> + >>> +#define FNNAME1(NAME) void exec_ ## NAME (void) >>> +#define FNNAME(NAME) FNNAME1(NAME) >>> + >>> +FNNAME (INSN_NAME) >>> +{ >>> + /* Basic test: y=OP(x), then store the result. */ >>> +#define TEST_VPADDL1(INSN, Q, T1, T2, W, N, W2, N2) \ >>> + VECT_VAR(vector_res, T1, W2, N2) = \ >>> + INSN##Q##_##T2##W(VECT_VAR(vector, T1, W, N)); \ >>> + vst1##Q##_##T2##W2(VECT_VAR(result, T1, W2, N2), \ >>> + VECT_VAR(vector_res, T1, W2, N2)) >>> + >>> +#define TEST_VPADDL(INSN, Q, T1, T2, W, N, W2, N2) \ >>> + TEST_VPADDL1(INSN, Q, T1, T2, W, N, W2, N2) >>> + >>> + /* No need for 64 bits variants. */ >> >> >> These look like 64-bit variants. >> > I mean no vector element of 64 bits. > >>> + DECL_VARIABLE(vector, int, 8, 8); >>> + DECL_VARIABLE(vector, int, 16, 4); >>> + DECL_VARIABLE(vector, int, 32, 2); >>> + DECL_VARIABLE(vector, uint, 8, 8); >>> + DECL_VARIABLE(vector, uint, 16, 4); >>> + DECL_VARIABLE(vector, uint, 32, 2); >>> + DECL_VARIABLE(vector, int, 8, 16); >>> + DECL_VARIABLE(vector, int, 16, 8); >>> + DECL_VARIABLE(vector, int, 32, 4); >>> + DECL_VARIABLE(vector, uint, 8, 16); >>> + DECL_VARIABLE(vector, uint, 16, 8); >>> + DECL_VARIABLE(vector, uint, 32, 4); >>> + >> >> >>> + /* Apply a unary operator named INSN_NAME. */ >> >> Unary op? > > Cut & paste error, again. > Hmm changed my mind: vpaddl takes only one vector as input, although it does add 2 vector elements. >> >>> + TEST_VPADDL(INSN_NAME, , int, s, 8, 8, 16, 4); >>> + TEST_VPADDL(INSN_NAME, , int, s, 16, 4, 32, 2); >>> + TEST_VPADDL(INSN_NAME, , int, s, 32, 2, 64, 1); >>> + TEST_VPADDL(INSN_NAME, , uint, u, 8, 8, 16, 4); >>> + TEST_VPADDL(INSN_NAME, , uint, u, 16, 4, 32, 2); >>> + TEST_VPADDL(INSN_NAME, , uint, u, 32, 2, 64, 1); >>> + TEST_VPADDL(INSN_NAME, q, int, s, 8, 16, 16, 8); >>> + TEST_VPADDL(INSN_NAME, q, int, s, 16, 8, 32, 4); >>> + TEST_VPADDL(INSN_NAME, q, int, s, 32, 4, 64, 2); >>> + TEST_VPADDL(INSN_NAME, q, uint, u, 8, 16, 16, 8); >>> + TEST_VPADDL(INSN_NAME, q, uint, u, 16, 8, 32, 4); >>> + TEST_VPADDL(INSN_NAME, q, uint, u, 32, 4, 64, 2); >>> + >>> + CHECK_RESULTS (TEST_MSG, ""); >>> +} >>> + >>> +int main (void) >>> +{ >>> + exec_vpaddl (); >>> + return 0; >>> +} >>> >> >> >> Otherwise, LGTM. >> >> Tejas. >>