sse.md (vec_extract<mode><ssehalfvecmodelower>): Use V_256_512 iterator instead of...
authorJakub Jelinek <jakub@redhat.com>
Mon, 7 Jan 2019 09:52:29 +0000 (10:52 +0100)
committerJakub Jelinek <jakub@gcc.gnu.org>
Mon, 7 Jan 2019 09:52:29 +0000 (10:52 +0100)
* config/i386/sse.md (vec_extract<mode><ssehalfvecmodelower>): Use
V_256_512 iterator instead of V_512 and TARGET_AVX instead of
TARGET_AVX512F as condition.

From-SVN: r267639

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

index a17c6c7..3c7bb49 100644 (file)
@@ -1,5 +1,9 @@
 2019-01-07  Jakub Jelinek  <jakub@redhat.com>
 
+       * config/i386/sse.md (vec_extract<mode><ssehalfvecmodelower>): Use
+       V_256_512 iterator instead of V_512 and TARGET_AVX instead of
+       TARGET_AVX512F as condition.
+
        PR debug/88723
        * dwarf2out.c (const_ok_for_output_1): Remove redundant call to
        const_not_ok_for_debug_p target hook.
index 9c192e9..ec699d6 100644 (file)
 
 (define_expand "vec_extract<mode><ssehalfvecmodelower>"
   [(match_operand:<ssehalfvecmode> 0 "nonimmediate_operand")
-   (match_operand:V_512 1 "register_operand")
+   (match_operand:V_256_512 1 "register_operand")
    (match_operand 2 "const_0_to_1_operand")]
-  "TARGET_AVX512F"
+  "TARGET_AVX"
 {
   if (INTVAL (operands[2]))
     emit_insn (gen_vec_extract_hi_<mode> (operands[0], operands[1]));