From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 7923) id BD7BC3858CDA; Wed, 24 Jan 2024 01:19:27 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org BD7BC3858CDA DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1706059167; bh=/71lQCBkPfo2Y6dZO1B+4+3f+JJIBnhNJPwWDudISwk=; h=From:To:Subject:Date:From; b=UiT/OREaS6bnlliIhBMKTcEhNb6xmPvFabdNg5oWyeHBYSl/emYJGbD4xTmIN7kIX cnflzd/oCWMcIa3Fov5CBlPawzrZrMdpnOA9oTW4kRsnO2qzrPq1IFTWFSX2cfvpNQ fGfWSYqoKM9JRclQmsKW/dXvtKHZGOTsRYh1fX9E= MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="utf-8" From: Patrick O'Neill To: gcc-cvs@gcc.gnu.org Subject: [gcc r14-8379] RISC-V: Add regression test for vsetvl bug pr113429 X-Act-Checkin: gcc X-Git-Author: Patrick O'Neill X-Git-Refname: refs/heads/master X-Git-Oldrev: 3132d2d36b4705bb762e61b1c8ca4da7c78a8321 X-Git-Newrev: 7f7d9c525c694e36ae525ed93ccd5b6ffad0f1d8 Message-Id: <20240124011927.BD7BC3858CDA@sourceware.org> Date: Wed, 24 Jan 2024 01:19:27 +0000 (GMT) List-Id: https://gcc.gnu.org/g:7f7d9c525c694e36ae525ed93ccd5b6ffad0f1d8 commit r14-8379-g7f7d9c525c694e36ae525ed93ccd5b6ffad0f1d8 Author: Patrick O'Neill Date: Tue Jan 23 16:36:53 2024 -0800 RISC-V: Add regression test for vsetvl bug pr113429 The reduced testcase for pr113429 (cam4 failure) needed additional modules so it wasn't committed. The fuzzer found a c testcase that was also fixed with pr113429's fix. Adding it as a regression test. PR target/113429 gcc/testsuite/ChangeLog: * gcc.target/riscv/rvv/vsetvl/pr113429.c: New test. Signed-off-by: Patrick O'Neill Diff: --- .../gcc.target/riscv/rvv/vsetvl/pr113429.c | 70 ++++++++++++++++++++++ 1 file changed, 70 insertions(+) diff --git a/gcc/testsuite/gcc.target/riscv/rvv/vsetvl/pr113429.c b/gcc/testsuite/gcc.target/riscv/rvv/vsetvl/pr113429.c new file mode 100644 index 00000000000..05c3eeecb94 --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/rvv/vsetvl/pr113429.c @@ -0,0 +1,70 @@ +/* { dg-do run } */ +/* { dg-options "-march=rv64gcv_zvl256b -mabi=lp64d -O3" } */ + +long a; +int b, c, d, e, f, g; +short h, i, j; +static int k = 3; +static int l = 6; +int m[5][7]; +signed char n; +int *const o = &c; + +signed char(p)(signed char p1, signed char q) { + return p1 / q; +} + +void s(unsigned p1) { + b = (b ^ p1) & 255; +} + +static long t() { + long u; + signed char v; + d = 1; + for (; d <= 4; d++) { + j = 0; + for (; j <= 4; j++) { + v = 0; + for (; v <= 4; v++) { + if (m[v][v]) + continue; + c = 0; + for (; c <= 4; c++) { + n = 0; + for (; n <= 4; n++) { + int *w = &e; + long r = v; + u = r == 0 ? a : a % r; + h |= u; + *w = g; + --m[n][c]; + f &= *o; + } + } + if (p((i < 3) ^ 9, k)) + ; + else if (v) + return 0; + } + } + } + return 1; +} + +static char x() { + for (;;) { + t(); + if (l) + return 0; + } +} + +int main() { + x(); + s(e & 255); + if (b == 0) + return 0; + else + return 1; +}