backport: re PR target/68416 ([MPX] GCC emits a lot of redundant bndmov instructions)

gcc/

	Backport from mainline r230938.
	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/

	Backport from mainline r230938.
	2015-11-26  Ilya Enkovich  <enkovich.gnu@gmail.com>

	PR target/68416
	* gcc.target/i386/mpx/pr68416.c: New test.

From-SVN: r230945
This commit is contained in:
Ilya Enkovich 2015-11-26 12:28:57 +00:00 committed by Ilya Enkovich
parent c536efcb77
commit 35a7afe1ac
4 changed files with 27 additions and 1 deletions

View File

@ -1,3 +1,12 @@
2015-11-26 Ilya Enkovich <enkovich.gnu@gmail.com>
Backport from mainline r230938.
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 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
Backport from mainline

View File

@ -1429,7 +1429,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:

View File

@ -1,3 +1,11 @@
2015-11-26 Ilya Enkovich <enkovich.gnu@gmail.com>
Backport from mainline r230938.
2015-11-26 Ilya Enkovich <enkovich.gnu@gmail.com>
PR target/68416
* gcc.target/i386/mpx/pr68416.c: New test.
2015-11-26 Jakub Jelinek <jakub@redhat.com>
PR rtl-optimization/68249

View File

@ -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];
}