From a0d169d17a275c66e6e59d843097aa1a9a87d918 Mon Sep 17 00:00:00 2001 From: Andrew Pinski Date: Sun, 8 Dec 2019 21:59:25 +0000 Subject: [PATCH] New bswap testcase. 2019-12-08 Andrew Pinski * gcc.c-torture/execute/bswap-3.c: New test. From-SVN: r279100 --- gcc/testsuite/ChangeLog | 4 +++ gcc/testsuite/gcc.c-torture/execute/bswap-3.c | 25 +++++++++++++++++++ 2 files changed, 29 insertions(+) create mode 100644 gcc/testsuite/gcc.c-torture/execute/bswap-3.c diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 3516d8dac73..d069d0ca2c3 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2019-12-08 Andrew Pinski + + * gcc.c-torture/execute/bswap-3.c: New test. + 2019-12-08 Sandra Loosemore Revert: diff --git a/gcc/testsuite/gcc.c-torture/execute/bswap-3.c b/gcc/testsuite/gcc.c-torture/execute/bswap-3.c new file mode 100644 index 00000000000..633711ec3a8 --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/execute/bswap-3.c @@ -0,0 +1,25 @@ +/* { dg-require-effective-target int32plus } */ + +int f(unsigned int a) __attribute__((noipa)); +int f(unsigned int a) +{ + return ((__builtin_bswap32(a))>>24) & 0x3; +} + + +int g(unsigned int a) __attribute__((noipa)); +int g(unsigned int a) +{ + return a&0x3; +} + +int main(void) +{ + for (int b = 0; b <= 0xF; b++) + { + if (f(b) != g(b)) + __builtin_abort (); + } + return 0; +} + -- 2.30.2