The test has two issues:
1) The test should generate execute abort() if an error is found.
However, the test contains a #define 0 which actually enables the
error prints not exectuting void() because the debug code is protected
by an #ifdef not #if. The #define DEBUG needs to be removed to so the
test will abort on an error.
2) The vec_i_expected output was tweeked to test that it would fail.
The test value was not removed.
By removing the #define DEBUG, the test fails and reports 1 failure.
Removing the intentionally wrong expected value results in the test
passing with no errors as expected.
gcc/testsuite/ChangeLog:
* gcc.target/powerpc/builtins-1-p10-runnable.c: Remove #define
DEBUG. Replace vec_i_expected value with correct value.
#include <math.h>
#include <altivec.h>
-#define DEBUG 0
-
#ifdef DEBUG
#include <stdio.h>
#endif
/* Signed word multiply high */
i_arg1 = (vector int){ 2147483648, 2147483648, 2147483648, 2147483648 };
i_arg2 = (vector int){ 2, 3, 4, 5};
- // vec_i_expected = (vector int){-1, -2, -2, -3};
- vec_i_expected = (vector int){1, -2, -2, -3};
+ vec_i_expected = (vector int){-1, -2, -2, -3};
vec_i_result = vec_mulh (i_arg1, i_arg2);