]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
PPC64: Fix assembler constraints.
authorCarl Love <carll@us.ibm.com>
Tue, 28 Jan 2020 18:17:16 +0000 (12:17 -0600)
committerCarl Love <carll@us.ibm.com>
Tue, 28 Jan 2020 18:17:16 +0000 (12:17 -0600)
The PPC64 assembler constraints "ws", "wa" and "ww" have changed to "wa"
in GCC 10.  Update the ppc64 tests test_isa_2_07_part1.c and test_isa_3_0.c.

NEWS
none/tests/ppc64/test_isa_2_07_part1.c
none/tests/ppc64/test_isa_3_0.c

diff --git a/NEWS b/NEWS
index d409c1307a67cae8f47118fd9f11f64462d911e2..96ed2ffd902da80e933f8c572b1a76df853f4acc 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -112,6 +112,7 @@ n-i-bz  Add --run-cxx-freeres=no in outer args to avoid inner crashes.
 n-i-bz  Add support for the Linux io_uring system calls
 n-i-bz  sys_statx: don't complain if both |filename| and |buf| are NULL.
 n-i-bz  Fix non-glibc build of test suite with s390x_features
+416667  gcc10 ppc64le impossible constraint in 'asm' in test_isa.
 
 
 Release 3.15.0 (12 April 2019)
index 187af3741590c6ef5fd6831bca8040b022ada0ab..0efd39c1c376debe6d59239378ab5f5f8cd7585b 100644 (file)
@@ -384,27 +384,27 @@ static void test_fmrgow (void)
 // VSX move instructions
 static void test_mfvsrd (void)
 {
-   __asm__ __volatile__ ("mfvsrd %0,%x1" : "=r" (r14) : "ws" (vec_inA));
+   __asm__ __volatile__ ("mfvsrd %0,%x1" : "=r" (r14) : "wa" (vec_inA));
 };
 
 static void test_mfvsrwz (void)
 {
-   __asm__ __volatile__ ("mfvsrwz %0,%x1" : "=r" (r14) : "ws" (vec_inA));
+   __asm__ __volatile__ ("mfvsrwz %0,%x1" : "=r" (r14) : "wa" (vec_inA));
 };
 
 static void test_mtvsrd (void)
 {
-   __asm__ __volatile__ ("mtvsrd %x0,%1" : "=ws" (vec_out) : "r" (r14));
+   __asm__ __volatile__ ("mtvsrd %x0,%1" : "=wa" (vec_out) : "r" (r14));
 };
 
 static void test_mtvsrwz (void)
 {
-   __asm__ __volatile__ ("mtvsrwz %x0,%1" : "=ws" (vec_out) : "r" (r14));
+   __asm__ __volatile__ ("mtvsrwz %x0,%1" : "=wa" (vec_out) : "r" (r14));
 };
 
 static void test_mtvsrwa (void)
 {
-   __asm__ __volatile__ ("mtvsrwa %x0,%1" : "=ws" (vec_out) : "r" (r14));
+   __asm__ __volatile__ ("mtvsrwa %x0,%1" : "=wa" (vec_out) : "r" (r14));
 };
 
 static void test_mtfprwa (void)
index 78b5130c1134b2f96cb9e3eadd845e52ea24770d..cf9df8ac9c03e949c8186d3015cc60638b643576 100644 (file)
@@ -1177,23 +1177,23 @@ static void test_xscmpexpdp(void) {
 }
 
 static void test_xscmpeqdp(void) {
-   __asm__ __volatile__ ("xscmpeqdp   %x0, %x1, %x2 " : "+wa" (vec_xt): "ww" (vec_xa), "ww" (vec_xb));
+   __asm__ __volatile__ ("xscmpeqdp   %x0, %x1, %x2 " : "+wa" (vec_xt): "wa" (vec_xa), "wa" (vec_xb));
 }
 
 static void test_xscmpgtdp(void) {
-   __asm__ __volatile__ ("xscmpgtdp   %x0, %x1, %x2 " : "+wa" (vec_xt): "ww" (vec_xa), "ww" (vec_xb));
+   __asm__ __volatile__ ("xscmpgtdp   %x0, %x1, %x2 " : "+wa" (vec_xt): "wa" (vec_xa), "wa" (vec_xb));
 }
 
 static void test_xscmpgedp(void) {
-   __asm__ __volatile__ ("xscmpgedp   %x0, %x1, %x2 " : "+wa" (vec_xt): "ww" (vec_xa), "ww" (vec_xb));
+   __asm__ __volatile__ ("xscmpgedp   %x0, %x1, %x2 " : "+wa" (vec_xt): "wa" (vec_xa), "wa" (vec_xb));
 }
 
 static void test_xsmincdp(void) {
-   __asm__ __volatile__ ("xsmincdp   %x0, %x1, %x2 " : "+wa" (vec_xt): "ww" (vec_xa), "ww" (vec_xb));
+   __asm__ __volatile__ ("xsmincdp   %x0, %x1, %x2 " : "+wa" (vec_xt): "wa" (vec_xa), "wa" (vec_xb));
 }
 
 static void test_xsmaxcdp(void) {
-   __asm__ __volatile__ ("xsmaxcdp   %x0, %x1, %x2 " : "+wa" (vec_xt): "ww" (vec_xa), "ww" (vec_xb));
+   __asm__ __volatile__ ("xsmaxcdp   %x0, %x1, %x2 " : "+wa" (vec_xt): "wa" (vec_xa), "wa" (vec_xb));
 }
 
 static test_list_t testgroup_vector_scalar_compare_double[] = {
@@ -1827,15 +1827,15 @@ static void test_xscvhpdp(void) {
 }
 
 static void test_xscvdphp(void) {
-   __asm__ __volatile__ ("xscvdphp %x0, %x1 " : "+wi" (vec_xt) : "wi" (vec_xb));
+   __asm__ __volatile__ ("xscvdphp %x0, %x1 " : "+wa" (vec_xt) : "wa" (vec_xb));
 }
 
 static void test_xvcvhpsp(void) {
-   __asm__ __volatile__ ("xvcvhpsp %x0, %x1 " : "+ww" (vec_xt) : "ww" (vec_xb));
+   __asm__ __volatile__ ("xvcvhpsp %x0, %x1 " : "+wa" (vec_xt) : "wa" (vec_xb));
 }
 
 static void test_xvcvsphp(void) {
-   __asm__ __volatile__ ("xvcvsphp %x0, %x1 " : "+ww" (vec_xt) : "ww" (vec_xb));
+   __asm__ __volatile__ ("xvcvsphp %x0, %x1 " : "+wa" (vec_xt) : "wa" (vec_xb));
 }
 
 static test_list_t testgroup_vector_scalar_two_double[] = {