https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110466

--- Comment #1 from Marek Polacek <mpolacek at gcc dot gnu.org> ---
The problem is that the patch above uses __vector which is wrong on Power. 
However, with my patch:

--- a/gcc/testsuite/jit.dg/test-expressions.c
+++ b/gcc/testsuite/jit.dg/test-expressions.c
@@ -560,17 +560,17 @@ verify_comparisons (gcc_jit_result *result)
   CHECK_VALUE (test_COMPARISON_GE_on_int (1, 2), 0);
   CHECK_VALUE (test_COMPARISON_GE_on_int (2, 1), 1);

-  typedef int __vector __attribute__ ((__vector_size__ (sizeof(int) * 2)));
-  typedef __vector (*test_vec_fn) (__vector, __vector);
+  typedef int v2si __attribute__ ((__vector_size__ (sizeof(int) * 2)));
+  typedef v2si (*test_vec_fn) (v2si, v2si);

-  __vector zero_zero = {0, 0};
-  __vector zero_one = {0, 1};
-  __vector one_zero = {1, 0};
+  v2si zero_zero = {0, 0};
+  v2si zero_one = {0, 1};
+  v2si one_zero = {1, 0};

-  __vector true_true = {-1, -1};
-  __vector false_true = {0, -1};
-  __vector true_false = {-1, 0};
-  __vector false_false = {0, 0};
+  v2si true_true = {-1, -1};
+  v2si false_true = {0, -1};
+  v2si true_false = {-1, 0};
+  v2si false_false = {0, 0};

   test_vec_fn test_COMPARISON_EQ_on_vec_int =
     (test_vec_fn)gcc_jit_result_get_code (result,
@@ -615,7 +615,7 @@ verify_comparisons (gcc_jit_result *result)
   CHECK_VECTOR_VALUE (2, test_COMPARISON_GE_on_vec_int (zero_one, one_zero),
false_true);

   typedef float __vector_f __attribute__ ((__vector_size__ (sizeof(float) *
2)));
-  typedef __vector (*test_vec_f_fn) (__vector_f, __vector_f);
+  typedef v2si (*test_vec_f_fn) (__vector_f, __vector_f);

   __vector_f zero_zero_f = {0, 0};
   __vector_f zero_one_f = {0, 1};

I see FAILs like

Running /home/polacek/src/gcc/gcc/testsuite/jit.dg/jit.exp ... 
FAIL: test-combination.c.exe iteration 1 of 5: verify_comparisons: actual:
test_COMPARISON_EQ_on_vec_int (zero_zero, zero_zero) != expected: true_true
(position 0)
FAIL: test-combination.c.exe killed: 7835 exp8 0 0 CHILDKILLED SIGABRT SIGABRT
FAIL: FAIL
FAIL: FAIL
FAIL: FAIL
FAIL: test-expressions.c.exe iteration 1 of 5: verify_comparisons: actual:
test_COMPARISON_EQ_on_vec_int (zero_zero, zero_zero) != expected: true_true
(position 0)
FAIL: test-expressions.c.exe killed: 10718 exp12 0 0 CHILDKILLED SIGABRT
SIGABRT
FAIL: test-threads.c.exe: verify_comparisons: actual:
test_COMPARISON_EQ_on_vec_int (zero_zero, zero_zero) != expected: true_true
(position 0)
FAIL: test-threads.c.exe killed: 12273 exp12 0 0 CHILDKILLED SIGABRT SIGABRT

and I don't know what that means.

Reply via email to