]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
Use vm in sse2_cvtps2pd<mask_name>
authorH.J. Lu <hongjiu.lu@intel.com>
Fri, 29 Jan 2016 13:03:51 +0000 (13:03 +0000)
committerH.J. Lu <hjl@gcc.gnu.org>
Fri, 29 Jan 2016 13:03:51 +0000 (05:03 -0800)
sse2_cvtps2pd<mask_name> has

(define_insn "sse2_cvtps2pd<mask_name>"
  [(set (match_operand:V2DF 0 "register_operand" "=v")
        (float_extend:V2DF
          (vec_select:V2SF
            (match_operand:V4SF 1 "vector_operand" "vBm")
            (parallel [(const_int 0) (const_int 1)]))))]

The memory operand size is 8 bytes (2 floats).  We should use vm instead
of vBm.

* config/i386/sse.md (sse2_cvtps2pd<mask_name>): Replace vBm
with vm.

From-SVN: r232979

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

index ea443d3990eb827250196fb50b08b4080d09164d..8e06ddb9e17272ec036ee830cd473c670ff69ced 100644 (file)
@@ -1,3 +1,8 @@
+2016-01-29  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * config/i386/sse.md (sse2_cvtps2pd<mask_name>): Replace vBm
+       with vm.
+
 2016-01-29  Jonathan Wakely  <jwakely@redhat.com>
 
        * ginclude/stdarg.h: Test __cplusplus instead of
index 3f53a0aa722114d348f71460ae464d3f85a1b757..6744cceee7c6ccd5052d9f82e68853ea12e59106 100644 (file)
   [(set (match_operand:V2DF 0 "register_operand" "=v")
        (float_extend:V2DF
          (vec_select:V2SF
-           (match_operand:V4SF 1 "vector_operand" "vBm")
+           (match_operand:V4SF 1 "vector_operand" "vm")
            (parallel [(const_int 0) (const_int 1)]))))]
   "TARGET_SSE2 && <mask_avx512vl_condition>"
   "%vcvtps2pd\t{%1, %0<mask_operand2>|%0<mask_operand2>, %q1}"