From patchwork Fri Jan 26 14:25:02 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Sandiford X-Patchwork-Id: 125994 Delivered-To: patch@linaro.org Received: by 10.46.84.92 with SMTP id y28csp371891ljd; Fri, 26 Jan 2018 06:25:37 -0800 (PST) X-Google-Smtp-Source: AH8x226zRLaod18J1rOAxvilpPjMmTRxBYyN30xo6Q9AwOPeom6o1dVmWRqXeMaSyB+3v3iPntKq X-Received: by 2002:a17:902:242:: with SMTP id 60-v6mr15052643plc.376.1516976737307; Fri, 26 Jan 2018 06:25:37 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1516976737; cv=none; d=google.com; s=arc-20160816; b=0tBcLw3WzBoc5ag9ShKpxdUGXxAVtOA/gZ6lwOm5nKpQG66HT6Ww4pBMCyldU2aGSh Zahj4iWRzNb/SXtn8JJyY82Xsz8Ylq2mIM+BLCrVOOh0D6+3OH0JE5mCgWUgdxShl1PX E09/MjVvsZMen5Wv+W0nOuxeGuTW4lcrpzdcwEF3+mgYrMQUUEsK6kNNHg5RxvuC7lEw 4X73MjjJ2hlHDKMQprv2Gv2gIwgitKuTU+baF4XO4LKAvOZgL7x3ZJyP2NnhVJa6uVlE ez1xi48nn/UFjhGDgdEnhBmwa7C9TAwq7Yeq1wzZfpZd8fm/2SVmr1Lu4gG1zlCnz34u 2ZMw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=mime-version:user-agent:message-id:date:subject:cc:mail-followup-to :to:from:delivered-to:sender:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:mailing-list:dkim-signature :domainkey-signature:arc-authentication-results; bh=htobM1QJf9nLu6Eulv+wzw7aO1FekLgtx9HDgl0cSaw=; b=V7muNsKD4JcYidt4bwENgFJES8jqIeaNQcYviRnBJ+9Q0ti+yWLYY5elqbWRI1dDUE YSG0g1Mf5hickYm5xFO2UDR/sRmutl34KHz4UEJff1blDeiYg08uvtp9cY2k080ZbEcY 5VUDXRhUpEVjNq9DMrb1LqMUcxmpIwm6MEf9Y21NpZtC1G8KiHERPWdJ6pz0SMeh+mKM Bl/wfc116//3wW4b20mXP6CKjeXy+oFzqL0Vh++fA+xOCCXGtd2MJuAdBtjz1dy1J6BO ALDvUefdLYXm/BeRmyCNord4mQ9og+2nbUPO6W8Q9ObmL5SkS1qzX7J99LdLApLtQ2Ip wPfA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gcc.gnu.org header.s=default header.b=CGp1qpVK; spf=pass (google.com: domain of gcc-patches-return-472112-patch=linaro.org@gcc.gnu.org designates 209.132.180.131 as permitted sender) smtp.mailfrom=gcc-patches-return-472112-patch=linaro.org@gcc.gnu.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from sourceware.org (server1.sourceware.org. [209.132.180.131]) by mx.google.com with ESMTPS id e22si6363685pff.210.2018.01.26.06.25.36 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 26 Jan 2018 06:25:37 -0800 (PST) Received-SPF: pass (google.com: domain of gcc-patches-return-472112-patch=linaro.org@gcc.gnu.org designates 209.132.180.131 as permitted sender) client-ip=209.132.180.131; Authentication-Results: mx.google.com; dkim=pass header.i=@gcc.gnu.org header.s=default header.b=CGp1qpVK; spf=pass (google.com: domain of gcc-patches-return-472112-patch=linaro.org@gcc.gnu.org designates 209.132.180.131 as permitted sender) smtp.mailfrom=gcc-patches-return-472112-patch=linaro.org@gcc.gnu.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org DomainKey-Signature: a=rsa-sha1; c=nofws; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender:from :to:cc:subject:date:message-id:mime-version:content-type; q=dns; s=default; b=HadUAWESnVMRaXeFQ7i4QI7JYClmOelb0Zqrj3lLCsxpztnncT zK7uo5R45zpz1bdFBuVOoj4kQCjHBfhFDUJg4oQBWE4V7KP/kspe0gF7ihWE5VKv s1UpOpLmPXZb+73hq4I+EH9wrPuQ5u+2yHurkdnwWTZI1d2kYm/FazeV8= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender:from :to:cc:subject:date:message-id:mime-version:content-type; s= default; bh=BAXHYGHPwfFDUS7Nts/PeqkTuQQ=; b=CGp1qpVKWO7U0k3MrleA i48EypMfF7XfF18D8yHTv2wcsXytOKzmdXkbBtH2z+JzIg/6FnFbClc/pI2BVyhs Mo23dybwvMiPpH6MjTHUvpwapQSBsli7Dd6zc9/CTt5dY8TiOi0mN6b1oi0OVoLd 0kURX3JDTc7lO1Lc/dA/c3Y= Received: (qmail 39039 invoked by alias); 26 Jan 2018 14:25:16 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk 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 39001 invoked by uid 89); 26 Jan 2018 14:25:14 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-9.6 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_2, GIT_PATCH_3, KAM_ASCII_DIVIDERS, RCVD_IN_DNSWL_NONE, RCVD_IN_SORBS_WEB, SPF_PASS autolearn=ham version=3.3.2 spammy=ccs X-HELO: mail-wm0-f46.google.com Received: from mail-wm0-f46.google.com (HELO mail-wm0-f46.google.com) (74.125.82.46) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Fri, 26 Jan 2018 14:25:08 +0000 Received: by mail-wm0-f46.google.com with SMTP id r71so1619537wmd.1 for ; Fri, 26 Jan 2018 06:25:08 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:mail-followup-to:cc:subject:date :message-id:user-agent:mime-version; bh=htobM1QJf9nLu6Eulv+wzw7aO1FekLgtx9HDgl0cSaw=; b=EuYyw2H7ZvTiIAIkgGl5iEKwOmxg/dRLqfalhE9SCo4zgNF7e3QR4+Zwlcc60JQv1J Olqlp3eruufLn7dx3+/ziAvJKZOFlFeHZojX7fT9RtdNqVm4vy5y12QfB3an/uXuqKiA 39P2n8QIo3a9sD1U3wpUlc3eH4WHvzFh3RpEKs1s6f5tf4KBO6qCrEnrrERvLM8CCmMF +VJv0l9/jhbVbzi9vdEesW/ltEmzY6eD7dhLPi8qN1cTOg34XDlZOtvYv25BrSe9Pc2A acjOH1wH7KmUEp6WMJaSvV23JJuXt3+DxqEY0NQD8vrFc+yCyIEwgKGVyk0S5MKB8Iwm BmPg== X-Gm-Message-State: AKwxyteOhlb3JNNA4ZwmZegI16p44W/ntiJ1iIwkckBlc1KHlm7Zg6nO YJB/UNFxIoBbNRaXV9ao7akp7Q== X-Received: by 10.28.156.67 with SMTP id f64mr6293426wme.11.1516976705741; Fri, 26 Jan 2018 06:25:05 -0800 (PST) Received: from localhost (92.40.248.183.threembb.co.uk. [92.40.248.183]) by smtp.gmail.com with ESMTPSA id f19sm4288262wmf.23.2018.01.26.06.25.03 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 26 Jan 2018 06:25:04 -0800 (PST) From: Richard Sandiford To: gcc-patches@gcc.gnu.org Mail-Followup-To: gcc-patches@gcc.gnu.org, richard.earnshaw@arm.com, james.greenhalgh@arm.com, marcus.shawcroft@arm.com, richard.sandiford@linaro.org Cc: richard.earnshaw@arm.com, james.greenhalgh@arm.com, marcus.shawcroft@arm.com Subject: [AArch64] Fix SVE testsuite failures for ILP32 (PR 83846) Date: Fri, 26 Jan 2018 14:25:02 +0000 Message-ID: <87d11wofy9.fsf@linaro.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) MIME-Version: 1.0 The SVE tests are split into code-quality compile tests and runtime tests. A lot of the former are geared towards LP64. It would be possible (but tedious!) to mark up every line that is expected to work only for LP64, but I think it would be a constant source of problems. Since the code has not been tuned for ILP32 yet, I think the best thing is to select only the runtime tests for that combination. They all pass on aarch64-elf and aarch64_be-elf except vec-cond-[34].c, which are unsupported due to the lack of fenv support. The patch also replaces uses of built-in types with stdint.h types where possible. (This excludes tests that change the endianness, since we can't assume that system header files work in that case.) Tested on aarch64_be-elf and aarch64-linux-gnu. OK to install? Richard 2018-01-17 Richard Sandiford gcc/testsuite/ PR testsuite/83846 * gcc.target/aarch64/sve/aarch64-sve.exp: Only do *_run tests for ILP32. * gcc.target/aarch64/sve/clastb_2_run.c (main): Use TYPE instead of hard-coding the choice. * gcc.target/aarch64/sve/clastb_4_run.c (main): Likewise. * gcc.target/aarch64/sve/clastb_5_run.c (main): Likewise. * gcc.target/aarch64/sve/clastb_3_run.c (main): Likewise. Generalize memset call. * gcc.target/aarch64/sve/const_pred_1.C: Include stdint.h and use stdint.h types. * gcc.target/aarch64/sve/const_pred_2.C: Likewise. * gcc.target/aarch64/sve/const_pred_3.C: Likewise. * gcc.target/aarch64/sve/const_pred_4.C: Likewise. * gcc.target/aarch64/sve/load_const_offset_2.c: Likewise. * gcc.target/aarch64/sve/logical_1.c: Likewise. * gcc.target/aarch64/sve/mask_struct_load_1.c: Likewise. * gcc.target/aarch64/sve/mask_struct_load_2.c: Likewise. * gcc.target/aarch64/sve/mask_struct_load_3.c: Likewise. * gcc.target/aarch64/sve/mask_struct_load_4.c: Likewise. * gcc.target/aarch64/sve/mask_struct_load_5.c: Likewise. * gcc.target/aarch64/sve/mask_struct_load_6.c: Likewise. * gcc.target/aarch64/sve/mask_struct_load_7.c: Likewise. * gcc.target/aarch64/sve/mask_struct_load_8.c: Likewise. * gcc.target/aarch64/sve/mask_struct_store_1.c: Likewise. * gcc.target/aarch64/sve/mask_struct_store_2.c: Likewise. * gcc.target/aarch64/sve/mask_struct_store_3.c: Likewise. * gcc.target/aarch64/sve/mask_struct_store_4.c: Likewise. * gcc.target/aarch64/sve/struct_vect_1.c: Likewise. * gcc.target/aarch64/sve/struct_vect_2.c: Likewise. * gcc.target/aarch64/sve/struct_vect_2_run.c: Likewise. * gcc.target/aarch64/sve/struct_vect_3.c: Likewise. * gcc.target/aarch64/sve/struct_vect_3_run.c: Likewise. * gcc.target/aarch64/sve/struct_vect_4.c: Likewise. * gcc.target/aarch64/sve/struct_vect_4_run.c: Likewise. * gcc.target/aarch64/sve/struct_vect_7.c: Likewise. * gcc.target/aarch64/sve/struct_vect_8.c: Likewise. * gcc.target/aarch64/sve/struct_vect_8_run.c: Likewise. * gcc.target/aarch64/sve/struct_vect_9.c: Likewise. * gcc.target/aarch64/sve/struct_vect_9_run.c: Likewise. * gcc.target/aarch64/sve/struct_vect_10.c: Likewise. * gcc.target/aarch64/sve/struct_vect_10_run.c: Likewise. * gcc.target/aarch64/sve/struct_vect_11.c: Likewise. * gcc.target/aarch64/sve/struct_vect_11_run.c: Likewise. * gcc.target/aarch64/sve/struct_vect_12.c: Likewise. * gcc.target/aarch64/sve/struct_vect_12_run.c: Likewise. * gcc.target/aarch64/sve/struct_vect_13.c: Likewise. * gcc.target/aarch64/sve/struct_vect_13_run.c: Likewise. * gcc.target/aarch64/sve/struct_vect_14.c: Likewise. * gcc.target/aarch64/sve/struct_vect_18.c: Likewise. * gcc.target/aarch64/sve/struct_vect_19.c: Likewise. * gcc.target/aarch64/sve/struct_vect_20.c: Likewise. * gcc.target/aarch64/sve/struct_vect_21.c: Likewise. * gcc.target/aarch64/sve/struct_vect_22.c: Likewise. * gcc.target/aarch64/sve/struct_vect_23.c: Likewise. * gcc.target/aarch64/sve/popcount_1.c (popcount_64): Use __builtin_popcountll rather than __builtin_popcountl. Index: gcc/testsuite/gcc.target/aarch64/sve/aarch64-sve.exp =================================================================== --- gcc/testsuite/gcc.target/aarch64/sve/aarch64-sve.exp 2018-01-13 17:54:52.925270132 +0000 +++ gcc/testsuite/gcc.target/aarch64/sve/aarch64-sve.exp 2018-01-26 14:09:27.089932690 +0000 @@ -44,8 +44,16 @@ if { [check_effective_target_aarch64_sve set sve_flags "-march=armv8.2-a+sve" } +# Most of the code-quality tests are written for LP64. Just do the +# correctness tests for ILP32. +if { [check_effective_target_ilp32] } { + set pattern "*_run" +} else { + set pattern "*" +} + # Main loop. -dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.\[cCS\]]] \ +dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/$pattern.\[cCS\]]] \ $sve_flags $DEFAULT_CFLAGS # All done. Index: gcc/testsuite/gcc.target/aarch64/sve/clastb_2_run.c =================================================================== --- gcc/testsuite/gcc.target/aarch64/sve/clastb_2_run.c 2018-01-13 17:59:52.122334084 +0000 +++ gcc/testsuite/gcc.target/aarch64/sve/clastb_2_run.c 2018-01-26 14:09:27.089932690 +0000 @@ -6,15 +6,15 @@ int __attribute__ ((optimize (1))) main (void) { - unsigned int a[N] = { + TYPE a[N] = { 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32 }; - __builtin_memset (a + 32, 43, (N - 32) * sizeof (int)); + __builtin_memset (a + 32, 43, (N - 32) * sizeof (TYPE)); - unsigned int ret = condition_reduction (a, 16); + TYPE ret = condition_reduction (a, 16); if (ret != 10) __builtin_abort (); Index: gcc/testsuite/gcc.target/aarch64/sve/clastb_4_run.c =================================================================== --- gcc/testsuite/gcc.target/aarch64/sve/clastb_4_run.c 2018-01-13 17:59:52.123334046 +0000 +++ gcc/testsuite/gcc.target/aarch64/sve/clastb_4_run.c 2018-01-26 14:09:27.089932690 +0000 @@ -8,15 +8,15 @@ extern void abort (void) __attribute__ ( int __attribute__ ((optimize (1))) main (void) { - short a[N] = { + TYPE a[N] = { 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32 }; - __builtin_memset (a+32, 43, (N-32)*sizeof (short)); + __builtin_memset (a+32, 43, (N-32)*sizeof (TYPE)); - short ret = condition_reduction (a, 16); + TYPE ret = condition_reduction (a, 16); if (ret != 10) abort (); Index: gcc/testsuite/gcc.target/aarch64/sve/clastb_5_run.c =================================================================== --- gcc/testsuite/gcc.target/aarch64/sve/clastb_5_run.c 2018-01-13 17:59:52.123334046 +0000 +++ gcc/testsuite/gcc.target/aarch64/sve/clastb_5_run.c 2018-01-26 14:09:27.089932690 +0000 @@ -6,15 +6,15 @@ int __attribute__ ((optimize (1))) main (void) { - long a[N] = { + TYPE a[N] = { 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32 }; - __builtin_memset (a + 32, 43, (N - 32) * sizeof (long)); + __builtin_memset (a + 32, 43, (N - 32) * sizeof (TYPE)); - long ret = condition_reduction (a, 16); + TYPE ret = condition_reduction (a, 16); if (ret != 10) __builtin_abort (); Index: gcc/testsuite/gcc.target/aarch64/sve/clastb_3_run.c =================================================================== --- gcc/testsuite/gcc.target/aarch64/sve/clastb_3_run.c 2018-01-13 17:59:52.122334084 +0000 +++ gcc/testsuite/gcc.target/aarch64/sve/clastb_3_run.c 2018-01-26 14:09:27.089932690 +0000 @@ -6,15 +6,15 @@ int __attribute__ ((optimize (1))) main (void) { - unsigned char a[N] = { + TYPE a[N] = { 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32 }; - __builtin_memset (a + 32, 43, N - 32); + __builtin_memset (a + 32, 43, (N - 32) * sizeof (TYPE)); - unsigned char ret = condition_reduction (a, 16); + TYPE ret = condition_reduction (a, 16); if (ret != 10) __builtin_abort (); Index: gcc/testsuite/gcc.target/aarch64/sve/const_pred_1.C =================================================================== --- gcc/testsuite/gcc.target/aarch64/sve/const_pred_1.C 2018-01-13 17:54:52.925270132 +0000 +++ gcc/testsuite/gcc.target/aarch64/sve/const_pred_1.C 2018-01-26 14:09:27.089932690 +0000 @@ -1,7 +1,9 @@ /* { dg-do compile } */ /* { dg-options "-O2 -msve-vector-bits=256" } */ -typedef signed char vnx16qi __attribute__((vector_size(32))); +#include + +typedef int8_t vnx16qi __attribute__((vector_size(32))); vnx16qi foo (vnx16qi x, vnx16qi y) Index: gcc/testsuite/gcc.target/aarch64/sve/const_pred_2.C =================================================================== --- gcc/testsuite/gcc.target/aarch64/sve/const_pred_2.C 2018-01-13 17:54:52.925270132 +0000 +++ gcc/testsuite/gcc.target/aarch64/sve/const_pred_2.C 2018-01-26 14:09:27.089932690 +0000 @@ -1,7 +1,9 @@ /* { dg-do compile } */ /* { dg-options "-O2 -msve-vector-bits=256" } */ -typedef short vnx8hi __attribute__((vector_size(32))); +#include + +typedef int16_t vnx8hi __attribute__((vector_size(32))); vnx8hi foo (vnx8hi x, vnx8hi y) Index: gcc/testsuite/gcc.target/aarch64/sve/const_pred_3.C =================================================================== --- gcc/testsuite/gcc.target/aarch64/sve/const_pred_3.C 2018-01-13 17:54:52.925270132 +0000 +++ gcc/testsuite/gcc.target/aarch64/sve/const_pred_3.C 2018-01-26 14:09:27.090932647 +0000 @@ -1,7 +1,9 @@ /* { dg-do compile } */ /* { dg-options "-O2 -msve-vector-bits=256" } */ -typedef int vnx4si __attribute__((vector_size(32))); +#include + +typedef int32_t vnx4si __attribute__((vector_size(32))); vnx4si foo (vnx4si x, vnx4si y) Index: gcc/testsuite/gcc.target/aarch64/sve/const_pred_4.C =================================================================== --- gcc/testsuite/gcc.target/aarch64/sve/const_pred_4.C 2018-01-13 17:54:52.925270132 +0000 +++ gcc/testsuite/gcc.target/aarch64/sve/const_pred_4.C 2018-01-26 14:09:27.090932647 +0000 @@ -1,7 +1,9 @@ /* { dg-do compile } */ /* { dg-options "-O2 -msve-vector-bits=256" } */ -typedef long long vnx2di __attribute__((vector_size(32))); +#include + +typedef int64_t vnx2di __attribute__((vector_size(32))); vnx2di foo (vnx2di x, vnx2di y) Index: gcc/testsuite/gcc.target/aarch64/sve/load_const_offset_2.c =================================================================== --- gcc/testsuite/gcc.target/aarch64/sve/load_const_offset_2.c 2018-01-13 17:54:52.930269938 +0000 +++ gcc/testsuite/gcc.target/aarch64/sve/load_const_offset_2.c 2018-01-26 14:09:27.090932647 +0000 @@ -1,14 +1,16 @@ /* { dg-do assemble { target aarch64_asm_sve_ok } } */ /* { dg-options "-O2 -ftree-vectorize -save-temps" } */ +#include + void -f (unsigned int *restrict a, signed char *restrict b, signed char mask, int n) +f (uint32_t *restrict a, int8_t *restrict b, int8_t mask, int n) { for (int i = 0; i < n; ++i) - a[i] += (signed char) (b[i] | mask); + a[i] += (int8_t) (b[i] | mask); } -/* { dg-final { scan-assembler-times {\tld1w\tz[0-9]+\.s, p[0-7]/z, \[x[0-9]+\]\n} 1 } } */ -/* { dg-final { scan-assembler-times {\tld1w\tz[0-9]+\.s, p[0-7]/z, \[x[0-9]+, #1, mul vl\]\n} 1 } } */ -/* { dg-final { scan-assembler-times {\tld1w\tz[0-9]+\.s, p[0-7]/z, \[x[0-9]+, #2, mul vl\]\n} 1 } } */ -/* { dg-final { scan-assembler-times {\tld1w\tz[0-9]+\.s, p[0-7]/z, \[x[0-9]+, #3, mul vl\]\n} 1 } } */ +/* { dg-final { scan-assembler-times {\tld1w\tz[0-9]+\.s, p[0-7]/z, \[x[0-9]+\]\n} 1 { xfail ilp32 } } } */ +/* { dg-final { scan-assembler-times {\tld1w\tz[0-9]+\.s, p[0-7]/z, \[x[0-9]+, #1, mul vl\]\n} 1 { xfail ilp32 } } } */ +/* { dg-final { scan-assembler-times {\tld1w\tz[0-9]+\.s, p[0-7]/z, \[x[0-9]+, #2, mul vl\]\n} 1 { xfail ilp32 } } } */ +/* { dg-final { scan-assembler-times {\tld1w\tz[0-9]+\.s, p[0-7]/z, \[x[0-9]+, #3, mul vl\]\n} 1 { xfail ilp32 } } } */ Index: gcc/testsuite/gcc.target/aarch64/sve/logical_1.c =================================================================== --- gcc/testsuite/gcc.target/aarch64/sve/logical_1.c 2018-01-13 17:54:52.930269938 +0000 +++ gcc/testsuite/gcc.target/aarch64/sve/logical_1.c 2018-01-26 14:09:27.090932647 +0000 @@ -1,6 +1,8 @@ /* { dg-do assemble { target aarch64_asm_sve_ok } } */ /* { dg-options "-O3 --save-temps" } */ +#include + #define DO_CONSTANT(VALUE, TYPE, OP, NAME) \ void vlogical_imm_##NAME##_##TYPE (TYPE *dst, int count) \ { \ @@ -78,12 +80,12 @@ #define DO_LOGICAL_OPS(TYPE, OP, NAME) DO_CONSTANT (-8, TYPE, OP, NAME ## minus8) \ DO_CONSTANT (-9, TYPE, OP, NAME ## minus9) -DO_LOGICAL_OPS_BRIEF (char, &, and) -DO_LOGICAL_OPS_BRIEF (long, &, and) +DO_LOGICAL_OPS_BRIEF (int8_t, &, and) +DO_LOGICAL_OPS_BRIEF (int64_t, &, and) -DO_LOGICAL_OPS (int, &, and) -DO_LOGICAL_OPS (int, |, or) -DO_LOGICAL_OPS (int, ^, xor) +DO_LOGICAL_OPS (int32_t, &, and) +DO_LOGICAL_OPS (int32_t, |, or) +DO_LOGICAL_OPS (int32_t, ^, xor) /* { dg-final { scan-assembler-times {\tand\tz[0-9]+\.d, z[0-9]+\.d, #0x1\n} 1 } } */ /* { dg-final { scan-assembler-times {\tand\tz[0-9]+\.s, z[0-9]+\.s, #0x1\n} 1 } } */ Index: gcc/testsuite/gcc.target/aarch64/sve/mask_struct_load_1.c =================================================================== --- gcc/testsuite/gcc.target/aarch64/sve/mask_struct_load_1.c 2018-01-13 17:57:48.805056669 +0000 +++ gcc/testsuite/gcc.target/aarch64/sve/mask_struct_load_1.c 2018-01-26 14:09:27.090932647 +0000 @@ -1,6 +1,8 @@ /* { dg-do compile } */ /* { dg-options "-O2 -ftree-vectorize -ffast-math" } */ +#include + #define TEST_LOOP(NAME, OUTTYPE, INTYPE, MASKTYPE) \ void __attribute__ ((noinline, noclone)) \ NAME##_2 (OUTTYPE *__restrict dest, INTYPE *__restrict src, \ @@ -12,22 +14,22 @@ #define TEST_LOOP(NAME, OUTTYPE, INTYPE, } #define TEST2(NAME, OUTTYPE, INTYPE) \ - TEST_LOOP (NAME##_i8, OUTTYPE, INTYPE, signed char) \ - TEST_LOOP (NAME##_i16, OUTTYPE, INTYPE, unsigned short) \ + TEST_LOOP (NAME##_i8, OUTTYPE, INTYPE, int8_t) \ + TEST_LOOP (NAME##_i16, OUTTYPE, INTYPE, uint16_t) \ TEST_LOOP (NAME##_f32, OUTTYPE, INTYPE, float) \ TEST_LOOP (NAME##_f64, OUTTYPE, INTYPE, double) #define TEST1(NAME, OUTTYPE) \ - TEST2 (NAME##_i8, OUTTYPE, signed char) \ - TEST2 (NAME##_i16, OUTTYPE, unsigned short) \ - TEST2 (NAME##_i32, OUTTYPE, int) \ - TEST2 (NAME##_i64, OUTTYPE, unsigned long) + TEST2 (NAME##_i8, OUTTYPE, int8_t) \ + TEST2 (NAME##_i16, OUTTYPE, uint16_t) \ + TEST2 (NAME##_i32, OUTTYPE, int32_t) \ + TEST2 (NAME##_i64, OUTTYPE, uint64_t) #define TEST(NAME) \ - TEST1 (NAME##_i8, signed char) \ - TEST1 (NAME##_i16, unsigned short) \ - TEST1 (NAME##_i32, int) \ - TEST1 (NAME##_i64, unsigned long) \ + TEST1 (NAME##_i8, int8_t) \ + TEST1 (NAME##_i16, uint16_t) \ + TEST1 (NAME##_i32, int32_t) \ + TEST1 (NAME##_i64, uint64_t) \ TEST2 (NAME##_f16_f16, _Float16, _Float16) \ TEST2 (NAME##_f32_f32, float, float) \ TEST2 (NAME##_f64_f64, double, double) Index: gcc/testsuite/gcc.target/aarch64/sve/mask_struct_load_2.c =================================================================== --- gcc/testsuite/gcc.target/aarch64/sve/mask_struct_load_2.c 2018-01-13 17:57:48.805056669 +0000 +++ gcc/testsuite/gcc.target/aarch64/sve/mask_struct_load_2.c 2018-01-26 14:09:27.090932647 +0000 @@ -1,6 +1,8 @@ /* { dg-do compile } */ /* { dg-options "-O2 -ftree-vectorize -ffast-math" } */ +#include + #define TEST_LOOP(NAME, OUTTYPE, INTYPE, MASKTYPE) \ void __attribute__ ((noinline, noclone)) \ NAME##_3 (OUTTYPE *__restrict dest, INTYPE *__restrict src, \ @@ -14,22 +16,22 @@ #define TEST_LOOP(NAME, OUTTYPE, INTYPE, } #define TEST2(NAME, OUTTYPE, INTYPE) \ - TEST_LOOP (NAME##_i8, OUTTYPE, INTYPE, signed char) \ - TEST_LOOP (NAME##_i16, OUTTYPE, INTYPE, unsigned short) \ + TEST_LOOP (NAME##_i8, OUTTYPE, INTYPE, int8_t) \ + TEST_LOOP (NAME##_i16, OUTTYPE, INTYPE, uint16_t) \ TEST_LOOP (NAME##_f32, OUTTYPE, INTYPE, float) \ TEST_LOOP (NAME##_f64, OUTTYPE, INTYPE, double) #define TEST1(NAME, OUTTYPE) \ - TEST2 (NAME##_i8, OUTTYPE, signed char) \ - TEST2 (NAME##_i16, OUTTYPE, unsigned short) \ - TEST2 (NAME##_i32, OUTTYPE, int) \ - TEST2 (NAME##_i64, OUTTYPE, unsigned long) + TEST2 (NAME##_i8, OUTTYPE, int8_t) \ + TEST2 (NAME##_i16, OUTTYPE, uint16_t) \ + TEST2 (NAME##_i32, OUTTYPE, int32_t) \ + TEST2 (NAME##_i64, OUTTYPE, uint64_t) #define TEST(NAME) \ - TEST1 (NAME##_i8, signed char) \ - TEST1 (NAME##_i16, unsigned short) \ - TEST1 (NAME##_i32, int) \ - TEST1 (NAME##_i64, unsigned long) \ + TEST1 (NAME##_i8, int8_t) \ + TEST1 (NAME##_i16, uint16_t) \ + TEST1 (NAME##_i32, int32_t) \ + TEST1 (NAME##_i64, uint64_t) \ TEST2 (NAME##_f16_f16, _Float16, _Float16) \ TEST2 (NAME##_f32_f32, float, float) \ TEST2 (NAME##_f64_f64, double, double) Index: gcc/testsuite/gcc.target/aarch64/sve/mask_struct_load_3.c =================================================================== --- gcc/testsuite/gcc.target/aarch64/sve/mask_struct_load_3.c 2018-01-13 17:57:48.805056669 +0000 +++ gcc/testsuite/gcc.target/aarch64/sve/mask_struct_load_3.c 2018-01-26 14:09:27.090932647 +0000 @@ -1,6 +1,8 @@ /* { dg-do compile } */ /* { dg-options "-O2 -ftree-vectorize -ffast-math" } */ +#include + #define TEST_LOOP(NAME, OUTTYPE, INTYPE, MASKTYPE) \ void __attribute__ ((noinline, noclone)) \ NAME##_4 (OUTTYPE *__restrict dest, INTYPE *__restrict src, \ @@ -15,22 +17,22 @@ #define TEST_LOOP(NAME, OUTTYPE, INTYPE, } #define TEST2(NAME, OUTTYPE, INTYPE) \ - TEST_LOOP (NAME##_i8, OUTTYPE, INTYPE, signed char) \ - TEST_LOOP (NAME##_i16, OUTTYPE, INTYPE, unsigned short) \ + TEST_LOOP (NAME##_i8, OUTTYPE, INTYPE, int8_t) \ + TEST_LOOP (NAME##_i16, OUTTYPE, INTYPE, uint16_t) \ TEST_LOOP (NAME##_f32, OUTTYPE, INTYPE, float) \ TEST_LOOP (NAME##_f64, OUTTYPE, INTYPE, double) #define TEST1(NAME, OUTTYPE) \ - TEST2 (NAME##_i8, OUTTYPE, signed char) \ - TEST2 (NAME##_i16, OUTTYPE, unsigned short) \ - TEST2 (NAME##_i32, OUTTYPE, int) \ - TEST2 (NAME##_i64, OUTTYPE, unsigned long) + TEST2 (NAME##_i8, OUTTYPE, int8_t) \ + TEST2 (NAME##_i16, OUTTYPE, uint16_t) \ + TEST2 (NAME##_i32, OUTTYPE, int32_t) \ + TEST2 (NAME##_i64, OUTTYPE, uint64_t) #define TEST(NAME) \ - TEST1 (NAME##_i8, signed char) \ - TEST1 (NAME##_i16, unsigned short) \ - TEST1 (NAME##_i32, int) \ - TEST1 (NAME##_i64, unsigned long) \ + TEST1 (NAME##_i8, int8_t) \ + TEST1 (NAME##_i16, uint16_t) \ + TEST1 (NAME##_i32, int32_t) \ + TEST1 (NAME##_i64, uint64_t) \ TEST2 (NAME##_f16_f16, _Float16, _Float16) \ TEST2 (NAME##_f32_f32, float, float) \ TEST2 (NAME##_f64_f64, double, double) Index: gcc/testsuite/gcc.target/aarch64/sve/mask_struct_load_4.c =================================================================== --- gcc/testsuite/gcc.target/aarch64/sve/mask_struct_load_4.c 2018-01-13 17:57:48.805056669 +0000 +++ gcc/testsuite/gcc.target/aarch64/sve/mask_struct_load_4.c 2018-01-26 14:09:27.091932603 +0000 @@ -1,6 +1,8 @@ /* { dg-do compile } */ /* { dg-options "-O2 -ftree-vectorize -ffast-math" } */ +#include + #define TEST_LOOP(NAME, OUTTYPE, INTYPE, MASKTYPE) \ void __attribute__ ((noinline, noclone)) \ NAME##_3 (OUTTYPE *__restrict dest, INTYPE *__restrict src, \ @@ -12,22 +14,22 @@ #define TEST_LOOP(NAME, OUTTYPE, INTYPE, } #define TEST2(NAME, OUTTYPE, INTYPE) \ - TEST_LOOP (NAME##_i8, OUTTYPE, INTYPE, signed char) \ - TEST_LOOP (NAME##_i16, OUTTYPE, INTYPE, unsigned short) \ + TEST_LOOP (NAME##_i8, OUTTYPE, INTYPE, int8_t) \ + TEST_LOOP (NAME##_i16, OUTTYPE, INTYPE, uint16_t) \ TEST_LOOP (NAME##_f32, OUTTYPE, INTYPE, float) \ TEST_LOOP (NAME##_f64, OUTTYPE, INTYPE, double) #define TEST1(NAME, OUTTYPE) \ - TEST2 (NAME##_i8, OUTTYPE, signed char) \ - TEST2 (NAME##_i16, OUTTYPE, unsigned short) \ - TEST2 (NAME##_i32, OUTTYPE, int) \ - TEST2 (NAME##_i64, OUTTYPE, unsigned long) + TEST2 (NAME##_i8, OUTTYPE, int8_t) \ + TEST2 (NAME##_i16, OUTTYPE, uint16_t) \ + TEST2 (NAME##_i32, OUTTYPE, int32_t) \ + TEST2 (NAME##_i64, OUTTYPE, uint64_t) #define TEST(NAME) \ - TEST1 (NAME##_i8, signed char) \ - TEST1 (NAME##_i16, unsigned short) \ - TEST1 (NAME##_i32, int) \ - TEST1 (NAME##_i64, unsigned long) \ + TEST1 (NAME##_i8, int8_t) \ + TEST1 (NAME##_i16, uint16_t) \ + TEST1 (NAME##_i32, int32_t) \ + TEST1 (NAME##_i64, uint64_t) \ TEST2 (NAME##_f16_f16, _Float16, _Float16) \ TEST2 (NAME##_f32_f32, float, float) \ TEST2 (NAME##_f64_f64, double, double) Index: gcc/testsuite/gcc.target/aarch64/sve/mask_struct_load_5.c =================================================================== --- gcc/testsuite/gcc.target/aarch64/sve/mask_struct_load_5.c 2018-01-13 17:57:48.805056669 +0000 +++ gcc/testsuite/gcc.target/aarch64/sve/mask_struct_load_5.c 2018-01-26 14:09:27.091932603 +0000 @@ -1,6 +1,8 @@ /* { dg-do compile } */ /* { dg-options "-O2 -ftree-vectorize -ffast-math" } */ +#include + #define TEST_LOOP(NAME, OUTTYPE, INTYPE, MASKTYPE) \ void __attribute__ ((noinline, noclone)) \ NAME##_4 (OUTTYPE *__restrict dest, INTYPE *__restrict src, \ @@ -12,22 +14,22 @@ #define TEST_LOOP(NAME, OUTTYPE, INTYPE, } #define TEST2(NAME, OUTTYPE, INTYPE) \ - TEST_LOOP (NAME##_i8, OUTTYPE, INTYPE, signed char) \ - TEST_LOOP (NAME##_i16, OUTTYPE, INTYPE, unsigned short) \ + TEST_LOOP (NAME##_i8, OUTTYPE, INTYPE, int8_t) \ + TEST_LOOP (NAME##_i16, OUTTYPE, INTYPE, uint16_t) \ TEST_LOOP (NAME##_f32, OUTTYPE, INTYPE, float) \ TEST_LOOP (NAME##_f64, OUTTYPE, INTYPE, double) #define TEST1(NAME, OUTTYPE) \ - TEST2 (NAME##_i8, OUTTYPE, signed char) \ - TEST2 (NAME##_i16, OUTTYPE, unsigned short) \ - TEST2 (NAME##_i32, OUTTYPE, int) \ - TEST2 (NAME##_i64, OUTTYPE, unsigned long) + TEST2 (NAME##_i8, OUTTYPE, int8_t) \ + TEST2 (NAME##_i16, OUTTYPE, uint16_t) \ + TEST2 (NAME##_i32, OUTTYPE, int32_t) \ + TEST2 (NAME##_i64, OUTTYPE, uint64_t) #define TEST(NAME) \ - TEST1 (NAME##_i8, signed char) \ - TEST1 (NAME##_i16, unsigned short) \ - TEST1 (NAME##_i32, int) \ - TEST1 (NAME##_i64, unsigned long) \ + TEST1 (NAME##_i8, int8_t) \ + TEST1 (NAME##_i16, uint16_t) \ + TEST1 (NAME##_i32, int32_t) \ + TEST1 (NAME##_i64, uint64_t) \ TEST2 (NAME##_f16_f16, _Float16, _Float16) \ TEST2 (NAME##_f32_f32, float, float) \ TEST2 (NAME##_f64_f64, double, double) Index: gcc/testsuite/gcc.target/aarch64/sve/mask_struct_load_6.c =================================================================== --- gcc/testsuite/gcc.target/aarch64/sve/mask_struct_load_6.c 2018-01-13 17:57:48.806056632 +0000 +++ gcc/testsuite/gcc.target/aarch64/sve/mask_struct_load_6.c 2018-01-26 14:09:27.091932603 +0000 @@ -1,6 +1,8 @@ /* { dg-do compile } */ /* { dg-options "-O2 -ftree-vectorize -ffast-math" } */ +#include + #define TEST_LOOP(NAME, OUTTYPE, INTYPE, MASKTYPE) \ void __attribute__ ((noinline, noclone)) \ NAME##_2 (OUTTYPE *__restrict dest, INTYPE *__restrict src, \ @@ -12,22 +14,22 @@ #define TEST_LOOP(NAME, OUTTYPE, INTYPE, } #define TEST2(NAME, OUTTYPE, INTYPE) \ - TEST_LOOP (NAME##_i8, OUTTYPE, INTYPE, signed char) \ - TEST_LOOP (NAME##_i16, OUTTYPE, INTYPE, unsigned short) \ + TEST_LOOP (NAME##_i8, OUTTYPE, INTYPE, int8_t) \ + TEST_LOOP (NAME##_i16, OUTTYPE, INTYPE, uint16_t) \ TEST_LOOP (NAME##_f32, OUTTYPE, INTYPE, float) \ TEST_LOOP (NAME##_f64, OUTTYPE, INTYPE, double) #define TEST1(NAME, OUTTYPE) \ - TEST2 (NAME##_i8, OUTTYPE, signed char) \ - TEST2 (NAME##_i16, OUTTYPE, unsigned short) \ - TEST2 (NAME##_i32, OUTTYPE, int) \ - TEST2 (NAME##_i64, OUTTYPE, unsigned long) + TEST2 (NAME##_i8, OUTTYPE, int8_t) \ + TEST2 (NAME##_i16, OUTTYPE, uint16_t) \ + TEST2 (NAME##_i32, OUTTYPE, int32_t) \ + TEST2 (NAME##_i64, OUTTYPE, uint64_t) #define TEST(NAME) \ - TEST1 (NAME##_i8, signed char) \ - TEST1 (NAME##_i16, unsigned short) \ - TEST1 (NAME##_i32, int) \ - TEST1 (NAME##_i64, unsigned long) \ + TEST1 (NAME##_i8, int8_t) \ + TEST1 (NAME##_i16, uint16_t) \ + TEST1 (NAME##_i32, int32_t) \ + TEST1 (NAME##_i64, uint64_t) \ TEST2 (NAME##_f16_f16, _Float16, _Float16) \ TEST2 (NAME##_f32_f32, float, float) \ TEST2 (NAME##_f64_f64, double, double) Index: gcc/testsuite/gcc.target/aarch64/sve/mask_struct_load_7.c =================================================================== --- gcc/testsuite/gcc.target/aarch64/sve/mask_struct_load_7.c 2018-01-13 17:57:48.806056632 +0000 +++ gcc/testsuite/gcc.target/aarch64/sve/mask_struct_load_7.c 2018-01-26 14:09:27.091932603 +0000 @@ -1,6 +1,8 @@ /* { dg-do compile } */ /* { dg-options "-O2 -ftree-vectorize -ffast-math" } */ +#include + #define TEST_LOOP(NAME, OUTTYPE, INTYPE, MASKTYPE) \ void __attribute__ ((noinline, noclone)) \ NAME##_3 (OUTTYPE *__restrict dest, INTYPE *__restrict src, \ @@ -12,22 +14,22 @@ #define TEST_LOOP(NAME, OUTTYPE, INTYPE, } #define TEST2(NAME, OUTTYPE, INTYPE) \ - TEST_LOOP (NAME##_i8, OUTTYPE, INTYPE, signed char) \ - TEST_LOOP (NAME##_i16, OUTTYPE, INTYPE, unsigned short) \ + TEST_LOOP (NAME##_i8, OUTTYPE, INTYPE, int8_t) \ + TEST_LOOP (NAME##_i16, OUTTYPE, INTYPE, uint16_t) \ TEST_LOOP (NAME##_f32, OUTTYPE, INTYPE, float) \ TEST_LOOP (NAME##_f64, OUTTYPE, INTYPE, double) #define TEST1(NAME, OUTTYPE) \ - TEST2 (NAME##_i8, OUTTYPE, signed char) \ - TEST2 (NAME##_i16, OUTTYPE, unsigned short) \ - TEST2 (NAME##_i32, OUTTYPE, int) \ - TEST2 (NAME##_i64, OUTTYPE, unsigned long) + TEST2 (NAME##_i8, OUTTYPE, int8_t) \ + TEST2 (NAME##_i16, OUTTYPE, uint16_t) \ + TEST2 (NAME##_i32, OUTTYPE, int32_t) \ + TEST2 (NAME##_i64, OUTTYPE, uint64_t) #define TEST(NAME) \ - TEST1 (NAME##_i8, signed char) \ - TEST1 (NAME##_i16, unsigned short) \ - TEST1 (NAME##_i32, int) \ - TEST1 (NAME##_i64, unsigned long) \ + TEST1 (NAME##_i8, int8_t) \ + TEST1 (NAME##_i16, uint16_t) \ + TEST1 (NAME##_i32, int32_t) \ + TEST1 (NAME##_i64, uint64_t) \ TEST2 (NAME##_f16_f16, _Float16, _Float16) \ TEST2 (NAME##_f32_f32, float, float) \ TEST2 (NAME##_f64_f64, double, double) Index: gcc/testsuite/gcc.target/aarch64/sve/mask_struct_load_8.c =================================================================== --- gcc/testsuite/gcc.target/aarch64/sve/mask_struct_load_8.c 2018-01-13 17:57:48.806056632 +0000 +++ gcc/testsuite/gcc.target/aarch64/sve/mask_struct_load_8.c 2018-01-26 14:09:27.091932603 +0000 @@ -1,6 +1,8 @@ /* { dg-do compile } */ /* { dg-options "-O2 -ftree-vectorize -ffast-math" } */ +#include + #define TEST_LOOP(NAME, OUTTYPE, INTYPE, MASKTYPE) \ void __attribute__ ((noinline, noclone)) \ NAME##_4 (OUTTYPE *__restrict dest, INTYPE *__restrict src, \ @@ -12,22 +14,22 @@ #define TEST_LOOP(NAME, OUTTYPE, INTYPE, } #define TEST2(NAME, OUTTYPE, INTYPE) \ - TEST_LOOP (NAME##_i8, OUTTYPE, INTYPE, signed char) \ - TEST_LOOP (NAME##_i16, OUTTYPE, INTYPE, unsigned short) \ + TEST_LOOP (NAME##_i8, OUTTYPE, INTYPE, int8_t) \ + TEST_LOOP (NAME##_i16, OUTTYPE, INTYPE, uint16_t) \ TEST_LOOP (NAME##_f32, OUTTYPE, INTYPE, float) \ TEST_LOOP (NAME##_f64, OUTTYPE, INTYPE, double) #define TEST1(NAME, OUTTYPE) \ - TEST2 (NAME##_i8, OUTTYPE, signed char) \ - TEST2 (NAME##_i16, OUTTYPE, unsigned short) \ - TEST2 (NAME##_i32, OUTTYPE, int) \ - TEST2 (NAME##_i64, OUTTYPE, unsigned long) + TEST2 (NAME##_i8, OUTTYPE, int8_t) \ + TEST2 (NAME##_i16, OUTTYPE, uint16_t) \ + TEST2 (NAME##_i32, OUTTYPE, int32_t) \ + TEST2 (NAME##_i64, OUTTYPE, uint64_t) #define TEST(NAME) \ - TEST1 (NAME##_i8, signed char) \ - TEST1 (NAME##_i16, unsigned short) \ - TEST1 (NAME##_i32, int) \ - TEST1 (NAME##_i64, unsigned long) \ + TEST1 (NAME##_i8, int8_t) \ + TEST1 (NAME##_i16, uint16_t) \ + TEST1 (NAME##_i32, int32_t) \ + TEST1 (NAME##_i64, uint64_t) \ TEST2 (NAME##_f16_f16, _Float16, _Float16) \ TEST2 (NAME##_f32_f32, float, float) \ TEST2 (NAME##_f64_f64, double, double) Index: gcc/testsuite/gcc.target/aarch64/sve/mask_struct_store_1.c =================================================================== --- gcc/testsuite/gcc.target/aarch64/sve/mask_struct_store_1.c 2018-01-13 17:57:48.806056632 +0000 +++ gcc/testsuite/gcc.target/aarch64/sve/mask_struct_store_1.c 2018-01-26 14:09:27.091932603 +0000 @@ -1,6 +1,8 @@ /* { dg-do compile } */ /* { dg-options "-O2 -ftree-vectorize -ffast-math" } */ +#include + #define TEST_LOOP(NAME, OUTTYPE, INTYPE, MASKTYPE) \ void __attribute__ ((noinline, noclone)) \ NAME##_2 (OUTTYPE *__restrict dest, INTYPE *__restrict src, \ @@ -18,22 +20,22 @@ #define TEST_LOOP(NAME, OUTTYPE, INTYPE, } #define TEST2(NAME, OUTTYPE, INTYPE) \ - TEST_LOOP (NAME##_i8, OUTTYPE, INTYPE, signed char) \ - TEST_LOOP (NAME##_i16, OUTTYPE, INTYPE, unsigned short) \ + TEST_LOOP (NAME##_i8, OUTTYPE, INTYPE, int8_t) \ + TEST_LOOP (NAME##_i16, OUTTYPE, INTYPE, uint16_t) \ TEST_LOOP (NAME##_f32, OUTTYPE, INTYPE, float) \ TEST_LOOP (NAME##_f64, OUTTYPE, INTYPE, double) #define TEST1(NAME, OUTTYPE) \ - TEST2 (NAME##_i8, OUTTYPE, signed char) \ - TEST2 (NAME##_i16, OUTTYPE, unsigned short) \ - TEST2 (NAME##_i32, OUTTYPE, int) \ - TEST2 (NAME##_i64, OUTTYPE, unsigned long) + TEST2 (NAME##_i8, OUTTYPE, int8_t) \ + TEST2 (NAME##_i16, OUTTYPE, uint16_t) \ + TEST2 (NAME##_i32, OUTTYPE, int32_t) \ + TEST2 (NAME##_i64, OUTTYPE, uint64_t) #define TEST(NAME) \ - TEST1 (NAME##_i8, signed char) \ - TEST1 (NAME##_i16, unsigned short) \ - TEST1 (NAME##_i32, int) \ - TEST1 (NAME##_i64, unsigned long) \ + TEST1 (NAME##_i8, int8_t) \ + TEST1 (NAME##_i16, uint16_t) \ + TEST1 (NAME##_i32, int32_t) \ + TEST1 (NAME##_i64, uint64_t) \ TEST2 (NAME##_f16_f16, _Float16, _Float16) \ TEST2 (NAME##_f32_f32, float, float) \ TEST2 (NAME##_f64_f64, double, double) Index: gcc/testsuite/gcc.target/aarch64/sve/mask_struct_store_2.c =================================================================== --- gcc/testsuite/gcc.target/aarch64/sve/mask_struct_store_2.c 2018-01-13 17:57:48.806056632 +0000 +++ gcc/testsuite/gcc.target/aarch64/sve/mask_struct_store_2.c 2018-01-26 14:09:27.091932603 +0000 @@ -1,6 +1,8 @@ /* { dg-do compile } */ /* { dg-options "-O2 -ftree-vectorize -ffast-math" } */ +#include + #define TEST_LOOP(NAME, OUTTYPE, INTYPE, MASKTYPE) \ void __attribute__ ((noinline, noclone)) \ NAME##_3 (OUTTYPE *__restrict dest, INTYPE *__restrict src, \ @@ -19,22 +21,22 @@ #define TEST_LOOP(NAME, OUTTYPE, INTYPE, } #define TEST2(NAME, OUTTYPE, INTYPE) \ - TEST_LOOP (NAME##_i8, OUTTYPE, INTYPE, signed char) \ - TEST_LOOP (NAME##_i16, OUTTYPE, INTYPE, unsigned short) \ + TEST_LOOP (NAME##_i8, OUTTYPE, INTYPE, int8_t) \ + TEST_LOOP (NAME##_i16, OUTTYPE, INTYPE, uint16_t) \ TEST_LOOP (NAME##_f32, OUTTYPE, INTYPE, float) \ TEST_LOOP (NAME##_f64, OUTTYPE, INTYPE, double) #define TEST1(NAME, OUTTYPE) \ - TEST2 (NAME##_i8, OUTTYPE, signed char) \ - TEST2 (NAME##_i16, OUTTYPE, unsigned short) \ - TEST2 (NAME##_i32, OUTTYPE, int) \ - TEST2 (NAME##_i64, OUTTYPE, unsigned long) + TEST2 (NAME##_i8, OUTTYPE, int8_t) \ + TEST2 (NAME##_i16, OUTTYPE, uint16_t) \ + TEST2 (NAME##_i32, OUTTYPE, int32_t) \ + TEST2 (NAME##_i64, OUTTYPE, uint64_t) #define TEST(NAME) \ - TEST1 (NAME##_i8, signed char) \ - TEST1 (NAME##_i16, unsigned short) \ - TEST1 (NAME##_i32, int) \ - TEST1 (NAME##_i64, unsigned long) \ + TEST1 (NAME##_i8, int8_t) \ + TEST1 (NAME##_i16, uint16_t) \ + TEST1 (NAME##_i32, int32_t) \ + TEST1 (NAME##_i64, uint64_t) \ TEST2 (NAME##_f16_f16, _Float16, _Float16) \ TEST2 (NAME##_f32_f32, float, float) \ TEST2 (NAME##_f64_f64, double, double) Index: gcc/testsuite/gcc.target/aarch64/sve/mask_struct_store_3.c =================================================================== --- gcc/testsuite/gcc.target/aarch64/sve/mask_struct_store_3.c 2018-01-13 17:57:48.806056632 +0000 +++ gcc/testsuite/gcc.target/aarch64/sve/mask_struct_store_3.c 2018-01-26 14:09:27.092932560 +0000 @@ -1,6 +1,8 @@ /* { dg-do compile } */ /* { dg-options "-O2 -ftree-vectorize -ffast-math" } */ +#include + #define TEST_LOOP(NAME, OUTTYPE, INTYPE, MASKTYPE) \ void __attribute__ ((noinline, noclone)) \ NAME##_4 (OUTTYPE *__restrict dest, INTYPE *__restrict src, \ @@ -20,22 +22,22 @@ #define TEST_LOOP(NAME, OUTTYPE, INTYPE, } #define TEST2(NAME, OUTTYPE, INTYPE) \ - TEST_LOOP (NAME##_i8, OUTTYPE, INTYPE, signed char) \ - TEST_LOOP (NAME##_i16, OUTTYPE, INTYPE, unsigned short) \ + TEST_LOOP (NAME##_i8, OUTTYPE, INTYPE, int8_t) \ + TEST_LOOP (NAME##_i16, OUTTYPE, INTYPE, uint16_t) \ TEST_LOOP (NAME##_f32, OUTTYPE, INTYPE, float) \ TEST_LOOP (NAME##_f64, OUTTYPE, INTYPE, double) #define TEST1(NAME, OUTTYPE) \ - TEST2 (NAME##_i8, OUTTYPE, signed char) \ - TEST2 (NAME##_i16, OUTTYPE, unsigned short) \ - TEST2 (NAME##_i32, OUTTYPE, int) \ - TEST2 (NAME##_i64, OUTTYPE, unsigned long) + TEST2 (NAME##_i8, OUTTYPE, int8_t) \ + TEST2 (NAME##_i16, OUTTYPE, uint16_t) \ + TEST2 (NAME##_i32, OUTTYPE, int32_t) \ + TEST2 (NAME##_i64, OUTTYPE, uint64_t) #define TEST(NAME) \ - TEST1 (NAME##_i8, signed char) \ - TEST1 (NAME##_i16, unsigned short) \ - TEST1 (NAME##_i32, int) \ - TEST1 (NAME##_i64, unsigned long) \ + TEST1 (NAME##_i8, int8_t) \ + TEST1 (NAME##_i16, uint16_t) \ + TEST1 (NAME##_i32, int32_t) \ + TEST1 (NAME##_i64, uint64_t) \ TEST2 (NAME##_f16_f16, _Float16, _Float16) \ TEST2 (NAME##_f32_f32, float, float) \ TEST2 (NAME##_f64_f64, double, double) Index: gcc/testsuite/gcc.target/aarch64/sve/mask_struct_store_4.c =================================================================== --- gcc/testsuite/gcc.target/aarch64/sve/mask_struct_store_4.c 2018-01-13 17:57:48.807056595 +0000 +++ gcc/testsuite/gcc.target/aarch64/sve/mask_struct_store_4.c 2018-01-26 14:09:27.092932560 +0000 @@ -1,6 +1,8 @@ /* { dg-do compile } */ /* { dg-options "-O2 -ftree-vectorize -ffast-math" } */ +#include + #define TEST_LOOP(NAME, OUTTYPE, INTYPE, MASKTYPE) \ void __attribute__ ((noinline, noclone)) \ NAME##_2 (OUTTYPE *__restrict dest, INTYPE *__restrict src, \ @@ -16,22 +18,22 @@ #define TEST_LOOP(NAME, OUTTYPE, INTYPE, } #define TEST2(NAME, OUTTYPE, INTYPE) \ - TEST_LOOP (NAME##_i8, OUTTYPE, INTYPE, signed char) \ - TEST_LOOP (NAME##_i16, OUTTYPE, INTYPE, unsigned short) \ + TEST_LOOP (NAME##_i8, OUTTYPE, INTYPE, int8_t) \ + TEST_LOOP (NAME##_i16, OUTTYPE, INTYPE, uint16_t) \ TEST_LOOP (NAME##_f32, OUTTYPE, INTYPE, float) \ TEST_LOOP (NAME##_f64, OUTTYPE, INTYPE, double) #define TEST1(NAME, OUTTYPE) \ - TEST2 (NAME##_i8, OUTTYPE, signed char) \ - TEST2 (NAME##_i16, OUTTYPE, unsigned short) \ - TEST2 (NAME##_i32, OUTTYPE, int) \ - TEST2 (NAME##_i64, OUTTYPE, unsigned long) + TEST2 (NAME##_i8, OUTTYPE, int8_t) \ + TEST2 (NAME##_i16, OUTTYPE, uint16_t) \ + TEST2 (NAME##_i32, OUTTYPE, int32_t) \ + TEST2 (NAME##_i64, OUTTYPE, uint64_t) #define TEST(NAME) \ - TEST1 (NAME##_i8, signed char) \ - TEST1 (NAME##_i16, unsigned short) \ - TEST1 (NAME##_i32, int) \ - TEST1 (NAME##_i64, unsigned long) \ + TEST1 (NAME##_i8, int8_t) \ + TEST1 (NAME##_i16, uint16_t) \ + TEST1 (NAME##_i32, int32_t) \ + TEST1 (NAME##_i64, uint64_t) \ TEST2 (NAME##_f16_f16, _Float16, _Float16) \ TEST2 (NAME##_f32_f32, float, float) \ TEST2 (NAME##_f64_f64, double, double) Index: gcc/testsuite/gcc.target/aarch64/sve/struct_vect_1.c =================================================================== --- gcc/testsuite/gcc.target/aarch64/sve/struct_vect_1.c 2018-01-13 17:57:37.497470813 +0000 +++ gcc/testsuite/gcc.target/aarch64/sve/struct_vect_1.c 2018-01-26 14:09:27.092932560 +0000 @@ -1,8 +1,10 @@ /* { dg-do assemble { target aarch64_asm_sve_ok } } */ /* { dg-options "-O2 -ftree-vectorize --save-temps" } */ +#include + #ifndef TYPE -#define TYPE unsigned char +#define TYPE uint8_t #endif #ifndef NAME Index: gcc/testsuite/gcc.target/aarch64/sve/struct_vect_2.c =================================================================== --- gcc/testsuite/gcc.target/aarch64/sve/struct_vect_2.c 2018-01-13 17:57:37.499470741 +0000 +++ gcc/testsuite/gcc.target/aarch64/sve/struct_vect_2.c 2018-01-26 14:09:27.093932517 +0000 @@ -1,7 +1,7 @@ /* { dg-do assemble { target aarch64_asm_sve_ok } } */ /* { dg-options "-O2 -ftree-vectorize --save-temps" } */ -#define TYPE unsigned short +#define TYPE uint16_t #include "struct_vect_1.c" /* { dg-final { scan-assembler {\tld2h\t{z[0-9]+.h - z[0-9]+.h}, p[0-7]/z, \[x[0-9]+\]\n} } } */ Index: gcc/testsuite/gcc.target/aarch64/sve/struct_vect_2_run.c =================================================================== --- gcc/testsuite/gcc.target/aarch64/sve/struct_vect_2_run.c 2018-01-13 17:57:37.499470741 +0000 +++ gcc/testsuite/gcc.target/aarch64/sve/struct_vect_2_run.c 2018-01-26 14:09:27.094932474 +0000 @@ -1,5 +1,5 @@ /* { dg-do run { target aarch64_sve_hw } } */ /* { dg-options "-O2 -ftree-vectorize --save-temps" } */ -#define TYPE unsigned short +#define TYPE uint16_t #include "struct_vect_1_run.c" Index: gcc/testsuite/gcc.target/aarch64/sve/struct_vect_3.c =================================================================== --- gcc/testsuite/gcc.target/aarch64/sve/struct_vect_3.c 2018-01-13 17:57:37.499470741 +0000 +++ gcc/testsuite/gcc.target/aarch64/sve/struct_vect_3.c 2018-01-26 14:09:27.094932474 +0000 @@ -1,7 +1,7 @@ /* { dg-do assemble { target aarch64_asm_sve_ok } } */ /* { dg-options "-O2 -ftree-vectorize --save-temps" } */ -#define TYPE unsigned int +#define TYPE uint32_t #include "struct_vect_1.c" /* { dg-final { scan-assembler {\tld2w\t{z[0-9]+.s - z[0-9]+.s}, p[0-7]/z, \[x[0-9]+\]\n} } } */ Index: gcc/testsuite/gcc.target/aarch64/sve/struct_vect_3_run.c =================================================================== --- gcc/testsuite/gcc.target/aarch64/sve/struct_vect_3_run.c 2018-01-13 17:57:37.499470741 +0000 +++ gcc/testsuite/gcc.target/aarch64/sve/struct_vect_3_run.c 2018-01-26 14:09:27.094932474 +0000 @@ -1,5 +1,5 @@ /* { dg-do run { target aarch64_sve_hw } } */ /* { dg-options "-O2 -ftree-vectorize --save-temps" } */ -#define TYPE unsigned int +#define TYPE uint32_t #include "struct_vect_1_run.c" Index: gcc/testsuite/gcc.target/aarch64/sve/struct_vect_4.c =================================================================== --- gcc/testsuite/gcc.target/aarch64/sve/struct_vect_4.c 2018-01-13 17:57:37.499470741 +0000 +++ gcc/testsuite/gcc.target/aarch64/sve/struct_vect_4.c 2018-01-26 14:09:27.094932474 +0000 @@ -1,7 +1,7 @@ /* { dg-do assemble { target aarch64_asm_sve_ok } } */ /* { dg-options "-O2 -ftree-vectorize --save-temps" } */ -#define TYPE unsigned long +#define TYPE uint64_t #include "struct_vect_1.c" /* { dg-final { scan-assembler {\tld2d\t{z[0-9]+.d - z[0-9]+.d}, p[0-7]/z, \[x[0-9]+\]\n} } } */ Index: gcc/testsuite/gcc.target/aarch64/sve/struct_vect_4_run.c =================================================================== --- gcc/testsuite/gcc.target/aarch64/sve/struct_vect_4_run.c 2018-01-13 17:57:37.499470741 +0000 +++ gcc/testsuite/gcc.target/aarch64/sve/struct_vect_4_run.c 2018-01-26 14:09:27.095932430 +0000 @@ -1,5 +1,5 @@ /* { dg-do run { target aarch64_sve_hw } } */ /* { dg-options "-O2 -ftree-vectorize --save-temps" } */ -#define TYPE unsigned long +#define TYPE uint64_t #include "struct_vect_1_run.c" Index: gcc/testsuite/gcc.target/aarch64/sve/struct_vect_7.c =================================================================== --- gcc/testsuite/gcc.target/aarch64/sve/struct_vect_7.c 2018-01-13 17:57:37.500470705 +0000 +++ gcc/testsuite/gcc.target/aarch64/sve/struct_vect_7.c 2018-01-26 14:09:27.095932430 +0000 @@ -1,9 +1,11 @@ /* { dg-do assemble { target aarch64_asm_sve_ok } } */ /* { dg-options "-O2 -ftree-vectorize --save-temps" } */ +#include + #ifndef TYPE -#define TYPE unsigned char -#define ITYPE signed char +#define TYPE uint8_t +#define ITYPE int8_t #endif void __attribute__ ((noinline, noclone)) Index: gcc/testsuite/gcc.target/aarch64/sve/struct_vect_8.c =================================================================== --- gcc/testsuite/gcc.target/aarch64/sve/struct_vect_8.c 2018-01-13 17:57:37.500470705 +0000 +++ gcc/testsuite/gcc.target/aarch64/sve/struct_vect_8.c 2018-01-26 14:09:27.095932430 +0000 @@ -1,8 +1,8 @@ /* { dg-do assemble { target aarch64_asm_sve_ok } } */ /* { dg-options "-O2 -ftree-vectorize --save-temps" } */ -#define TYPE unsigned short -#define ITYPE short +#define TYPE uint16_t +#define ITYPE int16_t #include "struct_vect_7.c" /* { dg-final { scan-assembler {\tld2h\t{z[0-9]+.h - z[0-9]+.h}, p[0-7]/z, \[x[0-9]+\]\n} } } */ Index: gcc/testsuite/gcc.target/aarch64/sve/struct_vect_8_run.c =================================================================== --- gcc/testsuite/gcc.target/aarch64/sve/struct_vect_8_run.c 2018-01-13 17:57:37.500470705 +0000 +++ gcc/testsuite/gcc.target/aarch64/sve/struct_vect_8_run.c 2018-01-26 14:09:27.095932430 +0000 @@ -1,6 +1,6 @@ /* { dg-do run { target aarch64_sve_hw } } */ /* { dg-options "-O2 -ftree-vectorize --save-temps" } */ -#define TYPE unsigned short -#define ITYPE short +#define TYPE uint16_t +#define ITYPE int16_t #include "struct_vect_7_run.c" Index: gcc/testsuite/gcc.target/aarch64/sve/struct_vect_9.c =================================================================== --- gcc/testsuite/gcc.target/aarch64/sve/struct_vect_9.c 2018-01-13 17:57:37.500470705 +0000 +++ gcc/testsuite/gcc.target/aarch64/sve/struct_vect_9.c 2018-01-26 14:09:27.095932430 +0000 @@ -1,8 +1,8 @@ /* { dg-do assemble { target aarch64_asm_sve_ok } } */ /* { dg-options "-O2 -ftree-vectorize --save-temps" } */ -#define TYPE unsigned int -#define ITYPE int +#define TYPE uint32_t +#define ITYPE int32_t #include "struct_vect_7.c" /* { dg-final { scan-assembler {\tld2w\t{z[0-9]+.s - z[0-9]+.s}, p[0-7]/z, \[x[0-9]+\]\n} } } */ Index: gcc/testsuite/gcc.target/aarch64/sve/struct_vect_9_run.c =================================================================== --- gcc/testsuite/gcc.target/aarch64/sve/struct_vect_9_run.c 2018-01-13 17:57:37.500470705 +0000 +++ gcc/testsuite/gcc.target/aarch64/sve/struct_vect_9_run.c 2018-01-26 14:09:27.095932430 +0000 @@ -1,6 +1,6 @@ /* { dg-do run { target aarch64_sve_hw } } */ /* { dg-options "-O2 -ftree-vectorize --save-temps" } */ -#define TYPE unsigned int -#define ITYPE int +#define TYPE uint32_t +#define ITYPE int32_t #include "struct_vect_7_run.c" Index: gcc/testsuite/gcc.target/aarch64/sve/struct_vect_10.c =================================================================== --- gcc/testsuite/gcc.target/aarch64/sve/struct_vect_10.c 2018-01-13 17:57:37.497470813 +0000 +++ gcc/testsuite/gcc.target/aarch64/sve/struct_vect_10.c 2018-01-26 14:09:27.092932560 +0000 @@ -1,8 +1,8 @@ /* { dg-do assemble { target aarch64_asm_sve_ok } } */ /* { dg-options "-O2 -ftree-vectorize --save-temps" } */ -#define TYPE unsigned long -#define ITYPE long +#define TYPE uint64_t +#define ITYPE int64_t #include "struct_vect_7.c" /* { dg-final { scan-assembler {\tld2d\t{z[0-9]+.d - z[0-9]+.d}, p[0-7]/z, \[x[0-9]+\]\n} } } */ Index: gcc/testsuite/gcc.target/aarch64/sve/struct_vect_10_run.c =================================================================== --- gcc/testsuite/gcc.target/aarch64/sve/struct_vect_10_run.c 2018-01-13 17:57:37.498470777 +0000 +++ gcc/testsuite/gcc.target/aarch64/sve/struct_vect_10_run.c 2018-01-26 14:09:27.092932560 +0000 @@ -1,6 +1,6 @@ /* { dg-do run { target aarch64_sve_hw } } */ /* { dg-options "-O2 -ftree-vectorize --save-temps" } */ -#define TYPE unsigned long -#define ITYPE long +#define TYPE uint64_t +#define ITYPE int64_t #include "struct_vect_7_run.c" Index: gcc/testsuite/gcc.target/aarch64/sve/struct_vect_11.c =================================================================== --- gcc/testsuite/gcc.target/aarch64/sve/struct_vect_11.c 2018-01-13 17:57:37.498470777 +0000 +++ gcc/testsuite/gcc.target/aarch64/sve/struct_vect_11.c 2018-01-26 14:09:27.092932560 +0000 @@ -2,7 +2,7 @@ /* { dg-options "-O2 -ftree-vectorize --save-temps" } */ #define TYPE _Float16 -#define ITYPE short +#define ITYPE int16_t #include "struct_vect_7.c" /* { dg-final { scan-assembler {\tld2h\t{z[0-9]+.h - z[0-9]+.h}, p[0-7]/z, \[x[0-9]+\]\n} } } */ Index: gcc/testsuite/gcc.target/aarch64/sve/struct_vect_11_run.c =================================================================== --- gcc/testsuite/gcc.target/aarch64/sve/struct_vect_11_run.c 2018-01-13 17:57:37.498470777 +0000 +++ gcc/testsuite/gcc.target/aarch64/sve/struct_vect_11_run.c 2018-01-26 14:09:27.092932560 +0000 @@ -2,5 +2,5 @@ /* { dg-options "-O2 -ftree-vectorize --save-temps" } */ #define TYPE _Float16 -#define ITYPE short +#define ITYPE int16_t #include "struct_vect_7_run.c" Index: gcc/testsuite/gcc.target/aarch64/sve/struct_vect_12.c =================================================================== --- gcc/testsuite/gcc.target/aarch64/sve/struct_vect_12.c 2018-01-13 17:57:37.498470777 +0000 +++ gcc/testsuite/gcc.target/aarch64/sve/struct_vect_12.c 2018-01-26 14:09:27.092932560 +0000 @@ -2,7 +2,7 @@ /* { dg-options "-O2 -ftree-vectorize --save-temps" } */ #define TYPE float -#define ITYPE int +#define ITYPE int32_t #include "struct_vect_7.c" /* { dg-final { scan-assembler {\tld2w\t{z[0-9]+.s - z[0-9]+.s}, p[0-7]/z, \[x[0-9]+\]\n} } } */ Index: gcc/testsuite/gcc.target/aarch64/sve/struct_vect_12_run.c =================================================================== --- gcc/testsuite/gcc.target/aarch64/sve/struct_vect_12_run.c 2018-01-13 17:57:37.498470777 +0000 +++ gcc/testsuite/gcc.target/aarch64/sve/struct_vect_12_run.c 2018-01-26 14:09:27.092932560 +0000 @@ -2,5 +2,5 @@ /* { dg-options "-O2 -ftree-vectorize --save-temps" } */ #define TYPE float -#define ITYPE int +#define ITYPE int32_t #include "struct_vect_7_run.c" Index: gcc/testsuite/gcc.target/aarch64/sve/struct_vect_13.c =================================================================== --- gcc/testsuite/gcc.target/aarch64/sve/struct_vect_13.c 2018-01-13 17:57:37.498470777 +0000 +++ gcc/testsuite/gcc.target/aarch64/sve/struct_vect_13.c 2018-01-26 14:09:27.093932517 +0000 @@ -2,7 +2,7 @@ /* { dg-options "-O2 -ftree-vectorize --save-temps" } */ #define TYPE double -#define ITYPE long +#define ITYPE int64_t #include "struct_vect_7.c" /* { dg-final { scan-assembler {\tld2d\t{z[0-9]+.d - z[0-9]+.d}, p[0-7]/z, \[x[0-9]+\]\n} } } */ Index: gcc/testsuite/gcc.target/aarch64/sve/struct_vect_13_run.c =================================================================== --- gcc/testsuite/gcc.target/aarch64/sve/struct_vect_13_run.c 2018-01-13 17:57:37.498470777 +0000 +++ gcc/testsuite/gcc.target/aarch64/sve/struct_vect_13_run.c 2018-01-26 14:09:27.093932517 +0000 @@ -2,5 +2,5 @@ /* { dg-options "-O2 -ftree-vectorize --save-temps" } */ #define TYPE double -#define ITYPE long +#define ITYPE int64_t #include "struct_vect_7_run.c" Index: gcc/testsuite/gcc.target/aarch64/sve/struct_vect_14.c =================================================================== --- gcc/testsuite/gcc.target/aarch64/sve/struct_vect_14.c 2018-01-13 17:57:37.498470777 +0000 +++ gcc/testsuite/gcc.target/aarch64/sve/struct_vect_14.c 2018-01-26 14:09:27.093932517 +0000 @@ -1,25 +1,25 @@ /* { dg-do assemble { target aarch64_asm_sve_ok } } */ /* { dg-options "-O2 -ftree-vectorize -msve-vector-bits=256 --save-temps" } */ -#define TYPE unsigned char +#define TYPE uint8_t #define NAME(X) qi_##X #include "struct_vect_1.c" #undef NAME #undef TYPE -#define TYPE unsigned short +#define TYPE uint16_t #define NAME(X) hi_##X #include "struct_vect_1.c" #undef NAME #undef TYPE -#define TYPE unsigned int +#define TYPE uint32_t #define NAME(X) si_##X #include "struct_vect_1.c" #undef NAME #undef TYPE -#define TYPE unsigned long +#define TYPE uint64_t #define NAME(X) di_##X #include "struct_vect_1.c" #undef NAME Index: gcc/testsuite/gcc.target/aarch64/sve/struct_vect_18.c =================================================================== --- gcc/testsuite/gcc.target/aarch64/sve/struct_vect_18.c 2018-01-13 18:00:34.396686517 +0000 +++ gcc/testsuite/gcc.target/aarch64/sve/struct_vect_18.c 2018-01-26 14:09:27.093932517 +0000 @@ -1,6 +1,8 @@ /* { dg-do compile } */ /* { dg-options "-O2 -ftree-vectorize" } */ +#include + #define N 2000 #define TEST_LOOP(NAME, TYPE) \ @@ -12,8 +14,8 @@ #define TEST_LOOP(NAME, TYPE) \ } #define TEST(NAME) \ - TEST_LOOP (NAME##_i8, signed char) \ - TEST_LOOP (NAME##_i16, unsigned short) \ + TEST_LOOP (NAME##_i8, int8_t) \ + TEST_LOOP (NAME##_i16, uint16_t) \ TEST_LOOP (NAME##_f32, float) \ TEST_LOOP (NAME##_f64, double) Index: gcc/testsuite/gcc.target/aarch64/sve/struct_vect_19.c =================================================================== --- gcc/testsuite/gcc.target/aarch64/sve/struct_vect_19.c 2018-01-13 18:00:34.396686517 +0000 +++ gcc/testsuite/gcc.target/aarch64/sve/struct_vect_19.c 2018-01-26 14:09:27.093932517 +0000 @@ -1,6 +1,8 @@ /* { dg-do compile } */ /* { dg-options "-O2 -ftree-vectorize" } */ +#include + #define TEST_LOOP(NAME, TYPE) \ void __attribute__ ((noinline, noclone)) \ NAME (TYPE *restrict dest, TYPE *restrict src, int n) \ @@ -10,8 +12,8 @@ #define TEST_LOOP(NAME, TYPE) \ } #define TEST(NAME) \ - TEST_LOOP (NAME##_i8, signed char) \ - TEST_LOOP (NAME##_i16, unsigned short) \ + TEST_LOOP (NAME##_i8, int8_t) \ + TEST_LOOP (NAME##_i16, uint16_t) \ TEST_LOOP (NAME##_f32, float) \ TEST_LOOP (NAME##_f64, double) Index: gcc/testsuite/gcc.target/aarch64/sve/struct_vect_20.c =================================================================== --- gcc/testsuite/gcc.target/aarch64/sve/struct_vect_20.c 2018-01-13 18:00:34.396686517 +0000 +++ gcc/testsuite/gcc.target/aarch64/sve/struct_vect_20.c 2018-01-26 14:09:27.094932474 +0000 @@ -1,6 +1,8 @@ /* { dg-do compile } */ /* { dg-options "-O2 -ftree-vectorize" } */ +#include + #define N 2000 #define TEST_LOOP(NAME, TYPE) \ @@ -12,8 +14,8 @@ #define TEST_LOOP(NAME, TYPE) \ } #define TEST(NAME) \ - TEST_LOOP (NAME##_i8, signed char) \ - TEST_LOOP (NAME##_i16, unsigned short) \ + TEST_LOOP (NAME##_i8, int8_t) \ + TEST_LOOP (NAME##_i16, uint16_t) \ TEST_LOOP (NAME##_f32, float) \ TEST_LOOP (NAME##_f64, double) Index: gcc/testsuite/gcc.target/aarch64/sve/struct_vect_21.c =================================================================== --- gcc/testsuite/gcc.target/aarch64/sve/struct_vect_21.c 2018-01-13 18:00:34.396686517 +0000 +++ gcc/testsuite/gcc.target/aarch64/sve/struct_vect_21.c 2018-01-26 14:09:27.094932474 +0000 @@ -1,6 +1,8 @@ /* { dg-do compile } */ /* { dg-options "-O2 -ftree-vectorize" } */ +#include + #define TEST_LOOP(NAME, TYPE) \ void __attribute__ ((noinline, noclone)) \ NAME (TYPE *restrict dest, TYPE *restrict src, int n) \ @@ -10,8 +12,8 @@ #define TEST_LOOP(NAME, TYPE) \ } #define TEST(NAME) \ - TEST_LOOP (NAME##_i8, signed char) \ - TEST_LOOP (NAME##_i16, unsigned short) \ + TEST_LOOP (NAME##_i8, int8_t) \ + TEST_LOOP (NAME##_i16, uint16_t) \ TEST_LOOP (NAME##_f32, float) \ TEST_LOOP (NAME##_f64, double) Index: gcc/testsuite/gcc.target/aarch64/sve/struct_vect_22.c =================================================================== --- gcc/testsuite/gcc.target/aarch64/sve/struct_vect_22.c 2018-01-13 18:00:34.397686480 +0000 +++ gcc/testsuite/gcc.target/aarch64/sve/struct_vect_22.c 2018-01-26 14:09:27.094932474 +0000 @@ -1,6 +1,8 @@ /* { dg-do compile } */ /* { dg-options "-O2 -ftree-vectorize" } */ +#include + #define N 2000 #define TEST_LOOP(NAME, TYPE) \ @@ -12,8 +14,8 @@ #define TEST_LOOP(NAME, TYPE) \ } #define TEST(NAME) \ - TEST_LOOP (NAME##_i8, signed char) \ - TEST_LOOP (NAME##_i16, unsigned short) \ + TEST_LOOP (NAME##_i8, int8_t) \ + TEST_LOOP (NAME##_i16, uint16_t) \ TEST_LOOP (NAME##_f32, float) \ TEST_LOOP (NAME##_f64, double) Index: gcc/testsuite/gcc.target/aarch64/sve/struct_vect_23.c =================================================================== --- gcc/testsuite/gcc.target/aarch64/sve/struct_vect_23.c 2018-01-13 18:00:34.397686480 +0000 +++ gcc/testsuite/gcc.target/aarch64/sve/struct_vect_23.c 2018-01-26 14:09:27.094932474 +0000 @@ -1,6 +1,8 @@ /* { dg-do compile } */ /* { dg-options "-O2 -ftree-vectorize" } */ +#include + #define TEST_LOOP(NAME, TYPE) \ void __attribute__ ((noinline, noclone)) \ NAME (TYPE *restrict dest, TYPE *restrict src, int n) \ @@ -10,8 +12,8 @@ #define TEST_LOOP(NAME, TYPE) \ } #define TEST(NAME) \ - TEST_LOOP (NAME##_i8, signed char) \ - TEST_LOOP (NAME##_i16, unsigned short) \ + TEST_LOOP (NAME##_i8, int8_t) \ + TEST_LOOP (NAME##_i16, uint16_t) \ TEST_LOOP (NAME##_f32, float) \ TEST_LOOP (NAME##_f64, double) Index: gcc/testsuite/gcc.target/aarch64/sve/popcount_1.c =================================================================== --- gcc/testsuite/gcc.target/aarch64/sve/popcount_1.c 2018-01-13 17:54:52.932269861 +0000 +++ gcc/testsuite/gcc.target/aarch64/sve/popcount_1.c 2018-01-26 14:09:27.092932560 +0000 @@ -14,7 +14,7 @@ void __attribute__ ((noinline, noclone)) popcount_64 (unsigned int *restrict dst, uint64_t *restrict src, int size) { for (int i = 0; i < size; ++i) - dst[i] = __builtin_popcountl (src[i]); + dst[i] = __builtin_popcountll (src[i]); } /* { dg-final { scan-assembler-times {\tcnt\tz[0-9]+\.s, p[0-7]/m, z[0-9]+\.s\n} 1 } } */