Hi all,

The latest CRC optimization patches include some testcases that do not
work well.  Some testcases in gcc/testsuite/gcc.dg lead to UNRESOLVED
results when testing without an explicit -O<n> flag.  Other testcases in
gcc/testsuite/gcc.target/riscv do not work when testing with RV32
-march/-mabi options on riscv64* compilers, and in the opposite case.
This patch tries to deal with the aforementioned issues.

Thanks,
Bohan
---
 gcc/testsuite/gcc.dg/crc-linux-1.c                 | 2 +-
 gcc/testsuite/gcc.dg/crc-linux-2.c                 | 2 +-
 gcc/testsuite/gcc.dg/crc-linux-4.c                 | 2 +-
 gcc/testsuite/gcc.dg/crc-linux-5.c                 | 2 +-
 gcc/testsuite/gcc.dg/crc-not-crc-15.c              | 2 +-
 gcc/testsuite/gcc.dg/crc-side-instr-1.c            | 2 +-
 gcc/testsuite/gcc.dg/crc-side-instr-10.c           | 2 +-
 gcc/testsuite/gcc.dg/crc-side-instr-11.c           | 2 +-
 gcc/testsuite/gcc.dg/crc-side-instr-12.c           | 2 +-
 gcc/testsuite/gcc.dg/crc-side-instr-13.c           | 2 +-
 gcc/testsuite/gcc.dg/crc-side-instr-14.c           | 2 +-
 gcc/testsuite/gcc.dg/crc-side-instr-15.c           | 2 +-
 gcc/testsuite/gcc.dg/crc-side-instr-16.c           | 2 +-
 gcc/testsuite/gcc.dg/crc-side-instr-17.c           | 2 +-
 gcc/testsuite/gcc.dg/crc-side-instr-2.c            | 2 +-
 gcc/testsuite/gcc.dg/crc-side-instr-3.c            | 2 +-
 gcc/testsuite/gcc.dg/crc-side-instr-4.c            | 2 +-
 gcc/testsuite/gcc.dg/crc-side-instr-5.c            | 2 +-
 gcc/testsuite/gcc.dg/crc-side-instr-6.c            | 2 +-
 gcc/testsuite/gcc.dg/crc-side-instr-7.c            | 2 +-
 gcc/testsuite/gcc.dg/crc-side-instr-8.c            | 2 +-
 gcc/testsuite/gcc.dg/crc-side-instr-9.c            | 2 +-
 gcc/testsuite/gcc.target/riscv/crc-builtin-zbc32.c | 4 ++--
 gcc/testsuite/gcc.target/riscv/crc-builtin-zbc64.c | 4 ++--
 24 files changed, 26 insertions(+), 26 deletions(-)

diff --git a/gcc/testsuite/gcc.dg/crc-linux-1.c 
b/gcc/testsuite/gcc.dg/crc-linux-1.c
index 918b423a583..3261ba48b8b 100644
--- a/gcc/testsuite/gcc.dg/crc-linux-1.c
+++ b/gcc/testsuite/gcc.dg/crc-linux-1.c
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-fdump-tree-crc-details -w" } */
+/* { dg-options "-O2 -fdump-tree-crc-details -w" } */
 /* { dg-skip-if "" { *-*-* } { "-O0" "-O1" "-Os" "-O3" "-flto" } } */
 
 #include <stdlib.h>
diff --git a/gcc/testsuite/gcc.dg/crc-linux-2.c 
b/gcc/testsuite/gcc.dg/crc-linux-2.c
index 990a28cef6f..156d9986aaf 100644
--- a/gcc/testsuite/gcc.dg/crc-linux-2.c
+++ b/gcc/testsuite/gcc.dg/crc-linux-2.c
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-fdump-tree-crc-details" } */
+/* { dg-options "-O2 -fdump-tree-crc-details" } */
 /* { dg-skip-if "" { *-*-* } { "-O0" "-O1" "-Os" "-flto" } } */
 
 #include <stddef.h>
diff --git a/gcc/testsuite/gcc.dg/crc-linux-4.c 
b/gcc/testsuite/gcc.dg/crc-linux-4.c
index 50cbbba49d2..81f35ae2bc5 100644
--- a/gcc/testsuite/gcc.dg/crc-linux-4.c
+++ b/gcc/testsuite/gcc.dg/crc-linux-4.c
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-fdump-tree-crc-details -w" } */
+/* { dg-options "-O2 -fdump-tree-crc-details -w" } */
 /* { dg-skip-if "" { *-*-* } { "-O0" "-O1" "-Os" "-flto" } } */
 
 /* We don't detect, it's optimized to branch-less CRC.  */
diff --git a/gcc/testsuite/gcc.dg/crc-linux-5.c 
b/gcc/testsuite/gcc.dg/crc-linux-5.c
index ff3cc25fb66..873257daa8c 100644
--- a/gcc/testsuite/gcc.dg/crc-linux-5.c
+++ b/gcc/testsuite/gcc.dg/crc-linux-5.c
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-fdump-tree-crc-details" } */
+/* { dg-options "-O2 -fdump-tree-crc-details" } */
 /* { dg-skip-if "" { *-*-* } { "-O0" "-O1" "-Os" "-flto" } } */
 
 #include <stddef.h>
diff --git a/gcc/testsuite/gcc.dg/crc-not-crc-15.c 
b/gcc/testsuite/gcc.dg/crc-not-crc-15.c
index cf7993a2c49..05b46ae68da 100644
--- a/gcc/testsuite/gcc.dg/crc-not-crc-15.c
+++ b/gcc/testsuite/gcc.dg/crc-not-crc-15.c
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-fdump-tree-crc" } */
+/* { dg-options "-O2 -fdump-tree-crc" } */
 /* { dg-skip-if "" { *-*-* } { "-O0" "-O1" "-Os" "-O3" "-flto" } } */
 
 /* With -O3 the cycles is split into 2,
diff --git a/gcc/testsuite/gcc.dg/crc-side-instr-1.c 
b/gcc/testsuite/gcc.dg/crc-side-instr-1.c
index 69738d5c866..d9977d9865f 100644
--- a/gcc/testsuite/gcc.dg/crc-side-instr-1.c
+++ b/gcc/testsuite/gcc.dg/crc-side-instr-1.c
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-fdump-tree-crc-details" } */
+/* { dg-options "-O2 -fdump-tree-crc-details" } */
 /* { dg-skip-if "" { *-*-* } { "-O0" "-O1" "-Os" "-flto" } } */
 
 #include <stdint.h>
diff --git a/gcc/testsuite/gcc.dg/crc-side-instr-10.c 
b/gcc/testsuite/gcc.dg/crc-side-instr-10.c
index 765572cf9b7..3c807aec9db 100644
--- a/gcc/testsuite/gcc.dg/crc-side-instr-10.c
+++ b/gcc/testsuite/gcc.dg/crc-side-instr-10.c
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-fdump-tree-crc-details" } */
+/* { dg-options "-O2 -fdump-tree-crc-details" } */
 /* { dg-skip-if "" { *-*-* } { "-O0" "-O1" "-Os" "-flto" } } */
 
 typedef unsigned short ee_u16;
diff --git a/gcc/testsuite/gcc.dg/crc-side-instr-11.c 
b/gcc/testsuite/gcc.dg/crc-side-instr-11.c
index d8a7a88de5d..8c73c0186b0 100644
--- a/gcc/testsuite/gcc.dg/crc-side-instr-11.c
+++ b/gcc/testsuite/gcc.dg/crc-side-instr-11.c
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-fdump-tree-crc-details" } */
+/* { dg-options "-O2 -fdump-tree-crc-details" } */
 /* { dg-skip-if "" { *-*-* } { "-O0" "-O1" "-Os" "-flto" } } */
 
 typedef unsigned short ee_u16;
diff --git a/gcc/testsuite/gcc.dg/crc-side-instr-12.c 
b/gcc/testsuite/gcc.dg/crc-side-instr-12.c
index 4511c08dc6b..7098ed074ac 100644
--- a/gcc/testsuite/gcc.dg/crc-side-instr-12.c
+++ b/gcc/testsuite/gcc.dg/crc-side-instr-12.c
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-fdump-tree-crc-details" } */
+/* { dg-options "-O2 -fdump-tree-crc-details" } */
 /* { dg-skip-if "" { *-*-* } { "-O0" "-O1" "-Os" "-flto" } } */
 
 typedef unsigned short ee_u16;
diff --git a/gcc/testsuite/gcc.dg/crc-side-instr-13.c 
b/gcc/testsuite/gcc.dg/crc-side-instr-13.c
index 968a35bf4df..7a0fea11eb3 100644
--- a/gcc/testsuite/gcc.dg/crc-side-instr-13.c
+++ b/gcc/testsuite/gcc.dg/crc-side-instr-13.c
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-fdump-tree-crc-details" } */
+/* { dg-options "-O2 -fdump-tree-crc-details" } */
 /* { dg-skip-if "" { *-*-* } { "-O0" "-O1" "-Os" "-flto" } } */
 
 typedef unsigned short ee_u16;
diff --git a/gcc/testsuite/gcc.dg/crc-side-instr-14.c 
b/gcc/testsuite/gcc.dg/crc-side-instr-14.c
index c8b671f571e..da2d0434253 100644
--- a/gcc/testsuite/gcc.dg/crc-side-instr-14.c
+++ b/gcc/testsuite/gcc.dg/crc-side-instr-14.c
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-fdump-tree-crc-details" } */
+/* { dg-options "-O2 -fdump-tree-crc-details" } */
 /* { dg-skip-if "" { *-*-* } { "-O0" "-O1" "-Os" "-flto" } } */
 
 #include <stdio.h>
diff --git a/gcc/testsuite/gcc.dg/crc-side-instr-15.c 
b/gcc/testsuite/gcc.dg/crc-side-instr-15.c
index ec3c879034d..78ef1e91ee7 100644
--- a/gcc/testsuite/gcc.dg/crc-side-instr-15.c
+++ b/gcc/testsuite/gcc.dg/crc-side-instr-15.c
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-fdump-tree-crc-details" } */
+/* { dg-options "-O2 -fdump-tree-crc-details" } */
 /* { dg-skip-if "" { *-*-* } { "-O0" "-O1" "-Os" "-flto" } } */
 
 typedef unsigned short ee_u16;
diff --git a/gcc/testsuite/gcc.dg/crc-side-instr-16.c 
b/gcc/testsuite/gcc.dg/crc-side-instr-16.c
index 2f14c90ab11..665d0571f23 100644
--- a/gcc/testsuite/gcc.dg/crc-side-instr-16.c
+++ b/gcc/testsuite/gcc.dg/crc-side-instr-16.c
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-fdump-tree-crc-details" } */
+/* { dg-options "-O2 -fdump-tree-crc-details" } */
 /* { dg-skip-if "" { *-*-* } { "-O0" "-O1" "-Os" "-flto" } } */
 
 typedef unsigned short ee_u16;
diff --git a/gcc/testsuite/gcc.dg/crc-side-instr-17.c 
b/gcc/testsuite/gcc.dg/crc-side-instr-17.c
index 8f98df87446..cf67042a4f9 100644
--- a/gcc/testsuite/gcc.dg/crc-side-instr-17.c
+++ b/gcc/testsuite/gcc.dg/crc-side-instr-17.c
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-fdump-tree-crc-details" } */
+/* { dg-options "-O2 -fdump-tree-crc-details" } */
 /* { dg-skip-if "" { *-*-* } { "-O0" "-O1" "-Os" "-flto" } } */
 
 typedef unsigned short ee_u16;
diff --git a/gcc/testsuite/gcc.dg/crc-side-instr-2.c 
b/gcc/testsuite/gcc.dg/crc-side-instr-2.c
index 23dfa3edc17..146b12c27c0 100644
--- a/gcc/testsuite/gcc.dg/crc-side-instr-2.c
+++ b/gcc/testsuite/gcc.dg/crc-side-instr-2.c
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-fdump-tree-crc-details" } */
+/* { dg-options "-O2 -fdump-tree-crc-details" } */
 /* { dg-skip-if "" { *-*-* } { "-O0" "-O1" "-Os" "-flto" } } */
 
 #include <stdint.h>
diff --git a/gcc/testsuite/gcc.dg/crc-side-instr-3.c 
b/gcc/testsuite/gcc.dg/crc-side-instr-3.c
index 731c6624a2e..67ecef66692 100644
--- a/gcc/testsuite/gcc.dg/crc-side-instr-3.c
+++ b/gcc/testsuite/gcc.dg/crc-side-instr-3.c
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-fdump-tree-crc-details" } */
+/* { dg-options "-O2 -fdump-tree-crc-details" } */
 /* { dg-skip-if "" { *-*-* } { "-O0" "-O1" "-Os" "-flto" } } */
 
 #include <stdint.h>
diff --git a/gcc/testsuite/gcc.dg/crc-side-instr-4.c 
b/gcc/testsuite/gcc.dg/crc-side-instr-4.c
index 7612c52c67e..294157719ca 100644
--- a/gcc/testsuite/gcc.dg/crc-side-instr-4.c
+++ b/gcc/testsuite/gcc.dg/crc-side-instr-4.c
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-fdump-tree-crc-details" } */
+/* { dg-options "-O2 -fdump-tree-crc-details" } */
 /* { dg-skip-if "" { *-*-* } { "-O0" "-O1" "-Os" "-flto" } } */
 
 #include <stdint.h>
diff --git a/gcc/testsuite/gcc.dg/crc-side-instr-5.c 
b/gcc/testsuite/gcc.dg/crc-side-instr-5.c
index ef97028e881..75ccf3d984d 100644
--- a/gcc/testsuite/gcc.dg/crc-side-instr-5.c
+++ b/gcc/testsuite/gcc.dg/crc-side-instr-5.c
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-fdump-tree-crc-details" } */
+/* { dg-options "-O2 -fdump-tree-crc-details" } */
 /* { dg-skip-if "" { *-*-* } { "-O0" "-O1" "-Os" "-flto" } } */
 
 #include <stdint.h>
diff --git a/gcc/testsuite/gcc.dg/crc-side-instr-6.c 
b/gcc/testsuite/gcc.dg/crc-side-instr-6.c
index f559fa94a53..e0006793efe 100644
--- a/gcc/testsuite/gcc.dg/crc-side-instr-6.c
+++ b/gcc/testsuite/gcc.dg/crc-side-instr-6.c
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-fdump-tree-crc-details" } */
+/* { dg-options "-O2 -fdump-tree-crc-details" } */
 /* { dg-skip-if "" { *-*-* } { "-O0" "-O1" "-Os" "-flto" } } */
 
 #include <stdint.h>
diff --git a/gcc/testsuite/gcc.dg/crc-side-instr-7.c 
b/gcc/testsuite/gcc.dg/crc-side-instr-7.c
index d80aadc6ccb..5887ae18e27 100644
--- a/gcc/testsuite/gcc.dg/crc-side-instr-7.c
+++ b/gcc/testsuite/gcc.dg/crc-side-instr-7.c
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-fdump-tree-crc-details" } */
+/* { dg-options "-O2 -fdump-tree-crc-details" } */
 /* { dg-skip-if "" { *-*-* } { "-O0" "-O1" "-Os" "-flto" } } */
 
 #include <stdio.h>
diff --git a/gcc/testsuite/gcc.dg/crc-side-instr-8.c 
b/gcc/testsuite/gcc.dg/crc-side-instr-8.c
index 23263e156a1..562eb608e40 100644
--- a/gcc/testsuite/gcc.dg/crc-side-instr-8.c
+++ b/gcc/testsuite/gcc.dg/crc-side-instr-8.c
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-fdump-tree-crc-details" } */
+/* { dg-options "-O2 -fdump-tree-crc-details" } */
 /* { dg-skip-if "" { *-*-* } { "-O0" "-O1" "-Os" "-flto" } } */
 
 #include <stdio.h>
diff --git a/gcc/testsuite/gcc.dg/crc-side-instr-9.c 
b/gcc/testsuite/gcc.dg/crc-side-instr-9.c
index 477318e05e0..7b2fc6a9b3d 100644
--- a/gcc/testsuite/gcc.dg/crc-side-instr-9.c
+++ b/gcc/testsuite/gcc.dg/crc-side-instr-9.c
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-fdump-tree-crc-details" } */
+/* { dg-options "-O2 -fdump-tree-crc-details" } */
 /* { dg-skip-if "" { *-*-* } { "-O0" "-O1" "-Os" "-flto" } } */
 
 typedef unsigned short ee_u16;
diff --git a/gcc/testsuite/gcc.target/riscv/crc-builtin-zbc32.c 
b/gcc/testsuite/gcc.target/riscv/crc-builtin-zbc32.c
index 20d7d25f60e..a6703c4684b 100644
--- a/gcc/testsuite/gcc.target/riscv/crc-builtin-zbc32.c
+++ b/gcc/testsuite/gcc.target/riscv/crc-builtin-zbc32.c
@@ -1,5 +1,5 @@
-/* { dg-do compile { target { riscv32*-*-* } } } */
-/* { dg-options "-march=rv32gc_zbc" } */
+/* { dg-do compile } */
+/* { dg-options "-march=rv32gc_zbc -mabi=ilp32d" } */
 
 #include <stdint-gcc.h>
 
diff --git a/gcc/testsuite/gcc.target/riscv/crc-builtin-zbc64.c 
b/gcc/testsuite/gcc.target/riscv/crc-builtin-zbc64.c
index d99a78daaa9..97bbe052ec1 100644
--- a/gcc/testsuite/gcc.target/riscv/crc-builtin-zbc64.c
+++ b/gcc/testsuite/gcc.target/riscv/crc-builtin-zbc64.c
@@ -1,5 +1,5 @@
-/* { dg-do compile { target { riscv64*-*-* } } } */
-/* { dg-options "-march=rv64gc_zbc" } */
+/* { dg-do compile } */
+/* { dg-options "-march=rv64gc_zbc -mabi=lp64d" } */
 
 #include <stdint-gcc.h>
 
-- 
2.46.0

Reply via email to