This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

fix g++.dg/other/mmintrin.h


On x86_64, the c++ front end was complaining about a type mismatch
between the __v2di type that emmintrin.h builds, and the V2DI type
that ix86_init_mmx_sse_builtins builds.  Of the several options
available to us to declare a 64-bit type, using long long does 
seem to be the easiest and most reliable to match up.


r~


        * config/i386/i386.c (ix86_init_mmx_sse_builtins): Use
        long_long_integer_type_node in building V2DI_type_node.

Index: config/i386/i386.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/i386/i386.c,v
retrieving revision 1.757
diff -c -p -d -u -r1.757 i386.c
--- config/i386/i386.c	19 Dec 2004 20:10:27 -0000	1.757
+++ config/i386/i386.c	20 Dec 2004 10:50:46 -0000
@@ -12314,7 +12314,8 @@ ix86_init_mmx_sse_builtins (void)
   tree V16QI_type_node = build_vector_type_for_mode (intQI_type_node, V16QImode);
   tree V2SI_type_node = build_vector_type_for_mode (intSI_type_node, V2SImode);
   tree V2SF_type_node = build_vector_type_for_mode (float_type_node, V2SFmode);
-  tree V2DI_type_node = build_vector_type_for_mode (intDI_type_node, V2DImode);
+  tree V2DI_type_node
+    = build_vector_type_for_mode (long_long_integer_type_node, V2DImode);
   tree V2DF_type_node = build_vector_type_for_mode (double_type_node, V2DFmode);
   tree V4SF_type_node = build_vector_type_for_mode (float_type_node, V4SFmode);
   tree V4SI_type_node = build_vector_type_for_mode (intSI_type_node, V4SImode);


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]