aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorH.J. Lu <hongjiu.lu@intel.com>2016-01-29 13:03:51 +0000
committerH.J. Lu <hjl@gcc.gnu.org>2016-01-29 05:03:51 -0800
commit96db298a7164234d46ed60d82d9df8e31e8257b2 (patch)
tree1ed6e1c42721610e98d83feb0569c532591787bf /gcc
parent86b3a101ff7d3a883c9e14dcd46c8bfcb2751d06 (diff)
downloadgcc-96db298a7164234d46ed60d82d9df8e31e8257b2.zip
gcc-96db298a7164234d46ed60d82d9df8e31e8257b2.tar.gz
gcc-96db298a7164234d46ed60d82d9df8e31e8257b2.tar.bz2
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
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/i386/sse.md2
2 files changed, 6 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index ea443d3..8e06ddb 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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
diff --git a/gcc/config/i386/sse.md b/gcc/config/i386/sse.md
index 3f53a0a..6744cce 100644
--- a/gcc/config/i386/sse.md
+++ b/gcc/config/i386/sse.md
@@ -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}"