Many testsuite failures on x86_64 due recent "fix" about f16cintrin.h header

Dominique Dhumieres dominiq@lps.ens.fr
Sun Nov 6 20:23:00 GMT 2011


Following http://gcc.gnu.org/ml/gcc-patches/2011-10/msg02901.html, I have applied
the following patch on x86_64-apple-darwin10

--- ../_clean/gcc/config.gcc	2011-11-05 22:25:37.000000000 +0100
+++ gcc/config.gcc	2011-11-06 12:35:57.000000000 +0100
@@ -350,7 +350,7 @@ i[34567]86-*-*)
 		       immintrin.h x86intrin.h avxintrin.h xopintrin.h
 		       ia32intrin.h cross-stdarg.h lwpintrin.h popcntintrin.h
 		       lzcntintrin.h bmiintrin.h bmi2intrin.h tbmintrin.h
-		       avx2intrin.h fmaintrin.h"
+		       avx2intrin.h fmaintrin.h f16cintrin.h"
 	;;
 x86_64-*-*)
 	cpu_type=i386
@@ -363,7 +363,7 @@ x86_64-*-*)
 		       immintrin.h x86intrin.h avxintrin.h xopintrin.h
 		       ia32intrin.h cross-stdarg.h lwpintrin.h popcntintrin.h
 		       lzcntintrin.h bmiintrin.h tbmintrin.h bmi2intrin.h
-		       avx2intrin.h fmaintrin.h"
+		       avx2intrin.h fmaintrin.h f16cintrin.h"
 	need_64bit_hwint=yes
 	;;
 ia64-*-*)
--- ../_clean/gcc/config/i386/f16cintrin.h	2011-11-05 10:03:10.000000000 +0100
+++ gcc/config/i386/f16cintrin.h	2011-11-06 16:55:05.000000000 +0100
@@ -88,7 +88,8 @@ _mm256_cvtps_ph (__m256 __A, const int _
 
 #define _mm256_cvtps_ph(A, I) \
   ((__m128i) __builtin_ia32_vcvtps2ph256 ((__v8sf)(__m256) A, (int) (I)))
-#endif
+#endif /* __OPTIMIZE__ */
+#endif /* _F16CINTRIN_H_INCLUDED */
 
 #endif /* __F16C__ */
 #endif

(the second part fixes a missing endif). However I still have most of the failures:

FAIL: gcc.target/i386/sse-14.c
Excess errors:
/opt/gcc/work/gcc/testsuite/gcc.target/i386/sse-14.c:95:1: error: implicit declaration of function '_cvtss_sh' [-Werror=implicit-function-declaration]
/opt/gcc/work/gcc/testsuite/gcc.target/i386/sse-14.c:96:1: error: implicit declaration of function '_mm_cvtps_ph' [-Werror=implicit-function-declaration]
/opt/gcc/work/gcc/testsuite/gcc.target/i386/sse-14.c:96:1: error: incompatible types when returning type 'int' but '__m128i' was expected
/opt/gcc/work/gcc/testsuite/gcc.target/i386/sse-14.c:97:1: error: implicit declaration of function '_mm256_cvtps_ph' [-Werror=implicit-function-declaration]
/opt/gcc/work/gcc/testsuite/gcc.target/i386/sse-14.c:97:1: error: incompatible types when returning type 'int' but '__m128i' was expected
...
FAIL: gcc.target/i386/testimm-1.c (test for excess errors)
Excess errors:
/opt/gcc/work/gcc/testsuite/gcc.target/i386/testimm-1.c:36:6: error: incompatible types when assigning to type '__m128i' from type 'int'
/opt/gcc/work/gcc/testsuite/gcc.target/i386/testimm-1.c:45:6: error: incompatible types when assigning to type '__m128i' from type 'int'

At this point I have no idea about how to fix those.

Cheers,

Dominique



More information about the Gcc-patches mailing list