Fix x86 interrupt tests for -fpic and -march=corei7
authorJulia Koval <julia.koval@intel.com>
Thu, 9 Jun 2016 18:31:35 +0000 (20:31 +0200)
committerH.J. Lu <hjl@gcc.gnu.org>
Thu, 9 Jun 2016 18:31:35 +0000 (11:31 -0700)
2016-06-09  Julia Koval  <julia.koval@intel.com>

* gcc.target/i386/interrupt-12.c: Fix test for -fpic and corei7.
* gcc.target/i386/interrupt-13.c: Likewise.
* gcc.target/i386/interrupt-15.c: Likewise.
* gcc.target/i386/interrupt-14.c: Fix test for -fpic.
* gcc.target/i386/interrupt-24.c: Likewise.
* gcc.target/i386/interrupt-3.c: Fix test for corei7.
* gcc.target/i386/interrupt-9.c: Likewise.
* gcc.target/i386/interrupt-redzone-2.c: Likewise.

From-SVN: r237272

gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/i386/interrupt-12.c
gcc/testsuite/gcc.target/i386/interrupt-13.c
gcc/testsuite/gcc.target/i386/interrupt-14.c
gcc/testsuite/gcc.target/i386/interrupt-15.c
gcc/testsuite/gcc.target/i386/interrupt-24.c
gcc/testsuite/gcc.target/i386/interrupt-3.c
gcc/testsuite/gcc.target/i386/interrupt-9.c
gcc/testsuite/gcc.target/i386/interrupt-redzone-2.c

index 9ae6294a1ce2d330e00a7950446f461061e84357..d2f9a702c4b393c37606a0e95f7d05d2ba45420f 100644 (file)
@@ -1,3 +1,14 @@
+2016-06-09  Julia Koval  <julia.koval@intel.com>
+
+       * gcc.target/i386/interrupt-12.c: Fix test for -fpic and corei7.
+       * gcc.target/i386/interrupt-13.c: Likewise.
+       * gcc.target/i386/interrupt-15.c: Likewise.
+       * gcc.target/i386/interrupt-14.c: Fix test for -fpic.
+       * gcc.target/i386/interrupt-24.c: Likewise.
+       * gcc.target/i386/interrupt-3.c: Fix test for corei7.
+       * gcc.target/i386/interrupt-9.c: Likewise.
+       * gcc.target/i386/interrupt-redzone-2.c: Likewise.
+
 2016-06-09  Martin Sebor  <msebor@redhat.com>
 
        PR c/70883
index b04de5fa75d8cee10cdd2ed4385f6f8047cde46a..23780050d7676c86178dea30f9843efd1b6795d0 100644 (file)
@@ -15,16 +15,16 @@ fn1 (void *frame, uword_t error)
 /* { dg-final { scan-assembler-not "(push|pop)(l|q)\[\\t \]*%(r|e)(b|c|d)x" } } */
 /* { dg-final { scan-assembler-not "(push|pop)(l|q)\[\\t \]*%(r|e)si" } } */
 /* { dg-final { scan-assembler-not "(push|pop)l\[\\t \]*%edi" { target ia32 } } } */
-/* { dg-final { scan-assembler-not "(push|pop)q\[\\t \]*%rax" { target { ! ia32 } } } } */
+/* { dg-final { scan-assembler-not "(push|pop)q\[\\t \]*%rax" { target { { ! ia32 } &&  nonpic } } } } */
 /* { dg-final { scan-assembler-not "(push|pop)q\[\\t \]*%r\[0-9\]+" { target { ! ia32 } } } } */
 /* { dg-final { scan-assembler-times "push(?:l|q)\[\\t \]*%(?:r|e)bp" 1 } } */
-/* { dg-final { scan-assembler-times "leave" 1 } } */
+/* { dg-final { scan-assembler-times "leave" 1 { target nonpic } } } */
 /* { dg-final { scan-assembler-times "pushl\[\\t \]*%eax" 1 { target ia32 } } } */
 /* { dg-final { scan-assembler-times "movl\[\\t \]*-4\\(%ebp\\),\[\\t \]*%eax" 1 { target ia32 } } } */
 /* { dg-final { scan-assembler-times "pushq\[\\t \]*%rdi" 1 { target { ! ia32 } } } } */
-/* { dg-final { scan-assembler-times "movq\[\\t \]*-8\\(%(?:r|e)bp\\),\[\\t \]*%rdi" 1 { target { ! ia32 } } } } */
-/* { dg-final { scan-assembler-times "addl\[\\t \]*\\\$4,\[\\t \]*%esp" 1 { target ia32 } } } */
-/* { dg-final { scan-assembler-times "add(?:l|q)\[\\t \]*\\\$8,\[\\t \]*%\[re\]?sp" 1 { target { ! ia32 } } } } */
+/* { dg-final { scan-assembler-times "movq\[\\t \]*-8\\(%(?:r|e)bp\\),\[\\t \]*%rdi" 1 { target { { ! ia32 } && nonpic } } } } */
+/* { dg-final { scan-assembler "(addl|leal).*4.*%esp" { target ia32 } } } */
+/* { dg-final { scan-assembler "(add|lea)(?:l|q)\[\\t \]*\\\$?8.*,\[\\t \]*%\[re\]?sp" { target { ! ia32 } } } } */
 /* { dg-final { scan-assembler-times "iret" 1 { target ia32 } } } */
 /* { dg-final { scan-assembler-times "iretq" 1 { target { ! ia32 } } } } */
 /* { dg-final { scan-assembler-times "\tcld" 1 } } */
index 018602fd0137be563fe034d2f9d68190a2f98628..378145ec672a1e25903a617bd22a43c084993237 100644 (file)
@@ -15,16 +15,16 @@ fn1 (void *frame, uword_t error)
 /* { dg-final { scan-assembler-not "(push|pop)(l|q)\[\\t \]*%(r|e)(b|c|d)x" } } */
 /* { dg-final { scan-assembler-not "(push|pop)(l|q)\[\\t \]*%(r|e)si" } } */
 /* { dg-final { scan-assembler-not "(push|pop)l\[\\t \]*%edi" { target ia32 } } } */
-/* { dg-final { scan-assembler-not "(push|pop)q\[\\t \]*%rax" { target { ! ia32 } } } } */
+/* { dg-final { scan-assembler-not "(push|pop)q\[\\t \]*%rax" { target { { ! ia32 } && nonpic } } } } */
 /* { dg-final { scan-assembler-not "(push|pop)q\[\\t \]*%r\[0-9\]+" { target { ! ia32 } } } } */
 /* { dg-final { scan-assembler-times "push(?:l|q)\[\\t \]*%(?:r|e)bp" 1 } } */
-/* { dg-final { scan-assembler-times "leave" 1 } } */
+/* { dg-final { scan-assembler-times "leave" 1 { target nonpic } } } */
 /* { dg-final { scan-assembler-times "pushl\[\\t \]*%eax" 1 { target ia32 } } } */
 /* { dg-final { scan-assembler-times "movl\[\\t \]*-4\\(%ebp\\),\[\\t \]*%eax" 1 { target ia32 } } } */
 /* { dg-final { scan-assembler-times "pushq\[\\t \]*%rdi" 1 { target { ! ia32 } } } } */
-/* { dg-final { scan-assembler-times "movq\[\\t \]*-8\\(%(?:r|e)bp\\),\[\\t \]*%rdi" 1 { target { ! ia32 } } } } */
-/* { dg-final { scan-assembler-times "addl\[\\t \]*\\\$4,\[\\t \]*%esp" 1 { target ia32 } } } */
-/* { dg-final { scan-assembler-times "add(?:l|q)\[\\t \]*\\\$8,\[\\t \]*%\[re\]?sp" 1 { target { ! ia32 } } } } */
+/* { dg-final { scan-assembler-times "movq\[\\t \]*-8\\(%(?:r|e)bp\\),\[\\t \]*%rdi" 1 { target { { ! ia32 } && nonpic } } } } */
+/* { dg-final { scan-assembler "(addl|leal).*4.*%esp" { target ia32 } } } */
+/* { dg-final { scan-assembler "(add|lea)(?:l|q)\[\\t \]*\\\$?8.*,\[\\t \]*%\[re\]?sp" { target { ! ia32 } } } } */
 /* { dg-final { scan-assembler-times "iret" 1 { target ia32 } } } */
 /* { dg-final { scan-assembler-times "iretq" 1 { target { ! ia32 } } } } */
 /* { dg-final { scan-assembler-times "\tcld" 1 } } */
index 6ed2cf2e42a80281445caaa4b561b7b4aa397b93..f574f4fafac4d6946b15dc17bf12370b1b420d72 100644 (file)
@@ -18,7 +18,7 @@ fn2 (void *frame)
 }
 
 /* { dg-final { scan-assembler-not "movups\[\\t .\]*%(x|y|z)mm\[0-9\]+" } } */
-/* { dg-final { scan-assembler-not "(push|pop)(l|q)\[\\t \]*%(r|e)(a|b|c|d)x" } } */
+/* { dg-final { scan-assembler-not "(push|pop)(l|q)\[\\t \]*%(r|e)(a|b|c|d)x" { target nonpic } } } */
 /* { dg-final { scan-assembler-not "(push|pop)l\[\\t \]*%edi" { target ia32 } } } */
 /* { dg-final { scan-assembler-not "(push|pop)(l|q)\[\\t \]*%(r|e)si" } } */
 /* { dg-final { scan-assembler-not "(push|pop)q\[\\t \]*%r\[8-9\]+" { target { ! ia32 } } } } */
@@ -26,7 +26,7 @@ fn2 (void *frame)
 /* { dg-final { scan-assembler-times "push(?:l|q)\[\\t \]*%(?:r|e)bp" 2 } } */
 /* { dg-final { scan-assembler-times "leave" 2 { target ia32 } } } */
 /* { dg-final { scan-assembler-times "pushq\[\\t \]*%rdi" 2 { target { ! ia32 } } } } */
-/* { dg-final { scan-assembler-times "movq\[\\t \]*-8\\(%(?:r|e)bp\\),\[\\t \]*%rdi" 2 { target { ! ia32 } } } } */
+/* { dg-final { scan-assembler-times "movq\[\\t \]*-8\\(%(?:r|e)bp\\),\[\\t \]*%rdi" 2 { target { { ! ia32 } && nonpic } } } } */
 /* { dg-final { scan-assembler-times "iret" 2 { target ia32 } } } */
 /* { dg-final { scan-assembler-times "iretq" 2 { target { ! ia32 } } } } */
 /* { dg-final { scan-assembler-times "\tcld" 2 } } */
index 9b53abee6522c8691066a29204a238c51c1fc217..701ab2f4d33fc41ff7bb7f646727cb9603c7e2cf 100644 (file)
@@ -22,16 +22,16 @@ fn2 (void *frame, uword_t error)
 /* { dg-final { scan-assembler-not "(push|pop)(l|q)\[\\t \]*%(r|e)(b|c|d)x" } } */
 /* { dg-final { scan-assembler-not "(push|pop)(l|q)\[\\t \]*%(r|e)si" } } */
 /* { dg-final { scan-assembler-not "(push|pop)l\[\\t \]*%edi" { target ia32 } } } */
-/* { dg-final { scan-assembler-not "(push|pop)q\[\\t \]*%rax" { target { ! ia32 } } } } */
+/* { dg-final { scan-assembler-not "(push|pop)q\[\\t \]*%rax" { target { { ! ia32 } && nonpic } } } } */
 /* { dg-final { scan-assembler-not "(push|pop)q\[\\t \]*%r\[0-9\]+" { target { ! ia32 } } } } */
 /* { dg-final { scan-assembler-times "push(?:l|q)\[\\t \]*%(?:r|e)bp" 2 } } */
-/* { dg-final { scan-assembler-times "leave" 2 } } */
+/* { dg-final { scan-assembler-times "leave" 2 { target nonpic } } } */
 /* { dg-final { scan-assembler-times "pushl\[\\t \]*%eax" 2 { target ia32 } } } */
 /* { dg-final { scan-assembler-times "movl\[\\t \]*-4\\(%ebp\\),\[\\t \]*%eax" 2 { target ia32 } } } */
 /* { dg-final { scan-assembler-times "pushq\[\\t \]*%rdi" 2 { target { ! ia32 } } } } */
-/* { dg-final { scan-assembler-times "movq\[\\t \]*-8\\(%(?:r|e)bp\\),\[\\t \]*%rdi" 2 { target { ! ia32 } } } } */
-/* { dg-final { scan-assembler-times "addl\[\\t \]*\\\$4,\[\\t \]*%esp" 2 { target ia32 } } } */
-/* { dg-final { scan-assembler-times "add(?:l|q)\[\\t \]*\\\$8,\[\\t \]*%\[re\]?sp" 2 { target { ! ia32 } } } } */
+/* { dg-final { scan-assembler-times "movq\[\\t \]*-8\\(%(?:r|e)bp\\),\[\\t \]*%rdi" 2 { target { { ! ia32 } && nonpic } } } } */
+/* { dg-final { scan-assembler "(addl|leal).*4.*%esp" { target ia32 } } } */
+/* { dg-final { scan-assembler "(add|lea)(?:l|q)\[\\t \]*\\\$?8.*,\[\\t \]*%\[re\]?sp" { target { ! ia32 } } } } */
 /* { dg-final { scan-assembler-times "iret" 2 { target ia32 } } } */
 /* { dg-final { scan-assembler-times "iretq" 2 { target { ! ia32 } } } } */
 /* { dg-final { scan-assembler-times "\tcld" 2 } } */
index 0b95660128e663542f808d41c93759aebff94198..f7ec9da3f2b8224db09d596e66ad8b37df0548ec 100644 (file)
@@ -13,7 +13,7 @@ foo (int i0, int i1, int i2, int i3, int i4, int i5, int i6,
 }
 
 /* { dg-final { scan-assembler-not "movups\[\\t \]*%(x|y|z)mm\[0-9\]+" } } */
-/* { dg-final { scan-assembler-not "(push|pop)(l|q)\[\\t \]*%(r|e)(a|b|c|d)x" } } */
+/* { dg-final { scan-assembler-not "(push|pop)(l|q)\[\\t \]*%(r|e)(a|b|c|d)x" { target nonpic } } } */
 /* { dg-final { scan-assembler-not "(push|pop)(l|q)\[\\t \]*%(r|e)(d|s)i" } } */
 /* { dg-final { scan-assembler-not "(push|pop)(l|q)\[\\t \]*%(r|e)bp" } } */
 /* { dg-final { scan-assembler-not "(push|pop)q\[\\t \]*%r\[0-9\]+" { target { ! ia32 } } } } */
index ec7dc71cfbc5ffc9f41c73f9639776d3f0776897..6b53e1347e38ea15d0ea7065249871f9890f01b2 100644 (file)
@@ -9,8 +9,8 @@ fn (void* frame, uword_t error)
 {
 }
 
-/* { dg-final { scan-assembler-times "add(?:l|q)\[\\t \]*\\\$8,\[\\t \]*%\[re\]?sp" 1 { target { ! ia32 } } } } */
-/* { dg-final { scan-assembler-times "addl\[\\t \]*\\\$4,\[\\t \]*%esp" 1 { target ia32 } } } */
+/* { dg-final { scan-assembler "(add|lea)(?:l|q)\[\\t \]*\\\$?8.*,\[\\t \]*%\[re\]?sp" { target { ! ia32 } } } } */
+/* { dg-final { scan-assembler "(addl|leal).*4.*%esp" { target ia32 } } } */
 /* { dg-final { scan-assembler-times "iret" 1 { target ia32 } } } */
 /* { dg-final { scan-assembler-times "iretq" 1 { target { ! ia32 } } } } */
 /* { dg-final { scan-assembler-not "\tcld" } } */
index 490fb9c423bc91349511e38078e196e55318098c..2a297b25f5e872ff718332441c3c840638000d90 100644 (file)
@@ -15,8 +15,8 @@ foo (void *frame, uword_t error_code)
 }
 
 /* { dg-final { scan-assembler-times "and\[lq\]?\[^\\n\]*-64,\[^\\n\]*sp" 1 } } */
-/* { dg-final { scan-assembler-times "add(?:l|q)\[\\t \]*\\\$8,\[\\t \]*%\[re\]?sp" 1 { target { ! ia32 } } } } */
-/* { dg-final { scan-assembler-times "addl\[\\t \]*\\\$4,\[\\t \]*%esp" 1 { target ia32 } } } */
+/* { dg-final { scan-assembler "(add|lea)(?:l|q)\[\\t \]*\\\$?8.*,\[\\t \]*%\[re\]?sp" { target { ! ia32 } } } } */
+/* { dg-final { scan-assembler "(addl|leal).*4.*%esp" { target ia32 } } } */
 /* { dg-final { scan-assembler-times "iret" 1 { target ia32 } } } */
 /* { dg-final { scan-assembler-times "iretq" 1 { target { ! ia32 } } } } */
 /* { dg-final { scan-assembler-times "\tcld" 1 } } */
index a3fa776e2db36b5915ffec5cadcea4bb6cd612d7..2577f43c91681217d71961bf500d3beb1dfe94a0 100644 (file)
@@ -29,5 +29,5 @@ fn (void *frame)
         "=m" (i12), "=m" (i13), "=m" (c));
 }
 
-/* { dg-final { scan-assembler-times "(?:sub|add)(?:l|q)\[\\t \]*\\\$\[0-9\]*,\[\\t \]*%\[re\]?sp" 2 } } */
+/* { dg-final { scan-assembler "(?:sub|add|lea)(?:l|q)\[\\t \]*.*\\\$?\[0-9\]*.*,\[\\t \]*%\[re\]?sp" } } */
 /* { dg-final { scan-assembler-not "\tcld" } } */