diff options
author | Uros Bizjak <ubizjak@gmail.com> | 2024-07-30 20:02:36 +0200 |
---|---|---|
committer | Uros Bizjak <ubizjak@gmail.com> | 2024-07-30 20:03:25 +0200 |
commit | 8b737ec289da83e9e2a9672be0336980616e8932 (patch) | |
tree | 386546229907738a728bb6684c6d58ed45a41285 | |
parent | 7ef8a9d4b1cea3fea3791859074df79b71abd549 (diff) | |
download | gcc-8b737ec289da83e9e2a9672be0336980616e8932.zip gcc-8b737ec289da83e9e2a9672be0336980616e8932.tar.gz gcc-8b737ec289da83e9e2a9672be0336980616e8932.tar.bz2 |
i386/testsuite: Add testcase for fixed PR [PR51492]
PR target/51492
gcc/testsuite/ChangeLog:
* gcc.target/i386/pr51492.c: New test.
-rw-r--r-- | gcc/testsuite/gcc.target/i386/pr51492.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.target/i386/pr51492.c b/gcc/testsuite/gcc.target/i386/pr51492.c new file mode 100644 index 0000000..0892e0c --- /dev/null +++ b/gcc/testsuite/gcc.target/i386/pr51492.c @@ -0,0 +1,19 @@ +/* PR target/51492 */ +/* { dg-do compile } */ +/* { dg-options "-O2 -ftree-vectorize -msse2" } */ + +#define SIZE 65536 +#define WSIZE 64 +unsigned short head[SIZE] __attribute__((aligned(64))); + +void +f(void) +{ + for (unsigned n = 0; n < SIZE; ++n) { + unsigned short m = head[n]; + head[n] = (unsigned short)(m >= WSIZE ? m-WSIZE : 0); + } +} + +/* { dg-final { scan-assembler "psubusw" } } */ +/* { dg-final { scan-assembler-not "paddw" } } */ |