sse.md (sse_cvtpi2ps): Use TARGET_MMX in insn condition.
authorUros Bizjak <ubizjak@gmail.com>
Wed, 22 May 2019 18:40:58 +0000 (20:40 +0200)
committerUros Bizjak <uros@gcc.gnu.org>
Wed, 22 May 2019 18:40:58 +0000 (20:40 +0200)
* config/i386/sse.md (sse_cvtpi2ps): Use TARGET_MMX in insn condition.

From-SVN: r271515

gcc/ChangeLog
gcc/config/i386/mmx.md
gcc/config/i386/sse.md

index c3d8a415bffb704724bff2759450ada2776bf567..446c2d458caf81e578b8c094e0027d1d97b2110e 100644 (file)
@@ -1,3 +1,7 @@
+2019-05-22  Uroš Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/sse.md (sse_cvtpi2ps): Use TARGET_MMX in insn condition.
+
 2019-05-22  Matthew Malcomson  <matthew.malcomson@arm.com>
 
        * common/config/aarch64/aarch64-common.c
index adad950fa04d6b4d07768026ebe69ae13d3cc88c..dc8dabfafc85330eee5cdc23b238f8711403cc57 100644 (file)
 
       op = gen_rtx_VEC_SELECT (V8HImode, operands[1], mask);
     }
-  rtx insn = gen_rtx_SET (operands[0], op);
-  emit_insn (insn);
+  emit_insn (gen_rtx_SET (operands[0], op));
   DONE;
 }
   [(set_attr "mmx_isa" "native,x64,x64_avx")
index 7e7b3417cfc847b5314fa8dbdfd6c8a446388211..7d48402ee9d9cc42c3f39f6ca870899b0c4fe689 100644 (file)
          (match_operand:V4SF 1 "register_operand" "0,0,Yv")
          (const_int 3)))
    (clobber (match_scratch:V4SF 3 "=X,x,Yv"))]
-  "TARGET_SSE || TARGET_MMX_WITH_SSE"
+  "(TARGET_MMX || TARGET_MMX_WITH_SSE) && TARGET_SSE"
   "@
    cvtpi2ps\t{%2, %0|%0, %2}
    #
   rtx op2 = lowpart_subreg (V4SImode, operands[2],
                            GET_MODE (operands[2]));
   /* Generate SSE2 cvtdq2ps.  */
-  rtx insn = gen_floatv4siv4sf2 (operands[3], op2);
-  emit_insn (insn);
+  emit_insn (gen_floatv4siv4sf2 (operands[3], op2));
 
   /* Merge operands[3] with operands[0].  */
   rtx mask, op1;
                                          GEN_INT (6), GEN_INT (7)));
       op1 = gen_rtx_VEC_CONCAT (V8SFmode, operands[3], operands[1]);
       op2 = gen_rtx_VEC_SELECT (V4SFmode, op1, mask);
-      insn = gen_rtx_SET (operands[0], op2);
+      emit_insn (gen_rtx_SET (operands[0], op2));
     }
   else
     {
                                          GEN_INT (4), GEN_INT (5)));
       op1 = gen_rtx_VEC_CONCAT (V8SFmode, operands[0], operands[3]);
       op2 = gen_rtx_VEC_SELECT (V4SFmode, op1, mask);
-      insn = gen_rtx_SET (operands[0], op2);
-      emit_insn (insn);
+      emit_insn (gen_rtx_SET (operands[0], op2));
 
       /* Swap bits 0:63 with bits 64:127.  */
       mask = gen_rtx_PARALLEL (VOIDmode,
       rtx dest = lowpart_subreg (V4SImode, operands[0],
                                 GET_MODE (operands[0]));
       op1 = gen_rtx_VEC_SELECT (V4SImode, dest, mask);
-      insn = gen_rtx_SET (dest, op1);
+      emit_insn (gen_rtx_SET (dest, op1));
     }
-  emit_insn (insn);
   DONE;
 }
   [(set_attr "mmx_isa" "native,x64_noavx,x64_avx")
   /* Emulate MMX palignrdi with SSE psrldq.  */
   rtx op0 = lowpart_subreg (V2DImode, operands[0],
                            GET_MODE (operands[0]));
-  rtx insn;
   if (TARGET_AVX)
-    insn = gen_vec_concatv2di (op0, operands[2], operands[1]);
+    emit_insn (gen_vec_concatv2di (op0, operands[2], operands[1]));
   else
     {
       /* NB: SSE can only concatenate OP0 and OP1 to OP0.  */
-      insn = gen_vec_concatv2di (op0, operands[1], operands[2]);
-      emit_insn (insn);
+      emit_insn (gen_vec_concatv2di (op0, operands[1], operands[2]));
       /* Swap bits 0:63 with bits 64:127.  */
       rtx mask = gen_rtx_PARALLEL (VOIDmode,
                                   gen_rtvec (4, GEN_INT (2),
                                              GEN_INT (1)));
       rtx op1 = lowpart_subreg (V4SImode, op0, GET_MODE (op0));
       rtx op2 = gen_rtx_VEC_SELECT (V4SImode, op1, mask);
-      insn = gen_rtx_SET (op1, op2);
+      emit_insn (gen_rtx_SET (op1, op2));
     }
-  emit_insn (insn);
   operands[0] = lowpart_subreg (V1TImode, op0, GET_MODE (op0));
 }
   [(set_attr "mmx_isa" "native,x64_noavx,x64_avx")