Commit 694b3bb3 by H.J. Lu Committed by H.J. Lu

i386: Use OI/TImode in *mov[ot]i_internal_avx with AVX512VL

OImode and TImode moves must be done in XImode to access upper 16
vector registers without AVX512VL.  With AVX512VL, we can access
upper 16 vector registers in OImode and TImode.

	PR target/89229
	* config/i386/i386.md (*movoi_internal_avx): Set mode to XI for
	upper 16 vector registers without TARGET_AVX512VL.
	(*movti_internal): Likewise.

From-SVN: r268678
parent cc26a3bd
2019-02-08 H.J. Lu <hongjiu.lu@intel.com>
PR target/89229
* config/i386/i386.md (*movoi_internal_avx): Set mode to XI for
upper 16 vector registers without TARGET_AVX512VL.
(*movti_internal): Likewise.
2019-02-08 Jakub Jelinek <jakub@redhat.com> 2019-02-08 Jakub Jelinek <jakub@redhat.com>
PR rtl-optimization/89234 PR rtl-optimization/89234
......
...@@ -1933,8 +1933,9 @@ ...@@ -1933,8 +1933,9 @@
(set_attr "type" "sselog1,sselog1,ssemov,ssemov") (set_attr "type" "sselog1,sselog1,ssemov,ssemov")
(set_attr "prefix" "vex") (set_attr "prefix" "vex")
(set (attr "mode") (set (attr "mode")
(cond [(ior (match_operand 0 "ext_sse_reg_operand") (cond [(and (not (match_test "TARGET_AVX512VL"))
(match_operand 1 "ext_sse_reg_operand")) (ior (match_operand 0 "ext_sse_reg_operand")
(match_operand 1 "ext_sse_reg_operand")))
(const_string "XI") (const_string "XI")
(and (eq_attr "alternative" "1") (and (eq_attr "alternative" "1")
(match_test "TARGET_AVX512VL")) (match_test "TARGET_AVX512VL"))
...@@ -2012,8 +2013,9 @@ ...@@ -2012,8 +2013,9 @@
(set (attr "mode") (set (attr "mode")
(cond [(eq_attr "alternative" "0,1") (cond [(eq_attr "alternative" "0,1")
(const_string "DI") (const_string "DI")
(ior (match_operand 0 "ext_sse_reg_operand") (and (not (match_test "TARGET_AVX512VL"))
(match_operand 1 "ext_sse_reg_operand")) (ior (match_operand 0 "ext_sse_reg_operand")
(match_operand 1 "ext_sse_reg_operand")))
(const_string "XI") (const_string "XI")
(and (eq_attr "alternative" "3") (and (eq_attr "alternative" "3")
(match_test "TARGET_AVX512VL")) (match_test "TARGET_AVX512VL"))
......
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