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> 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. * config/i386/sse.md (vec_initv4sf): Removed.
(vec_initv2df): Likewise. (vec_initv2df): Likewise.
(vec_initv2di): Likewise. (vec_initv2di): Likewise.
......
...@@ -24084,21 +24084,13 @@ ix86_expand_vector_init_general (bool mmx_ok, enum machine_mode mode, ...@@ -24084,21 +24084,13 @@ ix86_expand_vector_init_general (bool mmx_ok, enum machine_mode mode,
case V2SImode: case V2SImode:
if (!mmx_ok && !TARGET_SSE) if (!mmx_ok && !TARGET_SSE)
break; break;
/* FALLTHRU */
n = 2;
goto vec_concat;
case V4SFmode: case V4SFmode:
case V4SImode: case V4SImode:
n = 4;
goto vec_concat;
case V2DFmode: case V2DFmode:
case V2DImode: case V2DImode:
n = 2; n = GET_MODE_SIZE (mode) / GET_MODE_SIZE (GET_MODE_INNER (mode));
goto vec_concat;
vec_concat:
for (i = 0; i < n; i++) for (i = 0; i < n; i++)
ops[i] = XVECEXP (vals, 0, i); ops[i] = XVECEXP (vals, 0, i);
ix86_expand_vector_init_concat (mode, target, ops, n); ix86_expand_vector_init_concat (mode, target, ops, n);
...@@ -24107,18 +24099,13 @@ vec_concat: ...@@ -24107,18 +24099,13 @@ vec_concat:
case V16QImode: case V16QImode:
if (!TARGET_SSE4_1) if (!TARGET_SSE4_1)
break; break;
/* FALLTHRU */
n = 16;
goto vec_interleave;
case V8HImode: case V8HImode:
if (!TARGET_SSE2) if (!TARGET_SSE2)
break; break;
n = 8; n = GET_MODE_SIZE (mode) / GET_MODE_SIZE (GET_MODE_INNER (mode));
goto vec_interleave;
vec_interleave:
for (i = 0; i < n; i++) for (i = 0; i < n; i++)
ops[i] = XVECEXP (vals, 0, i); ops[i] = XVECEXP (vals, 0, i);
ix86_expand_vector_init_interleave (mode, target, ops, n >> 1); 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