aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIlya Enkovich <ienkovich@gcc.gnu.org>2015-11-26 11:49:20 +0000
committerIlya Enkovich <ienkovich@gcc.gnu.org>2015-11-26 11:49:20 +0000
commitd0470103a9e3432d0ed1a726369b8311631dcfe1 (patch)
tree2674ff0830fbd1056a2266d5368fc51c4a6f29aa
parent182a9973035b6a6c40a28320e19bbf13c6e19fd8 (diff)
downloadgcc-d0470103a9e3432d0ed1a726369b8311631dcfe1.zip
gcc-d0470103a9e3432d0ed1a726369b8311631dcfe1.tar.gz
gcc-d0470103a9e3432d0ed1a726369b8311631dcfe1.tar.bz2
re PR target/68416 ([MPX] GCC emits a lot of redundant bndmov instructions)
gcc/ 2015-11-26 Vladimir Makarov <vmakarov@redhat.com> PR target/68416 * config/i386/i386.h (enum reg_class): Add bounds registers to ALL_REGS. gcc/testsuite/ 2015-11-26 Ilya Enkovich <enkovich.gnu@gmail.com> PR target/68416 * gcc.target/i386/mpx/pr68416.c: New test. From-SVN: r230938
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/i386/i386.h2
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gcc.target/i386/mpx/pr68416.c9
4 files changed, 21 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index c021524..55c8820 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2015-11-26 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR target/68416
+ * config/i386/i386.h (enum reg_class): Add
+ bounds registers to ALL_REGS.
+
2015-11-26 Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/68128
diff --git a/gcc/config/i386/i386.h b/gcc/config/i386/i386.h
index ceda472..e69c9cc 100644
--- a/gcc/config/i386/i386.h
+++ b/gcc/config/i386/i386.h
@@ -1457,7 +1457,7 @@ enum reg_class
{ 0x1ff1ffff,0xffffffe0, 0x1f }, /* FLOAT_INT_SSE_REGS */ \
{ 0x0, 0x0, 0x1fc0 }, /* MASK_EVEX_REGS */ \
{ 0x0, 0x0, 0x1fe0 }, /* MASK_REGS */ \
-{ 0xffffffff,0xffffffff, 0x1fff } \
+{ 0xffffffff,0xffffffff,0x1ffff } \
}
/* The same information, inverted:
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 1152137..6f6cc20 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2015-11-26 Ilya Enkovich <enkovich.gnu@gmail.com>
+
+ PR target/68416
+ * gcc.target/i386/mpx/pr68416.c: New test.
+
2015-11-26 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/67313
diff --git a/gcc/testsuite/gcc.target/i386/mpx/pr68416.c b/gcc/testsuite/gcc.target/i386/mpx/pr68416.c
new file mode 100644
index 0000000..10587ed
--- /dev/null
+++ b/gcc/testsuite/gcc.target/i386/mpx/pr68416.c
@@ -0,0 +1,9 @@
+/* { dg-do compile } */
+/* { dg-options "-O2 -mmpx -fcheck-pointer-bounds" } */
+/* { dg-final { scan-assembler-not "bndmov" } } */
+
+int
+foo(int **arr, int i)
+{
+ return (*arr)[i];
+}