Commit 0864e1e8 by H.J. Lu Committed by H.J. Lu

i386.c (ix86_expand_vector_init_general): Remove goto for vec_concat and vec_interleave.

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

	* config/i386/i386.c (ix86_expand_vector_init_general): Remove
	goto for vec_concat and vec_interleave.

From-SVN: r135725
parent f8caa3a8
2008-05-21 H.J. Lu <hongjiu.lu@intel.com>
* config/i386/i386.c (ix86_expand_vector_init_general): Remove
goto for vec_concat and vec_interleave.
2008-05-21 H.J. Lu <hongjiu.lu@intel.com>
* config/i386/sse.md (vec_initv4sf): Removed.
(vec_initv2df): Likewise.
(vec_initv2di): Likewise.
......
......@@ -24084,21 +24084,13 @@ ix86_expand_vector_init_general (bool mmx_ok, enum machine_mode mode,
case V2SImode:
if (!mmx_ok && !TARGET_SSE)
break;
n = 2;
goto vec_concat;
/* FALLTHRU */
case V4SFmode:
case V4SImode:
n = 4;
goto vec_concat;
case V2DFmode:
case V2DImode:
n = 2;
goto vec_concat;
vec_concat:
n = GET_MODE_SIZE (mode) / GET_MODE_SIZE (GET_MODE_INNER (mode));
for (i = 0; i < n; i++)
ops[i] = XVECEXP (vals, 0, i);
ix86_expand_vector_init_concat (mode, target, ops, n);
......@@ -24107,18 +24099,13 @@ vec_concat:
case V16QImode:
if (!TARGET_SSE4_1)
break;
n = 16;
goto vec_interleave;
/* FALLTHRU */
case V8HImode:
if (!TARGET_SSE2)
break;
n = 8;
goto vec_interleave;
vec_interleave:
n = GET_MODE_SIZE (mode) / GET_MODE_SIZE (GET_MODE_INNER (mode));
for (i = 0; i < n; i++)
ops[i] = XVECEXP (vals, 0, i);
ix86_expand_vector_init_interleave (mode, target, ops, n >> 1);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment