So I missed these testcases need fixing for ia32 case. Yes the
code generation is better now. The counts of jumps/setN is the same
as before. Just turned into a different ones in some cases where
the factoring of BIT_FIELD_REF happens.
Pushed as obvious after testing to make sure they pass now with -m32 and -m64.
gcc/testsuite/ChangeLog:
* gcc.target/i386/pr113609-1.c: Fix for ia32.
* gcc.target/i386/pr113609-2.c: Likewise.
Signed-off-by: Andrea Pinski <[email protected]>
---
gcc/testsuite/gcc.target/i386/pr113609-1.c | 5 ++---
gcc/testsuite/gcc.target/i386/pr113609-2.c | 6 ++++--
2 files changed, 6 insertions(+), 5 deletions(-)
diff --git a/gcc/testsuite/gcc.target/i386/pr113609-1.c
b/gcc/testsuite/gcc.target/i386/pr113609-1.c
index be20bbb86ee..3f8641cc5a3 100644
--- a/gcc/testsuite/gcc.target/i386/pr113609-1.c
+++ b/gcc/testsuite/gcc.target/i386/pr113609-1.c
@@ -4,12 +4,11 @@
/* { dg-final { scan-assembler-not "^cmp" } } */
/* { dg-final { scan-assembler-not "\[ \\t\]+sete" { target { ! ia32 } } } } */
/* { dg-final { scan-assembler-not "\[ \\t\]+setne" { target { ! ia32 } } } }
*/
-/* { dg-final { scan-assembler-not "\[ \\t\]+je" { target { ! ia32 } } } } */
+/* { dg-final { scan-assembler-not "\[ \\t\]+je" } } */
/* { dg-final { scan-assembler-not "\[ \\t\]+jne" { target { ! ia32 } } } } */
/* { dg-final { scan-assembler-times "\[ \\t\]+sete" 1 { target { ia32 } } } }
*/
/* { dg-final { scan-assembler-times "\[ \\t\]+setne" 1 { target { ia32 } } }
} */
-/* { dg-final { scan-assembler-times "\[ \\t\]+je" 1 { target { ia32 } } } } */
-/* { dg-final { scan-assembler-times "\[ \\t\]+jne" 1 { target { ia32 } } } }
*/
+/* { dg-final { scan-assembler-times "\[ \\t\]+jne" 2 { target { ia32 } } } }
*/
/* { dg-final { scan-assembler-times "kortest" 12 { target { ia32 } } } } */
/* { dg-final { scan-assembler-times "kortest" 16 { target { ! ia32 } } } } */
diff --git a/gcc/testsuite/gcc.target/i386/pr113609-2.c
b/gcc/testsuite/gcc.target/i386/pr113609-2.c
index ba8fa38866b..947ceb56930 100644
--- a/gcc/testsuite/gcc.target/i386/pr113609-2.c
+++ b/gcc/testsuite/gcc.target/i386/pr113609-2.c
@@ -1,10 +1,12 @@
/* PR target/113609 */
/* { dg-do compile } */
/* { dg-options "-O2 -march=x86-64-v4" } */
-/* { dg-final { scan-assembler-times "\[ \\t\]+sete" 8 } } */
+/* { dg-final { scan-assembler-times "\[ \\t\]+sete" 8 { target { ! ia32 } } }
} */
+/* { dg-final { scan-assembler-times "\[ \\t\]+sete" 4 { target ia32 } } } */
/* { dg-final { scan-assembler-times "\[ \\t\]+setne" 4 } } */
/* { dg-final { scan-assembler-times "\[ \\t\]+je" 0 } } */
-/* { dg-final { scan-assembler-times "\[ \\t\]+jne" 4 } } */
+/* { dg-final { scan-assembler-times "\[ \\t\]+jne" 4 { target { ! ia32 } } }
} */
+/* { dg-final { scan-assembler-times "\[ \\t\]+jne" 8 { target ia32 } } } */
#include <immintrin.h>
--
2.43.0