From patchwork Wed Dec 4 13:23:04 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ragesh Radhakrishnan X-Patchwork-Id: 22021 Return-Path: X-Original-To: linaro@patches.linaro.org Delivered-To: linaro@patches.linaro.org Received: from mail-ie0-f199.google.com (mail-ie0-f199.google.com [209.85.223.199]) by ip-10-151-82-157.ec2.internal (Postfix) with ESMTPS id B3AF723FCB for ; Wed, 4 Dec 2013 13:23:30 +0000 (UTC) Received: by mail-ie0-f199.google.com with SMTP id lx4sf51283768iec.10 for ; Wed, 04 Dec 2013 05:23:30 -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:delivered-to:from:to:cc:subject :date:message-id:x-original-sender:x-original-authentication-results :precedence:mailing-list:list-id:list-post:list-help:list-archive :list-unsubscribe; bh=e2bP6KizLcfZ6x1M9bl4fbQvqHcAfCw9vLoCpl6iVNg=; b=jMYdR+0E0B30g/ZJBueRrWG6YzYq+Y3wCWwPbxImVix80ZHqO+AdK4HvMFS5fTF2Ny ATLgLqB+CluDmSWG10fohTytvhwkNGw6UMoQXYwIhjHsVlm0pN6KbyyXLMb0hz5edQhs gwXRuemFHbOXuSduyn4Q63BeL7qbulG+y3L/v039cGnZu6wu9NSpiSn7zcevFEhwA/js jtIi6cWWfqR4BUIOR5sTD/Vz8XpUGMj55Q3S6CFH8DLqhCL0xYR6WbLi58CtaDMhd2uf T9olgHG3IDk35JvTpf23As8Bp0fv7wqKYL4hjatrZCbXiqcdw0WOsB6W/sy9OF5m1obm aRUQ== X-Gm-Message-State: ALoCoQmyulP5Thk7436Jb2PSkG4+aiQ5tHs4R/ujYrUP/vgsti8oBYbbUVMQQmJGKB8Kng4SSOHB X-Received: by 10.42.84.136 with SMTP id m8mr23535521icl.9.1386163409990; Wed, 04 Dec 2013 05:23:29 -0800 (PST) MIME-Version: 1.0 X-BeenThere: patchwork-forward@linaro.org Received: by 10.49.36.2 with SMTP id m2ls290756qej.40.gmail; Wed, 04 Dec 2013 05:23:29 -0800 (PST) X-Received: by 10.58.216.74 with SMTP id oo10mr59357635vec.0.1386163409875; Wed, 04 Dec 2013 05:23:29 -0800 (PST) Received: from mail-vc0-f172.google.com (mail-vc0-f172.google.com [209.85.220.172]) by mx.google.com with ESMTPS id z9si32955045veh.70.2013.12.04.05.23.29 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Wed, 04 Dec 2013 05:23:29 -0800 (PST) Received-SPF: neutral (google.com: 209.85.220.172 is neither permitted nor denied by best guess record for domain of patch+caf_=patchwork-forward=linaro.org@linaro.org) client-ip=209.85.220.172; Received: by mail-vc0-f172.google.com with SMTP id hz11so11427492vcb.31 for ; Wed, 04 Dec 2013 05:23:29 -0800 (PST) X-Received: by 10.52.72.100 with SMTP id c4mr40781vdv.86.1386163409666; Wed, 04 Dec 2013 05:23:29 -0800 (PST) X-Forwarded-To: patchwork-forward@linaro.org X-Forwarded-For: patch@linaro.org patchwork-forward@linaro.org Delivered-To: patches@linaro.org Received: by 10.220.174.196 with SMTP id u4csp291686vcz; Wed, 4 Dec 2013 05:23:29 -0800 (PST) X-Received: by 10.68.211.1 with SMTP id my1mr45967908pbc.55.1386163408899; Wed, 04 Dec 2013 05:23:28 -0800 (PST) Received: from mail-pb0-f44.google.com (mail-pb0-f44.google.com [209.85.160.44]) by mx.google.com with ESMTPS id ya10si18248418pab.37.2013.12.04.05.23.28 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Wed, 04 Dec 2013 05:23:28 -0800 (PST) Received-SPF: neutral (google.com: 209.85.160.44 is neither permitted nor denied by best guess record for domain of ragesh.r@linaro.org) client-ip=209.85.160.44; Received: by mail-pb0-f44.google.com with SMTP id rq2so23448285pbb.17 for ; Wed, 04 Dec 2013 05:23:28 -0800 (PST) X-Received: by 10.66.191.162 with SMTP id gz2mr17597229pac.151.1386163408476; Wed, 04 Dec 2013 05:23:28 -0800 (PST) Received: from ragesh-Latitude-E6420.LGE.NET ([203.247.149.152]) by mx.google.com with ESMTPSA id gf5sm137411451pbc.22.2013.12.04.05.23.20 for (version=TLSv1.1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Wed, 04 Dec 2013 05:23:27 -0800 (PST) From: Ragesh Radhakrishnan To: patches@linaro.org Cc: Ragesh Radhakrishnan Subject: [PATCH 6/9] Add armv8 specific supported functions Date: Wed, 4 Dec 2013 18:53:04 +0530 Message-Id: <1386163384-3302-1-git-send-email-ragesh.r@linaro.org> X-Mailer: git-send-email 1.7.9.5 X-Removed-Original-Auth: Dkim didn't pass. X-Original-Sender: ragesh.r@linaro.org X-Original-Authentication-Results: mx.google.com; spf=neutral (google.com: 209.85.220.172 is neither permitted nor denied by best guess record for domain of patch+caf_=patchwork-forward=linaro.org@linaro.org) smtp.mail=patch+caf_=patchwork-forward=linaro.org@linaro.org Precedence: list Mailing-list: list patchwork-forward@linaro.org; contact patchwork-forward+owners@linaro.org List-ID: X-Google-Group-Id: 836684582541 List-Post: , List-Help: , List-Archive: List-Unsubscribe: , Add armv8 simd supported function list using macro "ARMV8_NEON_SIMULATION". All decoder related simd functions are supported. --- simd/jsimd_arm.c | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/simd/jsimd_arm.c b/simd/jsimd_arm.c index cae84df..22031ba 100644 --- a/simd/jsimd_arm.c +++ b/simd/jsimd_arm.c @@ -28,6 +28,7 @@ #include static unsigned int simd_support = ~0; +#define __ARMV8_NEON_SIMULATION__ #if defined(__linux__) || defined(ANDROID) || defined(__ANDROID__) @@ -181,6 +182,8 @@ jsimd_rgb_ycc_convert (j_compress_ptr cinfo, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, JDIMENSION output_row, int num_rows) { + +#if !defined( __ARMV8_NEON_SIMULATION__ ) void (*neonfct)(JDIMENSION, JSAMPARRAY, JSAMPIMAGE, JDIMENSION, int); switch(cinfo->in_color_space) @@ -215,6 +218,7 @@ jsimd_rgb_ycc_convert (j_compress_ptr cinfo, if (simd_support & JSIMD_ARM_NEON) neonfct(cinfo->image_width, input_buf, output_buf, output_row, num_rows); +#endif } GLOBAL(void) @@ -337,7 +341,9 @@ GLOBAL(int) jsimd_can_h2v1_fancy_upsample (void) { init_simd(); - +#if defined(__ARMV8_NEON_SIMULATION__) + return 0; +#endif /* The code is optimised for these values only */ if (BITS_IN_JSAMPLE != 8) return 0; @@ -364,9 +370,11 @@ jsimd_h2v1_fancy_upsample (j_decompress_ptr cinfo, JSAMPARRAY input_data, JSAMPARRAY * output_data_ptr) { +#if !defined(__ARMV8_NEON_SIMULATION__) if (simd_support & JSIMD_ARM_NEON) jsimd_h2v1_fancy_upsample_neon(cinfo->max_v_samp_factor, compptr->downsampled_width, input_data, output_data_ptr); +#endif } GLOBAL(int) @@ -434,8 +442,10 @@ GLOBAL(void) jsimd_convsamp (JSAMPARRAY sample_data, JDIMENSION start_col, DCTELEM * workspace) { +#if !defined(__ARMV8_NEON_SIMULATION__) if (simd_support & JSIMD_ARM_NEON) jsimd_convsamp_neon(sample_data, start_col, workspace); +#endif } GLOBAL(void) @@ -485,8 +495,10 @@ jsimd_fdct_islow (DCTELEM * data) GLOBAL(void) jsimd_fdct_ifast (DCTELEM * data) { +#if !defined (__ARMV8_NEON_SIMULATION__) if (simd_support & JSIMD_ARM_NEON) jsimd_fdct_ifast_neon(data); +#endif } GLOBAL(void) @@ -498,7 +510,9 @@ GLOBAL(int) jsimd_can_quantize (void) { init_simd(); - +#if defined(__ARMV8_NEON_SIMULATION__) + return 0; +#endif /* The code is optimised for these values only */ if (DCTSIZE != 8) return 0; @@ -525,8 +539,10 @@ GLOBAL(void) jsimd_quantize (JCOEFPTR coef_block, DCTELEM * divisors, DCTELEM * workspace) { +#if !defined(__ARMV8_NEON_SIMULATION__) if (simd_support & JSIMD_ARM_NEON) jsimd_quantize_neon(coef_block, divisors, workspace); +#endif } GLOBAL(void)