Commit 5eafdd32 by Eric Christopher Committed by Eric Christopher

sse.md (movdi_to_sse): Rewrite body.

2007-06-14  Eric Christopher  <echristo@apple.com>

        * config/i386/sse.md (movdi_to_sse): Rewrite body.
        (movv4sf): Use gcc_unreachable instead of abort.

From-SVN: r125723
parent c96f0001
2007-06-14 Eric Christopher <echristo@apple.com>
* config/i386/sse.md (movdi_to_sse): Rewrite body.
(movv4sf): Use gcc_unreachable instead of abort.
2007-06-14 Uros Bizjak <ubizjak@gmail.com> 2007-06-14 Uros Bizjak <ubizjak@gmail.com>
PR target/32268 PR target/32268
......
...@@ -108,9 +108,8 @@ ...@@ -108,9 +108,8 @@
"&& reload_completed" "&& reload_completed"
[(const_int 0)] [(const_int 0)]
{ {
switch (which_alternative) if (register_operand (operands[1], DImode))
{ {
case 0:
/* The DImode arrived in a pair of integral registers (e.g. %edx:%eax). /* The DImode arrived in a pair of integral registers (e.g. %edx:%eax).
Assemble the 64-bit DImode value in an xmm register. */ Assemble the 64-bit DImode value in an xmm register. */
emit_insn (gen_sse2_loadld (operands[0], CONST0_RTX (V4SImode), emit_insn (gen_sse2_loadld (operands[0], CONST0_RTX (V4SImode),
...@@ -118,16 +117,11 @@ ...@@ -118,16 +117,11 @@
emit_insn (gen_sse2_loadld (operands[2], CONST0_RTX (V4SImode), emit_insn (gen_sse2_loadld (operands[2], CONST0_RTX (V4SImode),
gen_rtx_SUBREG (SImode, operands[1], 4))); gen_rtx_SUBREG (SImode, operands[1], 4)));
emit_insn (gen_sse2_punpckldq (operands[0], operands[0], operands[2])); emit_insn (gen_sse2_punpckldq (operands[0], operands[0], operands[2]));
break;
case 1:
emit_insn (gen_vec_concatv2di (operands[0], operands[1], const0_rtx));
break;
default:
gcc_unreachable ();
} }
DONE; else if (memory_operand (operands[1], DImode))
emit_insn (gen_vec_concatv2di (gen_lowpart (V2DImode, operands[0]), operands[1], const0_rtx));
else
gcc_unreachable ();
}) })
(define_expand "movv4sf" (define_expand "movv4sf"
...@@ -154,7 +148,7 @@ ...@@ -154,7 +148,7 @@
case 2: case 2:
return "movaps\t{%1, %0|%0, %1}"; return "movaps\t{%1, %0|%0, %1}";
default: default:
abort(); gcc_unreachable ();
} }
} }
[(set_attr "type" "sselog1,ssemov,ssemov") [(set_attr "type" "sselog1,ssemov,ssemov")
......
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