PATCH: Remove goto for vec_concat and vec_interleave

H.J. Lu hjl.tools@gmail.com
Wed May 21 20:16:00 GMT 2008


2008/5/21 Paolo Bonzini <bonzini@gnu.org>:
>> -vec_concat:
>> +      n = GET_MODE_SIZE (mode) / GET_MODE_SIZE (GET_MODE_INNER (mode));
>
> GET_MODE_NUNITS?
>
> Paolo
>

I am checking it in as an obvious fix.

Thanks.


H.J.
---
2008-05-21  H.J. Lu  <hongjiu.lu@intel.com>

        * config/i386/i386.c (ix86_expand_vector_init_general): Use
        GET_MODE_NUNITS (mode).
Index: config/i386/i386.c
===================================================================
--- config/i386/i386.c  (revision 135725)
+++ config/i386/i386.c  (working copy)
@@ -24090,7 +24090,7 @@ ix86_expand_vector_init_general (bool mm
     case V4SImode:
     case V2DFmode:
     case V2DImode:
-      n = GET_MODE_SIZE (mode) / GET_MODE_SIZE (GET_MODE_INNER (mode));
+      n = GET_MODE_NUNITS (mode);
       for (i = 0; i < n; i++)
        ops[i] = XVECEXP (vals, 0, i);
       ix86_expand_vector_init_concat (mode, target, ops, n);
@@ -24105,7 +24105,7 @@ ix86_expand_vector_init_general (bool mm
       if (!TARGET_SSE2)
        break;

-      n = GET_MODE_SIZE (mode) / GET_MODE_SIZE (GET_MODE_INNER (mode));
+      n = GET_MODE_NUNITS (mode);
       for (i = 0; i < n; i++)
        ops[i] = XVECEXP (vals, 0, i);
       ix86_expand_vector_init_interleave (mode, target, ops, n >> 1);



More information about the Gcc-patches mailing list