diff options
Diffstat (limited to 'gcc/testsuite/gcc.target/i386/pr53315.c')
-rw-r--r-- | gcc/testsuite/gcc.target/i386/pr53315.c | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.target/i386/pr53315.c b/gcc/testsuite/gcc.target/i386/pr53315.c new file mode 100644 index 00000000000..350efa72466 --- /dev/null +++ b/gcc/testsuite/gcc.target/i386/pr53315.c @@ -0,0 +1,27 @@ +/* PR target/53315 and PR target/53291 */ +/* { dg-do run } */ +/* { dg-options "-O2 -mrtm" } */ +/* { dg-require-effective-target rtm } */ + +#include <x86intrin.h> +#include "rtm-check.h" + +static void +rtm_test (void) +{ + int flag = -1; + unsigned status; + + if ((status = _xbegin ()) == _XBEGIN_STARTED) + { + flag = _xtest (); + _xend (); + } + else + return; + + if (flag != 1) + abort (); + if (_xtest () != 0) + abort (); +} |