From patchwork Mon Nov 10 15:02:50 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Christophe Lyon X-Patchwork-Id: 40496 Return-Path: X-Original-To: linaro@patches.linaro.org Delivered-To: linaro@patches.linaro.org Received: from mail-wi0-f199.google.com (mail-wi0-f199.google.com [209.85.212.199]) by ip-10-151-82-157.ec2.internal (Postfix) with ESMTPS id 07112203C0 for ; Mon, 10 Nov 2014 15:03:21 +0000 (UTC) Received: by mail-wi0-f199.google.com with SMTP id r20sf4204366wiv.10 for ; Mon, 10 Nov 2014 07:03:20 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:delivered-to:mailing-list:precedence:list-id :list-unsubscribe:list-archive:list-post:list-help:sender :delivered-to:mime-version:in-reply-to:references:date:message-id :subject:from:to:cc:x-original-sender :x-original-authentication-results:content-type; bh=fnTO9kW6PA7HLyfUEnM84vpmhqj563hom39YiRbXLXI=; b=APeA6faFCRD2e6PlOPn38KN0gj/3IG9uMXJcEXcdRsDHbETZIoAjjwi6nbdTkD3kVz OrOMMzlEUy/rr85Jtae5FvLoyfckPH8Zhd2u467nDxvKAaGvk7ab23MWmASCaYQ8bLk4 JJdertHH9j89J5AURMtW8oP6Bor22sREfjTbJ3Mni2TgdaC8y7Ofw5WOOal9q0kkE9Jw 8DoQlVxyrMkIy4vxRcmaSI3qZlPOFK+Jsh1k0dcYFhRefOBVoXZpMKG9qS7S8wAkjH6g qGDdyJU+ghkwhlvBW7bX5n8uQFtiLnEaerpq3qfWoDJrWNClz7INwGt4SFrWUERclcfm Ct6A== X-Gm-Message-State: ALoCoQnWXyyUAWmI3MWeV2EF0SlkRVjGS5/u5PMzjNfQ6O3sylnx7eMqpPIuPBOF5Tm+TiNgTRmA X-Received: by 10.112.151.38 with SMTP id un6mr1460037lbb.0.1415631800252; Mon, 10 Nov 2014 07:03:20 -0800 (PST) X-BeenThere: patchwork-forward@linaro.org Received: by 10.152.27.97 with SMTP id s1ls479686lag.81.gmail; Mon, 10 Nov 2014 07:03:20 -0800 (PST) X-Received: by 10.152.2.74 with SMTP id 10mr29939763las.22.1415631800101; Mon, 10 Nov 2014 07:03:20 -0800 (PST) Received: from mail-lb0-x22d.google.com (mail-lb0-x22d.google.com. [2a00:1450:4010:c04::22d]) by mx.google.com with ESMTPS id xe3si27266999lbb.114.2014.11.10.07.03.19 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Mon, 10 Nov 2014 07:03:19 -0800 (PST) Received-SPF: pass (google.com: domain of patch+caf_=patchwork-forward=linaro.org@linaro.org designates 2a00:1450:4010:c04::22d as permitted sender) client-ip=2a00:1450:4010:c04::22d; Received: by mail-lb0-f173.google.com with SMTP id n15so6043132lbi.18 for ; Mon, 10 Nov 2014 07:03:19 -0800 (PST) X-Received: by 10.112.62.166 with SMTP id z6mr3105965lbr.74.1415631799859; Mon, 10 Nov 2014 07:03:19 -0800 (PST) X-Forwarded-To: patchwork-forward@linaro.org X-Forwarded-For: patch@linaro.org patchwork-forward@linaro.org Delivered-To: patch@linaro.org Received: by 10.112.184.201 with SMTP id ew9csp102307lbc; Mon, 10 Nov 2014 07:03:17 -0800 (PST) X-Received: by 10.66.102.41 with SMTP id fl9mr16213895pab.7.1415631797091; Mon, 10 Nov 2014 07:03:17 -0800 (PST) Received: from sourceware.org (server1.sourceware.org. [209.132.180.131]) by mx.google.com with ESMTPS id by14si16816282pdb.39.2014.11.10.07.03.16 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 10 Nov 2014 07:03:17 -0800 (PST) Received-SPF: pass (google.com: domain of gcc-patches-return-383428-patch=linaro.org@gcc.gnu.org designates 209.132.180.131 as permitted sender) client-ip=209.132.180.131; Received: (qmail 1349 invoked by alias); 10 Nov 2014 15:02:59 -0000 Mailing-List: list patchwork-forward@linaro.org; contact patchwork-forward+owners@linaro.org Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: , List-Help: , Sender: gcc-patches-owner@gcc.gnu.org Delivered-To: mailing list gcc-patches@gcc.gnu.org Received: (qmail 1324 invoked by uid 89); 10 Nov 2014 15:02:58 -0000 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-qa0-f43.google.com Received: from mail-qa0-f43.google.com (HELO mail-qa0-f43.google.com) (209.85.216.43) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-SHA encrypted) ESMTPS; Mon, 10 Nov 2014 15:02:53 +0000 Received: by mail-qa0-f43.google.com with SMTP id j7so5429166qaq.16 for ; Mon, 10 Nov 2014 07:02:51 -0800 (PST) MIME-Version: 1.0 X-Received: by 10.224.172.131 with SMTP id l3mr45070242qaz.32.1415631771111; Mon, 10 Nov 2014 07:02:51 -0800 (PST) Received: by 10.140.86.114 with HTTP; Mon, 10 Nov 2014 07:02:50 -0800 (PST) In-Reply-To: References: Date: Mon, 10 Nov 2014 16:02:50 +0100 Message-ID: Subject: Re: [testsuite,ARM] PR61153 Fix vbic and vorn tests From: Christophe Lyon To: Ramana Radhakrishnan Cc: "gcc-patches@gcc.gnu.org" X-IsSubscribed: yes X-Original-Sender: christophe.lyon@linaro.org X-Original-Authentication-Results: mx.google.com; spf=pass (google.com: domain of patch+caf_=patchwork-forward=linaro.org@linaro.org designates 2a00:1450:4010:c04::22d as permitted sender) smtp.mail=patch+caf_=patchwork-forward=linaro.org@linaro.org; dkim=pass header.i=@gcc.gnu.org X-Google-Group-Id: 836684582541 On 30 October 2014 23:02, Christophe Lyon wrote: > On 29 October 2014 16:28, Ramana Radhakrishnan > wrote: >> On Wed, Oct 29, 2014 at 3:26 PM, Christophe Lyon >> wrote: >>> Hi, >>> >>> In PR61153, the vbic and vorn tests fail because when compiled at -O0 >>> the expected Neon instructions are not generated, making >>> scan-assembler fail. >>> >>> This patch: >>> - replaces -O0 by -O2 >>> - moves the declaration of local variables used as intrinsics >>> parameters and results to global declarations, to prevent the compiler >>> from optimizing the whole test away. >>> >>> OK? >>> >> >> If you really want to do it , do it in neon-testgen.ml and do it for >> the whole lot. >> > > I thought it wasn't used anymore. > > At -O2 I have many more failures :-( > > (vdup, vget_lane, vget_low, vmov, vset_lane) > > And -O1 doesn't do the trick either... > > Christophe. > Hi Ramana, Based on your request and on my above comment, I have modified neon-testgen.ml so that it sets -O2 in some testcases and -O0 by default. I've achieved this by adding a new value in the 'features' list in neon.ml, and set it to -O2 for vbic and vorn cases. neon-testgen.ml parses this value, and defaults to -O0. When not -O0, it also moves the input/output variables to global scope to avoid the whole test to be optimized out. I also fixed 3 warnings about 'or' being deprecated in neon.ml. OK? Christophe. 2014-11-10 Christophe Lyon gcc/ * config/arm/neon-testgen.ml (emit_prologue): Handle new compile_test_optim argument. (emit_automatics): Rename to emit_variables. Support variable indentation of its output. (compile_test_optim): New function. (test_intrinsic): Call compile_test_optim. * config/arm/neon.ml (features): Add Compiler_optim. (ops): Add Compiler_optim feature to Vbic and Vorn. (type_in_crypto_only): Replace 'or' by '||'. (reinterp): Likewise. (reinterpq): Likewise. testsuite/ * gcc.target/arm/neon/vbicQs16.c: Regenerate. * gcc.target/arm/neon/vbicQs32.c: Likewise. * gcc.target/arm/neon/vbicQs64.c: Likewise. * gcc.target/arm/neon/vbicQs8.c: Likewise. * gcc.target/arm/neon/vbicQu16.c: Likewise. * gcc.target/arm/neon/vbicQu32.c: Likewise. * gcc.target/arm/neon/vbicQu64.c: Likewise. * gcc.target/arm/neon/vbicQu8.c: Likewise. * gcc.target/arm/neon/vbics16.c: Likewise. * gcc.target/arm/neon/vbics32.c: Likewise. * gcc.target/arm/neon/vbics64.c: Likewise. * gcc.target/arm/neon/vbics8.c: Likewise. * gcc.target/arm/neon/vbicu16.c: Likewise. * gcc.target/arm/neon/vbicu32.c: Likewise. * gcc.target/arm/neon/vbicu64.c: Likewise. * gcc.target/arm/neon/vbicu8.c: Likewise. * gcc.target/arm/neon/vornQs16.c: Likewise. * gcc.target/arm/neon/vornQs32.c: Likewise. * gcc.target/arm/neon/vornQs64.c: Likewise. * gcc.target/arm/neon/vornQs8.c: Likewise. * gcc.target/arm/neon/vornQu16.c: Likewise. * gcc.target/arm/neon/vornQu32.c: Likewise. * gcc.target/arm/neon/vornQu64.c: Likewise. * gcc.target/arm/neon/vornQu8.c: Likewise. * gcc.target/arm/neon/vorns16.c: Likewise. * gcc.target/arm/neon/vorns32.c: Likewise. * gcc.target/arm/neon/vorns64.c: Likewise. * gcc.target/arm/neon/vorns8.c: Likewise. * gcc.target/arm/neon/vornu16.c: Likewise. * gcc.target/arm/neon/vornu32.c: Likewise. * gcc.target/arm/neon/vornu64.c: Likewise. * gcc.target/arm/neon/vornu8.c: Likewise. >> regards >> Ramana >>> Christophe. >>> >>> 2014-10-29 Christophe Lyon >>> >>> PR target/61153 >>> * gcc.target/arm/neon/vbicQs16.c: Compile at O2 and move variables >>> declarations from local to global. >>> * gcc.target/arm/neon/vbicQs16.c: Likewise. >>> * gcc.target/arm/neon/vbicQs32.c: Likewise. >>> * gcc.target/arm/neon/vbicQs64.c: Likewise. >>> * gcc.target/arm/neon/vbicQs8.c: Likewise. >>> * gcc.target/arm/neon/vbicQu16.c: Likewise. >>> * gcc.target/arm/neon/vbicQu32.c: Likewise. >>> * gcc.target/arm/neon/vbicQu64.c: Likewise. >>> * gcc.target/arm/neon/vbicQu8.c: Likewise. >>> * gcc.target/arm/neon/vbics16.c: Likewise. >>> * gcc.target/arm/neon/vbics32.c: Likewise. >>> * gcc.target/arm/neon/vbics64.c: Likewise. >>> * gcc.target/arm/neon/vbics8.c: Likewise. >>> * gcc.target/arm/neon/vbicu16.c: Likewise. >>> * gcc.target/arm/neon/vbicu32.c: Likewise. >>> * gcc.target/arm/neon/vbicu64.c: Likewise. >>> * gcc.target/arm/neon/vbicu8.c: Likewise. >>> * gcc.target/arm/neon/vornQs16.c: Likewise. >>> * gcc.target/arm/neon/vornQs32.c: Likewise. >>> * gcc.target/arm/neon/vornQs64.c: Likewise. >>> * gcc.target/arm/neon/vornQs8.c: Likewise. >>> * gcc.target/arm/neon/vornQu16.c: Likewise. >>> * gcc.target/arm/neon/vornQu32.c: Likewise. >>> * gcc.target/arm/neon/vornQu64.c: Likewise. >>> * gcc.target/arm/neon/vornQu8.c: Likewise. >>> * gcc.target/arm/neon/vorns16.c: Likewise. >>> * gcc.target/arm/neon/vorns32.c: Likewise. >>> * gcc.target/arm/neon/vorns64.c: Likewise. >>> * gcc.target/arm/neon/vorns8.c: Likewise. >>> * gcc.target/arm/neon/vornu16.c: Likewise. >>> * gcc.target/arm/neon/vornu32.c: Likewise. >>> * gcc.target/arm/neon/vornu64.c: Likewise. >>> * gcc.target/arm/neon/vornu8.c: Likewise. diff --git a/gcc/config/arm/neon-testgen.ml b/gcc/config/arm/neon-testgen.ml index df429f5..f389819 100644 --- a/gcc/config/arm/neon-testgen.ml +++ b/gcc/config/arm/neon-testgen.ml @@ -46,20 +46,19 @@ let open_test_file dir name = failwith ("Could not create test source file " ^ name ^ ": " ^ str) (* Emit prologue code to a test source file. *) -let emit_prologue chan test_name effective_target = +let emit_prologue chan test_name effective_target compile_test_optim = Printf.fprintf chan "/* Test the `%s' ARM Neon intrinsic. */\n" test_name; Printf.fprintf chan "/* This file was autogenerated by neon-testgen. */\n\n"; Printf.fprintf chan "/* { dg-do assemble } */\n"; Printf.fprintf chan "/* { dg-require-effective-target %s_ok } */\n" effective_target; - Printf.fprintf chan "/* { dg-options \"-save-temps -O0\" } */\n"; + Printf.fprintf chan "/* { dg-options \"-save-temps %s\" } */\n" compile_test_optim; Printf.fprintf chan "/* { dg-add-options %s } */\n" effective_target; - Printf.fprintf chan "\n#include \"arm_neon.h\"\n\n"; - Printf.fprintf chan "void test_%s (void)\n{\n" test_name + Printf.fprintf chan "\n#include \"arm_neon.h\"\n\n" -(* Emit declarations of local variables that are going to be passed +(* Emit declarations of variables that are going to be passed to an intrinsic, together with one to take a returned value if needed. *) -let emit_automatics chan c_types features = +let emit_variables chan c_types features spaces = let emit () = ignore ( List.fold_left (fun arg_number -> fun (flags, ty) -> @@ -69,8 +68,8 @@ let emit_automatics chan c_types features = (* Const arguments to builtins are directly written in as constants. *) if not (List.mem Const flags) then - Printf.fprintf chan " %s %sarg%d_%s;\n" - ty pointer_bit arg_number ty; + Printf.fprintf chan "%s%s %sarg%d_%s;\n" + spaces ty pointer_bit arg_number ty; arg_number + 1) 0 (List.tl c_types)) in @@ -81,13 +80,13 @@ let emit_automatics chan c_types features = allocation for vget_low tests or they fail because of copy elimination. *) ((if List.mem Fixed_vector_reg features then - Printf.fprintf chan " register %s out_%s asm (\"d18\");\n" - return_ty return_ty + Printf.fprintf chan "%sregister %s out_%s asm (\"d18\");\n" + spaces return_ty return_ty else if List.mem Fixed_core_reg features then - Printf.fprintf chan " register %s out_%s asm (\"r0\");\n" - return_ty return_ty + Printf.fprintf chan "%sregister %s out_%s asm (\"r0\");\n" + spaces return_ty return_ty else - Printf.fprintf chan " %s out_%s;\n" return_ty return_ty); + Printf.fprintf chan "%s%s out_%s;\n" spaces return_ty return_ty); emit ()) end else (* The intrinsic does not return a value. *) @@ -173,6 +172,17 @@ let effective_target features = | _ -> assert false with Not_found -> "arm_neon" +(* Work out what the testcase optimization level should be, default to -O0. *) +let compile_test_optim features = + try + match List.find (fun feature -> + match feature with Compiler_optim _ -> true + | _ -> false) + features with + Compiler_optim opt -> opt + | _ -> assert false + with Not_found -> "-O0" + (* Given an intrinsic shape, produce a regexp that will match the right-hand sides of instructions generated by an intrinsic of that shape. *) @@ -280,12 +290,22 @@ let test_intrinsic dir opcode features shape name munge elt_ty = "!?\\(\\[ \t\\]+@\\[a-zA-Z0-9 \\]+\\)?\\n") (analyze_all_shapes features shape analyze_shape) in - let effective_target = effective_target features + let effective_target = effective_target features in + let compile_test_optim = compile_test_optim features in (* Emit file and function prologues. *) - emit_prologue chan test_name effective_target; - (* Emit local variable declarations. *) - emit_automatics chan c_types features; + emit_prologue chan test_name effective_target compile_test_optim; + + if (compare compile_test_optim "-O0") <> 0 then + (* Emit variable declarations. *) + emit_variables chan c_types features ""; + + Printf.fprintf chan "void test_%s (void)\n{\n" test_name; + + if compare compile_test_optim "-O0" = 0 then + (* Emit variable declarations. *) + emit_variables chan c_types features " "; + Printf.fprintf chan "\n"; (* Emit the call to the intrinsic. *) emit_call chan const_valuator c_types name elt_ty; diff --git a/gcc/config/arm/neon.ml b/gcc/config/arm/neon.ml index 4289b8c..e16e2b0 100644 --- a/gcc/config/arm/neon.ml +++ b/gcc/config/arm/neon.ml @@ -294,6 +294,8 @@ type features = (* Mark that the intrinsic requires a particular bit in __ARM_FP to be set. *) | Requires_FP_bit of int + (* Compiler optimization level for the test. *) + | Compiler_optim of string exception MixedMode of elts * elts @@ -1941,18 +1943,18 @@ let ops = Veor, [], All (3, Qreg), "veorQ", notype_2, su_8_64; (* Bic (And-not). *) - Vbic, [], All (3, Dreg), "vbic", notype_2, su_8_32; - Vbic, [No_op], All (3, Dreg), "vbic", notype_2, [S64; U64]; - Vbic, [], All (3, Qreg), "vbicQ", notype_2, su_8_64; + Vbic, [Compiler_optim "-O2"], All (3, Dreg), "vbic", notype_2, su_8_32; + Vbic, [No_op; Compiler_optim "-O2"], All (3, Dreg), "vbic", notype_2, [S64; U64]; + Vbic, [Compiler_optim "-O2"], All (3, Qreg), "vbicQ", notype_2, su_8_64; (* Or-not. *) - Vorn, [], All (3, Dreg), "vorn", notype_2, su_8_32; - Vorn, [No_op], All (3, Dreg), "vorn", notype_2, [S64; U64]; - Vorn, [], All (3, Qreg), "vornQ", notype_2, su_8_64; + Vorn, [Compiler_optim "-O2"], All (3, Dreg), "vorn", notype_2, su_8_32; + Vorn, [No_op; Compiler_optim "-O2"], All (3, Dreg), "vorn", notype_2, [S64; U64]; + Vorn, [Compiler_optim "-O2"], All (3, Qreg), "vornQ", notype_2, su_8_64; ] let type_in_crypto_only t - = (t == P64) or (t == P128) + = (t == P64) || (t == P128) let cross_product s1 s2 = List.filter (fun (e, e') -> e <> e') @@ -1963,7 +1965,7 @@ let reinterp = let casts = cross_product elems elems in List.map (fun (convto, convfrom) -> - Vreinterp, (if (type_in_crypto_only convto) or (type_in_crypto_only convfrom) + Vreinterp, (if (type_in_crypto_only convto) || (type_in_crypto_only convfrom) then [Requires_feature "CRYPTO"] else []) @ [No_op], Use_operands [| Dreg; Dreg |], "vreinterpret", conv_1, [Cast (convto, convfrom)]) casts @@ -1973,7 +1975,7 @@ let reinterpq = let casts = cross_product elems elems in List.map (fun (convto, convfrom) -> - Vreinterp, (if (type_in_crypto_only convto) or (type_in_crypto_only convfrom) + Vreinterp, (if (type_in_crypto_only convto) || (type_in_crypto_only convfrom) then [Requires_feature "CRYPTO"] else []) @ [No_op], Use_operands [| Qreg; Qreg |], "vreinterpretQ", conv_1, [Cast (convto, convfrom)]) casts diff --git a/gcc/testsuite/gcc.target/arm/neon/vbicQs16.c b/gcc/testsuite/gcc.target/arm/neon/vbicQs16.c index e15a260..c8c026f 100644 --- a/gcc/testsuite/gcc.target/arm/neon/vbicQs16.c +++ b/gcc/testsuite/gcc.target/arm/neon/vbicQs16.c @@ -3,16 +3,16 @@ /* { dg-do assemble } */ /* { dg-require-effective-target arm_neon_ok } */ -/* { dg-options "-save-temps -O0" } */ +/* { dg-options "-save-temps -O2" } */ /* { dg-add-options arm_neon } */ #include "arm_neon.h" +int16x8_t out_int16x8_t; +int16x8_t arg0_int16x8_t; +int16x8_t arg1_int16x8_t; void test_vbicQs16 (void) { - int16x8_t out_int16x8_t; - int16x8_t arg0_int16x8_t; - int16x8_t arg1_int16x8_t; out_int16x8_t = vbicq_s16 (arg0_int16x8_t, arg1_int16x8_t); } diff --git a/gcc/testsuite/gcc.target/arm/neon/vbicQs32.c b/gcc/testsuite/gcc.target/arm/neon/vbicQs32.c index f376bf0..3b85857 100644 --- a/gcc/testsuite/gcc.target/arm/neon/vbicQs32.c +++ b/gcc/testsuite/gcc.target/arm/neon/vbicQs32.c @@ -3,16 +3,16 @@ /* { dg-do assemble } */ /* { dg-require-effective-target arm_neon_ok } */ -/* { dg-options "-save-temps -O0" } */ +/* { dg-options "-save-temps -O2" } */ /* { dg-add-options arm_neon } */ #include "arm_neon.h" +int32x4_t out_int32x4_t; +int32x4_t arg0_int32x4_t; +int32x4_t arg1_int32x4_t; void test_vbicQs32 (void) { - int32x4_t out_int32x4_t; - int32x4_t arg0_int32x4_t; - int32x4_t arg1_int32x4_t; out_int32x4_t = vbicq_s32 (arg0_int32x4_t, arg1_int32x4_t); } diff --git a/gcc/testsuite/gcc.target/arm/neon/vbicQs64.c b/gcc/testsuite/gcc.target/arm/neon/vbicQs64.c index 87049f1..d71da87 100644 --- a/gcc/testsuite/gcc.target/arm/neon/vbicQs64.c +++ b/gcc/testsuite/gcc.target/arm/neon/vbicQs64.c @@ -3,16 +3,16 @@ /* { dg-do assemble } */ /* { dg-require-effective-target arm_neon_ok } */ -/* { dg-options "-save-temps -O0" } */ +/* { dg-options "-save-temps -O2" } */ /* { dg-add-options arm_neon } */ #include "arm_neon.h" +int64x2_t out_int64x2_t; +int64x2_t arg0_int64x2_t; +int64x2_t arg1_int64x2_t; void test_vbicQs64 (void) { - int64x2_t out_int64x2_t; - int64x2_t arg0_int64x2_t; - int64x2_t arg1_int64x2_t; out_int64x2_t = vbicq_s64 (arg0_int64x2_t, arg1_int64x2_t); } diff --git a/gcc/testsuite/gcc.target/arm/neon/vbicQs8.c b/gcc/testsuite/gcc.target/arm/neon/vbicQs8.c index 4f64e88..4cbfe9f 100644 --- a/gcc/testsuite/gcc.target/arm/neon/vbicQs8.c +++ b/gcc/testsuite/gcc.target/arm/neon/vbicQs8.c @@ -3,16 +3,16 @@ /* { dg-do assemble } */ /* { dg-require-effective-target arm_neon_ok } */ -/* { dg-options "-save-temps -O0" } */ +/* { dg-options "-save-temps -O2" } */ /* { dg-add-options arm_neon } */ #include "arm_neon.h" +int8x16_t out_int8x16_t; +int8x16_t arg0_int8x16_t; +int8x16_t arg1_int8x16_t; void test_vbicQs8 (void) { - int8x16_t out_int8x16_t; - int8x16_t arg0_int8x16_t; - int8x16_t arg1_int8x16_t; out_int8x16_t = vbicq_s8 (arg0_int8x16_t, arg1_int8x16_t); } diff --git a/gcc/testsuite/gcc.target/arm/neon/vbicQu16.c b/gcc/testsuite/gcc.target/arm/neon/vbicQu16.c index f92f9b3..6661c51 100644 --- a/gcc/testsuite/gcc.target/arm/neon/vbicQu16.c +++ b/gcc/testsuite/gcc.target/arm/neon/vbicQu16.c @@ -3,16 +3,16 @@ /* { dg-do assemble } */ /* { dg-require-effective-target arm_neon_ok } */ -/* { dg-options "-save-temps -O0" } */ +/* { dg-options "-save-temps -O2" } */ /* { dg-add-options arm_neon } */ #include "arm_neon.h" +uint16x8_t out_uint16x8_t; +uint16x8_t arg0_uint16x8_t; +uint16x8_t arg1_uint16x8_t; void test_vbicQu16 (void) { - uint16x8_t out_uint16x8_t; - uint16x8_t arg0_uint16x8_t; - uint16x8_t arg1_uint16x8_t; out_uint16x8_t = vbicq_u16 (arg0_uint16x8_t, arg1_uint16x8_t); } diff --git a/gcc/testsuite/gcc.target/arm/neon/vbicQu32.c b/gcc/testsuite/gcc.target/arm/neon/vbicQu32.c index 06d10da..ca8391e 100644 --- a/gcc/testsuite/gcc.target/arm/neon/vbicQu32.c +++ b/gcc/testsuite/gcc.target/arm/neon/vbicQu32.c @@ -3,16 +3,16 @@ /* { dg-do assemble } */ /* { dg-require-effective-target arm_neon_ok } */ -/* { dg-options "-save-temps -O0" } */ +/* { dg-options "-save-temps -O2" } */ /* { dg-add-options arm_neon } */ #include "arm_neon.h" +uint32x4_t out_uint32x4_t; +uint32x4_t arg0_uint32x4_t; +uint32x4_t arg1_uint32x4_t; void test_vbicQu32 (void) { - uint32x4_t out_uint32x4_t; - uint32x4_t arg0_uint32x4_t; - uint32x4_t arg1_uint32x4_t; out_uint32x4_t = vbicq_u32 (arg0_uint32x4_t, arg1_uint32x4_t); } diff --git a/gcc/testsuite/gcc.target/arm/neon/vbicQu64.c b/gcc/testsuite/gcc.target/arm/neon/vbicQu64.c index 7cd63c0..d565333 100644 --- a/gcc/testsuite/gcc.target/arm/neon/vbicQu64.c +++ b/gcc/testsuite/gcc.target/arm/neon/vbicQu64.c @@ -3,16 +3,16 @@ /* { dg-do assemble } */ /* { dg-require-effective-target arm_neon_ok } */ -/* { dg-options "-save-temps -O0" } */ +/* { dg-options "-save-temps -O2" } */ /* { dg-add-options arm_neon } */ #include "arm_neon.h" +uint64x2_t out_uint64x2_t; +uint64x2_t arg0_uint64x2_t; +uint64x2_t arg1_uint64x2_t; void test_vbicQu64 (void) { - uint64x2_t out_uint64x2_t; - uint64x2_t arg0_uint64x2_t; - uint64x2_t arg1_uint64x2_t; out_uint64x2_t = vbicq_u64 (arg0_uint64x2_t, arg1_uint64x2_t); } diff --git a/gcc/testsuite/gcc.target/arm/neon/vbicQu8.c b/gcc/testsuite/gcc.target/arm/neon/vbicQu8.c index 3f44418..d9f18ed 100644 --- a/gcc/testsuite/gcc.target/arm/neon/vbicQu8.c +++ b/gcc/testsuite/gcc.target/arm/neon/vbicQu8.c @@ -3,16 +3,16 @@ /* { dg-do assemble } */ /* { dg-require-effective-target arm_neon_ok } */ -/* { dg-options "-save-temps -O0" } */ +/* { dg-options "-save-temps -O2" } */ /* { dg-add-options arm_neon } */ #include "arm_neon.h" +uint8x16_t out_uint8x16_t; +uint8x16_t arg0_uint8x16_t; +uint8x16_t arg1_uint8x16_t; void test_vbicQu8 (void) { - uint8x16_t out_uint8x16_t; - uint8x16_t arg0_uint8x16_t; - uint8x16_t arg1_uint8x16_t; out_uint8x16_t = vbicq_u8 (arg0_uint8x16_t, arg1_uint8x16_t); } diff --git a/gcc/testsuite/gcc.target/arm/neon/vbics16.c b/gcc/testsuite/gcc.target/arm/neon/vbics16.c index 943e305..7247878 100644 --- a/gcc/testsuite/gcc.target/arm/neon/vbics16.c +++ b/gcc/testsuite/gcc.target/arm/neon/vbics16.c @@ -3,16 +3,16 @@ /* { dg-do assemble } */ /* { dg-require-effective-target arm_neon_ok } */ -/* { dg-options "-save-temps -O0" } */ +/* { dg-options "-save-temps -O2" } */ /* { dg-add-options arm_neon } */ #include "arm_neon.h" +int16x4_t out_int16x4_t; +int16x4_t arg0_int16x4_t; +int16x4_t arg1_int16x4_t; void test_vbics16 (void) { - int16x4_t out_int16x4_t; - int16x4_t arg0_int16x4_t; - int16x4_t arg1_int16x4_t; out_int16x4_t = vbic_s16 (arg0_int16x4_t, arg1_int16x4_t); } diff --git a/gcc/testsuite/gcc.target/arm/neon/vbics32.c b/gcc/testsuite/gcc.target/arm/neon/vbics32.c index 30df639..585d2ef 100644 --- a/gcc/testsuite/gcc.target/arm/neon/vbics32.c +++ b/gcc/testsuite/gcc.target/arm/neon/vbics32.c @@ -3,16 +3,16 @@ /* { dg-do assemble } */ /* { dg-require-effective-target arm_neon_ok } */ -/* { dg-options "-save-temps -O0" } */ +/* { dg-options "-save-temps -O2" } */ /* { dg-add-options arm_neon } */ #include "arm_neon.h" +int32x2_t out_int32x2_t; +int32x2_t arg0_int32x2_t; +int32x2_t arg1_int32x2_t; void test_vbics32 (void) { - int32x2_t out_int32x2_t; - int32x2_t arg0_int32x2_t; - int32x2_t arg1_int32x2_t; out_int32x2_t = vbic_s32 (arg0_int32x2_t, arg1_int32x2_t); } diff --git a/gcc/testsuite/gcc.target/arm/neon/vbics64.c b/gcc/testsuite/gcc.target/arm/neon/vbics64.c index 379db45..8932a28 100644 --- a/gcc/testsuite/gcc.target/arm/neon/vbics64.c +++ b/gcc/testsuite/gcc.target/arm/neon/vbics64.c @@ -3,16 +3,16 @@ /* { dg-do assemble } */ /* { dg-require-effective-target arm_neon_ok } */ -/* { dg-options "-save-temps -O0" } */ +/* { dg-options "-save-temps -O2" } */ /* { dg-add-options arm_neon } */ #include "arm_neon.h" +int64x1_t out_int64x1_t; +int64x1_t arg0_int64x1_t; +int64x1_t arg1_int64x1_t; void test_vbics64 (void) { - int64x1_t out_int64x1_t; - int64x1_t arg0_int64x1_t; - int64x1_t arg1_int64x1_t; out_int64x1_t = vbic_s64 (arg0_int64x1_t, arg1_int64x1_t); } diff --git a/gcc/testsuite/gcc.target/arm/neon/vbics8.c b/gcc/testsuite/gcc.target/arm/neon/vbics8.c index 3b4bc8a..9a1839a 100644 --- a/gcc/testsuite/gcc.target/arm/neon/vbics8.c +++ b/gcc/testsuite/gcc.target/arm/neon/vbics8.c @@ -3,16 +3,16 @@ /* { dg-do assemble } */ /* { dg-require-effective-target arm_neon_ok } */ -/* { dg-options "-save-temps -O0" } */ +/* { dg-options "-save-temps -O2" } */ /* { dg-add-options arm_neon } */ #include "arm_neon.h" +int8x8_t out_int8x8_t; +int8x8_t arg0_int8x8_t; +int8x8_t arg1_int8x8_t; void test_vbics8 (void) { - int8x8_t out_int8x8_t; - int8x8_t arg0_int8x8_t; - int8x8_t arg1_int8x8_t; out_int8x8_t = vbic_s8 (arg0_int8x8_t, arg1_int8x8_t); } diff --git a/gcc/testsuite/gcc.target/arm/neon/vbicu16.c b/gcc/testsuite/gcc.target/arm/neon/vbicu16.c index e9952bc..3f3002b 100644 --- a/gcc/testsuite/gcc.target/arm/neon/vbicu16.c +++ b/gcc/testsuite/gcc.target/arm/neon/vbicu16.c @@ -3,16 +3,16 @@ /* { dg-do assemble } */ /* { dg-require-effective-target arm_neon_ok } */ -/* { dg-options "-save-temps -O0" } */ +/* { dg-options "-save-temps -O2" } */ /* { dg-add-options arm_neon } */ #include "arm_neon.h" +uint16x4_t out_uint16x4_t; +uint16x4_t arg0_uint16x4_t; +uint16x4_t arg1_uint16x4_t; void test_vbicu16 (void) { - uint16x4_t out_uint16x4_t; - uint16x4_t arg0_uint16x4_t; - uint16x4_t arg1_uint16x4_t; out_uint16x4_t = vbic_u16 (arg0_uint16x4_t, arg1_uint16x4_t); } diff --git a/gcc/testsuite/gcc.target/arm/neon/vbicu32.c b/gcc/testsuite/gcc.target/arm/neon/vbicu32.c index 9334f40..0653d6d 100644 --- a/gcc/testsuite/gcc.target/arm/neon/vbicu32.c +++ b/gcc/testsuite/gcc.target/arm/neon/vbicu32.c @@ -3,16 +3,16 @@ /* { dg-do assemble } */ /* { dg-require-effective-target arm_neon_ok } */ -/* { dg-options "-save-temps -O0" } */ +/* { dg-options "-save-temps -O2" } */ /* { dg-add-options arm_neon } */ #include "arm_neon.h" +uint32x2_t out_uint32x2_t; +uint32x2_t arg0_uint32x2_t; +uint32x2_t arg1_uint32x2_t; void test_vbicu32 (void) { - uint32x2_t out_uint32x2_t; - uint32x2_t arg0_uint32x2_t; - uint32x2_t arg1_uint32x2_t; out_uint32x2_t = vbic_u32 (arg0_uint32x2_t, arg1_uint32x2_t); } diff --git a/gcc/testsuite/gcc.target/arm/neon/vbicu64.c b/gcc/testsuite/gcc.target/arm/neon/vbicu64.c index c276d65..7d05713 100644 --- a/gcc/testsuite/gcc.target/arm/neon/vbicu64.c +++ b/gcc/testsuite/gcc.target/arm/neon/vbicu64.c @@ -3,16 +3,16 @@ /* { dg-do assemble } */ /* { dg-require-effective-target arm_neon_ok } */ -/* { dg-options "-save-temps -O0" } */ +/* { dg-options "-save-temps -O2" } */ /* { dg-add-options arm_neon } */ #include "arm_neon.h" +uint64x1_t out_uint64x1_t; +uint64x1_t arg0_uint64x1_t; +uint64x1_t arg1_uint64x1_t; void test_vbicu64 (void) { - uint64x1_t out_uint64x1_t; - uint64x1_t arg0_uint64x1_t; - uint64x1_t arg1_uint64x1_t; out_uint64x1_t = vbic_u64 (arg0_uint64x1_t, arg1_uint64x1_t); } diff --git a/gcc/testsuite/gcc.target/arm/neon/vbicu8.c b/gcc/testsuite/gcc.target/arm/neon/vbicu8.c index 5e42c52..10c70b0 100644 --- a/gcc/testsuite/gcc.target/arm/neon/vbicu8.c +++ b/gcc/testsuite/gcc.target/arm/neon/vbicu8.c @@ -3,16 +3,16 @@ /* { dg-do assemble } */ /* { dg-require-effective-target arm_neon_ok } */ -/* { dg-options "-save-temps -O0" } */ +/* { dg-options "-save-temps -O2" } */ /* { dg-add-options arm_neon } */ #include "arm_neon.h" +uint8x8_t out_uint8x8_t; +uint8x8_t arg0_uint8x8_t; +uint8x8_t arg1_uint8x8_t; void test_vbicu8 (void) { - uint8x8_t out_uint8x8_t; - uint8x8_t arg0_uint8x8_t; - uint8x8_t arg1_uint8x8_t; out_uint8x8_t = vbic_u8 (arg0_uint8x8_t, arg1_uint8x8_t); } diff --git a/gcc/testsuite/gcc.target/arm/neon/vornQs16.c b/gcc/testsuite/gcc.target/arm/neon/vornQs16.c index 519da3c..2e63564 100644 --- a/gcc/testsuite/gcc.target/arm/neon/vornQs16.c +++ b/gcc/testsuite/gcc.target/arm/neon/vornQs16.c @@ -3,16 +3,16 @@ /* { dg-do assemble } */ /* { dg-require-effective-target arm_neon_ok } */ -/* { dg-options "-save-temps -O0" } */ +/* { dg-options "-save-temps -O2" } */ /* { dg-add-options arm_neon } */ #include "arm_neon.h" +int16x8_t out_int16x8_t; +int16x8_t arg0_int16x8_t; +int16x8_t arg1_int16x8_t; void test_vornQs16 (void) { - int16x8_t out_int16x8_t; - int16x8_t arg0_int16x8_t; - int16x8_t arg1_int16x8_t; out_int16x8_t = vornq_s16 (arg0_int16x8_t, arg1_int16x8_t); } diff --git a/gcc/testsuite/gcc.target/arm/neon/vornQs32.c b/gcc/testsuite/gcc.target/arm/neon/vornQs32.c index cec6599..339514b 100644 --- a/gcc/testsuite/gcc.target/arm/neon/vornQs32.c +++ b/gcc/testsuite/gcc.target/arm/neon/vornQs32.c @@ -3,16 +3,16 @@ /* { dg-do assemble } */ /* { dg-require-effective-target arm_neon_ok } */ -/* { dg-options "-save-temps -O0" } */ +/* { dg-options "-save-temps -O2" } */ /* { dg-add-options arm_neon } */ #include "arm_neon.h" +int32x4_t out_int32x4_t; +int32x4_t arg0_int32x4_t; +int32x4_t arg1_int32x4_t; void test_vornQs32 (void) { - int32x4_t out_int32x4_t; - int32x4_t arg0_int32x4_t; - int32x4_t arg1_int32x4_t; out_int32x4_t = vornq_s32 (arg0_int32x4_t, arg1_int32x4_t); } diff --git a/gcc/testsuite/gcc.target/arm/neon/vornQs64.c b/gcc/testsuite/gcc.target/arm/neon/vornQs64.c index 05166ba..64d6269 100644 --- a/gcc/testsuite/gcc.target/arm/neon/vornQs64.c +++ b/gcc/testsuite/gcc.target/arm/neon/vornQs64.c @@ -3,16 +3,16 @@ /* { dg-do assemble } */ /* { dg-require-effective-target arm_neon_ok } */ -/* { dg-options "-save-temps -O0" } */ +/* { dg-options "-save-temps -O2" } */ /* { dg-add-options arm_neon } */ #include "arm_neon.h" +int64x2_t out_int64x2_t; +int64x2_t arg0_int64x2_t; +int64x2_t arg1_int64x2_t; void test_vornQs64 (void) { - int64x2_t out_int64x2_t; - int64x2_t arg0_int64x2_t; - int64x2_t arg1_int64x2_t; out_int64x2_t = vornq_s64 (arg0_int64x2_t, arg1_int64x2_t); } diff --git a/gcc/testsuite/gcc.target/arm/neon/vornQs8.c b/gcc/testsuite/gcc.target/arm/neon/vornQs8.c index 99982ae..c8b1ed2 100644 --- a/gcc/testsuite/gcc.target/arm/neon/vornQs8.c +++ b/gcc/testsuite/gcc.target/arm/neon/vornQs8.c @@ -3,16 +3,16 @@ /* { dg-do assemble } */ /* { dg-require-effective-target arm_neon_ok } */ -/* { dg-options "-save-temps -O0" } */ +/* { dg-options "-save-temps -O2" } */ /* { dg-add-options arm_neon } */ #include "arm_neon.h" +int8x16_t out_int8x16_t; +int8x16_t arg0_int8x16_t; +int8x16_t arg1_int8x16_t; void test_vornQs8 (void) { - int8x16_t out_int8x16_t; - int8x16_t arg0_int8x16_t; - int8x16_t arg1_int8x16_t; out_int8x16_t = vornq_s8 (arg0_int8x16_t, arg1_int8x16_t); } diff --git a/gcc/testsuite/gcc.target/arm/neon/vornQu16.c b/gcc/testsuite/gcc.target/arm/neon/vornQu16.c index 761e72d..c066367 100644 --- a/gcc/testsuite/gcc.target/arm/neon/vornQu16.c +++ b/gcc/testsuite/gcc.target/arm/neon/vornQu16.c @@ -3,16 +3,16 @@ /* { dg-do assemble } */ /* { dg-require-effective-target arm_neon_ok } */ -/* { dg-options "-save-temps -O0" } */ +/* { dg-options "-save-temps -O2" } */ /* { dg-add-options arm_neon } */ #include "arm_neon.h" +uint16x8_t out_uint16x8_t; +uint16x8_t arg0_uint16x8_t; +uint16x8_t arg1_uint16x8_t; void test_vornQu16 (void) { - uint16x8_t out_uint16x8_t; - uint16x8_t arg0_uint16x8_t; - uint16x8_t arg1_uint16x8_t; out_uint16x8_t = vornq_u16 (arg0_uint16x8_t, arg1_uint16x8_t); } diff --git a/gcc/testsuite/gcc.target/arm/neon/vornQu32.c b/gcc/testsuite/gcc.target/arm/neon/vornQu32.c index 18a9685..7a278e0 100644 --- a/gcc/testsuite/gcc.target/arm/neon/vornQu32.c +++ b/gcc/testsuite/gcc.target/arm/neon/vornQu32.c @@ -3,16 +3,16 @@ /* { dg-do assemble } */ /* { dg-require-effective-target arm_neon_ok } */ -/* { dg-options "-save-temps -O0" } */ +/* { dg-options "-save-temps -O2" } */ /* { dg-add-options arm_neon } */ #include "arm_neon.h" +uint32x4_t out_uint32x4_t; +uint32x4_t arg0_uint32x4_t; +uint32x4_t arg1_uint32x4_t; void test_vornQu32 (void) { - uint32x4_t out_uint32x4_t; - uint32x4_t arg0_uint32x4_t; - uint32x4_t arg1_uint32x4_t; out_uint32x4_t = vornq_u32 (arg0_uint32x4_t, arg1_uint32x4_t); } diff --git a/gcc/testsuite/gcc.target/arm/neon/vornQu64.c b/gcc/testsuite/gcc.target/arm/neon/vornQu64.c index 84c9f89..7948e10 100644 --- a/gcc/testsuite/gcc.target/arm/neon/vornQu64.c +++ b/gcc/testsuite/gcc.target/arm/neon/vornQu64.c @@ -3,16 +3,16 @@ /* { dg-do assemble } */ /* { dg-require-effective-target arm_neon_ok } */ -/* { dg-options "-save-temps -O0" } */ +/* { dg-options "-save-temps -O2" } */ /* { dg-add-options arm_neon } */ #include "arm_neon.h" +uint64x2_t out_uint64x2_t; +uint64x2_t arg0_uint64x2_t; +uint64x2_t arg1_uint64x2_t; void test_vornQu64 (void) { - uint64x2_t out_uint64x2_t; - uint64x2_t arg0_uint64x2_t; - uint64x2_t arg1_uint64x2_t; out_uint64x2_t = vornq_u64 (arg0_uint64x2_t, arg1_uint64x2_t); } diff --git a/gcc/testsuite/gcc.target/arm/neon/vornQu8.c b/gcc/testsuite/gcc.target/arm/neon/vornQu8.c index ffe6766..31aa62c 100644 --- a/gcc/testsuite/gcc.target/arm/neon/vornQu8.c +++ b/gcc/testsuite/gcc.target/arm/neon/vornQu8.c @@ -3,16 +3,16 @@ /* { dg-do assemble } */ /* { dg-require-effective-target arm_neon_ok } */ -/* { dg-options "-save-temps -O0" } */ +/* { dg-options "-save-temps -O2" } */ /* { dg-add-options arm_neon } */ #include "arm_neon.h" +uint8x16_t out_uint8x16_t; +uint8x16_t arg0_uint8x16_t; +uint8x16_t arg1_uint8x16_t; void test_vornQu8 (void) { - uint8x16_t out_uint8x16_t; - uint8x16_t arg0_uint8x16_t; - uint8x16_t arg1_uint8x16_t; out_uint8x16_t = vornq_u8 (arg0_uint8x16_t, arg1_uint8x16_t); } diff --git a/gcc/testsuite/gcc.target/arm/neon/vorns16.c b/gcc/testsuite/gcc.target/arm/neon/vorns16.c index b860142..375a0e9 100644 --- a/gcc/testsuite/gcc.target/arm/neon/vorns16.c +++ b/gcc/testsuite/gcc.target/arm/neon/vorns16.c @@ -3,16 +3,16 @@ /* { dg-do assemble } */ /* { dg-require-effective-target arm_neon_ok } */ -/* { dg-options "-save-temps -O0" } */ +/* { dg-options "-save-temps -O2" } */ /* { dg-add-options arm_neon } */ #include "arm_neon.h" +int16x4_t out_int16x4_t; +int16x4_t arg0_int16x4_t; +int16x4_t arg1_int16x4_t; void test_vorns16 (void) { - int16x4_t out_int16x4_t; - int16x4_t arg0_int16x4_t; - int16x4_t arg1_int16x4_t; out_int16x4_t = vorn_s16 (arg0_int16x4_t, arg1_int16x4_t); } diff --git a/gcc/testsuite/gcc.target/arm/neon/vorns32.c b/gcc/testsuite/gcc.target/arm/neon/vorns32.c index 826e0d2..502b9ac 100644 --- a/gcc/testsuite/gcc.target/arm/neon/vorns32.c +++ b/gcc/testsuite/gcc.target/arm/neon/vorns32.c @@ -3,16 +3,16 @@ /* { dg-do assemble } */ /* { dg-require-effective-target arm_neon_ok } */ -/* { dg-options "-save-temps -O0" } */ +/* { dg-options "-save-temps -O2" } */ /* { dg-add-options arm_neon } */ #include "arm_neon.h" +int32x2_t out_int32x2_t; +int32x2_t arg0_int32x2_t; +int32x2_t arg1_int32x2_t; void test_vorns32 (void) { - int32x2_t out_int32x2_t; - int32x2_t arg0_int32x2_t; - int32x2_t arg1_int32x2_t; out_int32x2_t = vorn_s32 (arg0_int32x2_t, arg1_int32x2_t); } diff --git a/gcc/testsuite/gcc.target/arm/neon/vorns64.c b/gcc/testsuite/gcc.target/arm/neon/vorns64.c index d7b8e60..090e9d4 100644 --- a/gcc/testsuite/gcc.target/arm/neon/vorns64.c +++ b/gcc/testsuite/gcc.target/arm/neon/vorns64.c @@ -3,16 +3,16 @@ /* { dg-do assemble } */ /* { dg-require-effective-target arm_neon_ok } */ -/* { dg-options "-save-temps -O0" } */ +/* { dg-options "-save-temps -O2" } */ /* { dg-add-options arm_neon } */ #include "arm_neon.h" +int64x1_t out_int64x1_t; +int64x1_t arg0_int64x1_t; +int64x1_t arg1_int64x1_t; void test_vorns64 (void) { - int64x1_t out_int64x1_t; - int64x1_t arg0_int64x1_t; - int64x1_t arg1_int64x1_t; out_int64x1_t = vorn_s64 (arg0_int64x1_t, arg1_int64x1_t); } diff --git a/gcc/testsuite/gcc.target/arm/neon/vorns8.c b/gcc/testsuite/gcc.target/arm/neon/vorns8.c index c71a6bb..d50afc8 100644 --- a/gcc/testsuite/gcc.target/arm/neon/vorns8.c +++ b/gcc/testsuite/gcc.target/arm/neon/vorns8.c @@ -3,16 +3,16 @@ /* { dg-do assemble } */ /* { dg-require-effective-target arm_neon_ok } */ -/* { dg-options "-save-temps -O0" } */ +/* { dg-options "-save-temps -O2" } */ /* { dg-add-options arm_neon } */ #include "arm_neon.h" +int8x8_t out_int8x8_t; +int8x8_t arg0_int8x8_t; +int8x8_t arg1_int8x8_t; void test_vorns8 (void) { - int8x8_t out_int8x8_t; - int8x8_t arg0_int8x8_t; - int8x8_t arg1_int8x8_t; out_int8x8_t = vorn_s8 (arg0_int8x8_t, arg1_int8x8_t); } diff --git a/gcc/testsuite/gcc.target/arm/neon/vornu16.c b/gcc/testsuite/gcc.target/arm/neon/vornu16.c index d4983ee..d20bffc 100644 --- a/gcc/testsuite/gcc.target/arm/neon/vornu16.c +++ b/gcc/testsuite/gcc.target/arm/neon/vornu16.c @@ -3,16 +3,16 @@ /* { dg-do assemble } */ /* { dg-require-effective-target arm_neon_ok } */ -/* { dg-options "-save-temps -O0" } */ +/* { dg-options "-save-temps -O2" } */ /* { dg-add-options arm_neon } */ #include "arm_neon.h" +uint16x4_t out_uint16x4_t; +uint16x4_t arg0_uint16x4_t; +uint16x4_t arg1_uint16x4_t; void test_vornu16 (void) { - uint16x4_t out_uint16x4_t; - uint16x4_t arg0_uint16x4_t; - uint16x4_t arg1_uint16x4_t; out_uint16x4_t = vorn_u16 (arg0_uint16x4_t, arg1_uint16x4_t); } diff --git a/gcc/testsuite/gcc.target/arm/neon/vornu32.c b/gcc/testsuite/gcc.target/arm/neon/vornu32.c index aba6884..f17394f 100644 --- a/gcc/testsuite/gcc.target/arm/neon/vornu32.c +++ b/gcc/testsuite/gcc.target/arm/neon/vornu32.c @@ -3,16 +3,16 @@ /* { dg-do assemble } */ /* { dg-require-effective-target arm_neon_ok } */ -/* { dg-options "-save-temps -O0" } */ +/* { dg-options "-save-temps -O2" } */ /* { dg-add-options arm_neon } */ #include "arm_neon.h" +uint32x2_t out_uint32x2_t; +uint32x2_t arg0_uint32x2_t; +uint32x2_t arg1_uint32x2_t; void test_vornu32 (void) { - uint32x2_t out_uint32x2_t; - uint32x2_t arg0_uint32x2_t; - uint32x2_t arg1_uint32x2_t; out_uint32x2_t = vorn_u32 (arg0_uint32x2_t, arg1_uint32x2_t); } diff --git a/gcc/testsuite/gcc.target/arm/neon/vornu64.c b/gcc/testsuite/gcc.target/arm/neon/vornu64.c index 6fb3a95..86af5c5 100644 --- a/gcc/testsuite/gcc.target/arm/neon/vornu64.c +++ b/gcc/testsuite/gcc.target/arm/neon/vornu64.c @@ -3,16 +3,16 @@ /* { dg-do assemble } */ /* { dg-require-effective-target arm_neon_ok } */ -/* { dg-options "-save-temps -O0" } */ +/* { dg-options "-save-temps -O2" } */ /* { dg-add-options arm_neon } */ #include "arm_neon.h" +uint64x1_t out_uint64x1_t; +uint64x1_t arg0_uint64x1_t; +uint64x1_t arg1_uint64x1_t; void test_vornu64 (void) { - uint64x1_t out_uint64x1_t; - uint64x1_t arg0_uint64x1_t; - uint64x1_t arg1_uint64x1_t; out_uint64x1_t = vorn_u64 (arg0_uint64x1_t, arg1_uint64x1_t); } diff --git a/gcc/testsuite/gcc.target/arm/neon/vornu8.c b/gcc/testsuite/gcc.target/arm/neon/vornu8.c index 6fdb733..347f9c8 100644 --- a/gcc/testsuite/gcc.target/arm/neon/vornu8.c +++ b/gcc/testsuite/gcc.target/arm/neon/vornu8.c @@ -3,16 +3,16 @@ /* { dg-do assemble } */ /* { dg-require-effective-target arm_neon_ok } */ -/* { dg-options "-save-temps -O0" } */ +/* { dg-options "-save-temps -O2" } */ /* { dg-add-options arm_neon } */ #include "arm_neon.h" +uint8x8_t out_uint8x8_t; +uint8x8_t arg0_uint8x8_t; +uint8x8_t arg1_uint8x8_t; void test_vornu8 (void) { - uint8x8_t out_uint8x8_t; - uint8x8_t arg0_uint8x8_t; - uint8x8_t arg1_uint8x8_t; out_uint8x8_t = vorn_u8 (arg0_uint8x8_t, arg1_uint8x8_t); }