diff options
author | Andrew Pinski <apinski@marvell.com> | 2019-12-16 03:43:19 +0000 |
---|---|---|
committer | Andrew Pinski <pinskia@gcc.gnu.org> | 2019-12-15 19:43:19 -0800 |
commit | 438fbf630358e113747c77b5be64fc3c1321d12a (patch) | |
tree | 3c3518b08e2149af6caf84a307a3544fa6e0ba2c /gcc | |
parent | 0f1374e98b0003ed48a011a1b5629f81dd13b832 (diff) | |
download | gcc-438fbf630358e113747c77b5be64fc3c1321d12a.zip gcc-438fbf630358e113747c77b5be64fc3c1321d12a.tar.gz gcc-438fbf630358e113747c77b5be64fc3c1321d12a.tar.bz2 |
Add a couple int128_t bit-field testcases.
2019-12-15 Andrew Pinski <apinski@marvell.com>
* gcc.c-torture/compile/bitfield-1.c: New test.
* gcc.c-torture/compile/bitfield-endian-1.c: New test.
* gcc.c-torture/compile/bitfield-endian-2.c: New test.
From-SVN: r279409
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/testsuite/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/testsuite/gcc.c-torture/compile/bitfield-1.c | 13 | ||||
-rw-r--r-- | gcc/testsuite/gcc.c-torture/compile/bitfield-endian-1.c | 15 | ||||
-rw-r--r-- | gcc/testsuite/gcc.c-torture/compile/bitfield-endian-2.c | 15 |
4 files changed, 49 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index da0d3ab..591f152 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,9 @@ +2019-12-15 Andrew Pinski <apinski@marvell.com> + + * gcc.c-torture/compile/bitfield-1.c: New test. + * gcc.c-torture/compile/bitfield-endian-1.c: New test. + * gcc.c-torture/compile/bitfield-endian-2.c: New test. + 2019-12-14 Jakub Jelinek <jakub@redhat.com> PR tree-optimization/92930 diff --git a/gcc/testsuite/gcc.c-torture/compile/bitfield-1.c b/gcc/testsuite/gcc.c-torture/compile/bitfield-1.c new file mode 100644 index 0000000..0d5a82c --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/compile/bitfield-1.c @@ -0,0 +1,13 @@ +/* { dg-require-effective-target int128 } */ + +struct f +{ + __uint128_t t:124; + __uint128_t t1:4; +}; + +struct f g(void) +{ + struct f t = {1, 2}; + return t; +} diff --git a/gcc/testsuite/gcc.c-torture/compile/bitfield-endian-1.c b/gcc/testsuite/gcc.c-torture/compile/bitfield-endian-1.c new file mode 100644 index 0000000..90920c9 --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/compile/bitfield-endian-1.c @@ -0,0 +1,15 @@ +/* { dg-require-effective-target int128 } */ + +#define ENDIAN __attribute((scalar_storage_order ("big-endian"))) + +typedef struct ENDIAN +{ + __uint128_t t:124; + __uint128_t t1:4; +}f; + +f g(void) +{ + f t = {1, 2}; + return t; +} diff --git a/gcc/testsuite/gcc.c-torture/compile/bitfield-endian-2.c b/gcc/testsuite/gcc.c-torture/compile/bitfield-endian-2.c new file mode 100644 index 0000000..7644f71 --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/compile/bitfield-endian-2.c @@ -0,0 +1,15 @@ +/* { dg-require-effective-target int128 } */ + +#define ENDIAN __attribute((scalar_storage_order ("little-endian"))) + +typedef struct ENDIAN +{ + __uint128_t t:124; + __uint128_t t1:4; +}f; + +f g(void) +{ + f t = {1, 2}; + return t; +} |