在 2024/11/2 上午1:36, Xi Ruoyao 写道:
Without optimization, GCC does not emit a jump table for the test case.
I'm not sure if the test case has been wrong in the first place or
something has changed in these months...
It was in the r15-4756 that turned -fjump-tables off at O0 optimization.
I was also looking at this issue yesterday. Isn't it better to add
'-fjump-tables'?:-(
gcc/testsuite/ChangeLog:
* gcc.target/loongarch/jump-table-annotate.c
(dg-additional-options): Add -O.
---
Pushed as obvious.
gcc/testsuite/gcc.target/loongarch/jump-table-annotate.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/gcc/testsuite/gcc.target/loongarch/jump-table-annotate.c
b/gcc/testsuite/gcc.target/loongarch/jump-table-annotate.c
index 9d58e60e39a..1895f6f03b8 100644
--- a/gcc/testsuite/gcc.target/loongarch/jump-table-annotate.c
+++ b/gcc/testsuite/gcc.target/loongarch/jump-table-annotate.c
@@ -1,5 +1,5 @@
/* { dg-do compile } */
-/* { dg-additional-options "-mannotate-tablejump" } */
+/* { dg-additional-options "-O -mannotate-tablejump" } */
extern void asdf(int);
void foo(int x) {