From 694b3bb3c33643ce697019db6d6eeeede4def168 Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Fri, 8 Feb 2019 11:30:53 +0000 Subject: [PATCH] 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 --- gcc/ChangeLog | 7 +++++++ gcc/config/i386/i386.md | 10 ++++++---- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 14c618340b4..5e826d09765 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2019-02-08 H.J. Lu + + 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 PR rtl-optimization/89234 diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md index c1492363bca..3d9141ae450 100644 --- a/gcc/config/i386/i386.md +++ b/gcc/config/i386/i386.md @@ -1933,8 +1933,9 @@ (set_attr "type" "sselog1,sselog1,ssemov,ssemov") (set_attr "prefix" "vex") (set (attr "mode") - (cond [(ior (match_operand 0 "ext_sse_reg_operand") - (match_operand 1 "ext_sse_reg_operand")) + (cond [(and (not (match_test "TARGET_AVX512VL")) + (ior (match_operand 0 "ext_sse_reg_operand") + (match_operand 1 "ext_sse_reg_operand"))) (const_string "XI") (and (eq_attr "alternative" "1") (match_test "TARGET_AVX512VL")) @@ -2012,8 +2013,9 @@ (set (attr "mode") (cond [(eq_attr "alternative" "0,1") (const_string "DI") - (ior (match_operand 0 "ext_sse_reg_operand") - (match_operand 1 "ext_sse_reg_operand")) + (and (not (match_test "TARGET_AVX512VL")) + (ior (match_operand 0 "ext_sse_reg_operand") + (match_operand 1 "ext_sse_reg_operand"))) (const_string "XI") (and (eq_attr "alternative" "3") (match_test "TARGET_AVX512VL")) -- 2.30.2