Use vm in sse2_cvtps2pd<mask_name>

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
This commit is contained in:
H.J. Lu 2016-01-29 13:03:51 +00:00 committed by H.J. Lu
parent 86b3a101ff
commit 96db298a71
2 changed files with 6 additions and 1 deletions

View 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

View File

@ -5464,7 +5464,7 @@
[(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}"