+2015-03-26 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/65561
+ * config/i386/sse.md (avx512f_vextract<shuffletype>32x4_1_maskm):
+ Check operand 6 and operand 0 for equality.
+ (vec_extract_lo_<mode>_maskm): Check operand 2 and operand 0
+ for equality.
+ (vec_extract_hi_<mode>_maskm): Ditto.
+
2015-03-26 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
Backport of r214242, r214254, and bug fix patches from mainline
2015-02-11 Martin Liska <mliska@suse.cz>
PR ipa/64813
- * cgraphunit.c (cgraph_node::expand_thunk): Do not create a return
- value for call to a function that is noreturn.
+ * cgraphunit.c (cgraph_node::expand_thunk): Do not create a return
+ value for call to a function that is noreturn.
2015-03-23 Yvan Roux <yvan.roux@linaro.org>
Backport from mainline.
2014-11-28 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
- * config/arm/t-aprofile (MULTILIB_MATCHES): New entry for
+ * config/arm/t-aprofile (MULTILIB_MATCHES): New entry for
-march=armv8-a+crc.
2014-11-26 Richard Biener <rguenther@suse.de>
"TARGET_AVX512F
&& (INTVAL (operands[2]) == (INTVAL (operands[3]) - 1)
&& INTVAL (operands[3]) == (INTVAL (operands[4]) - 1)
- && INTVAL (operands[4]) == (INTVAL (operands[5]) - 1))"
+ && INTVAL (operands[4]) == (INTVAL (operands[5]) - 1))
+ && rtx_equal_p (operands[6], operands[0])"
{
operands[2] = GEN_INT ((INTVAL (operands[2])) >> 2);
return "vextract<shuffletype>32x4\t{%2, %1, %0%{%7%}|%0%{%7%}, %1, %2}";
(const_int 2) (const_int 3)]))
(match_operand:<ssehalfvecmode> 2 "memory_operand" "0")
(match_operand:QI 3 "register_operand" "Yk")))]
- "TARGET_AVX512F"
-"vextract<shuffletype>64x4\t{$0x0, %1, %0%{%3%}|%0%{%3%}, %1, 0x0}"
+ "TARGET_AVX512F
+ && rtx_equal_p (operands[2], operands[0])"
+ "vextract<shuffletype>64x4\t{$0x0, %1, %0%{%3%}|%0%{%3%}, %1, 0x0}"
[(set_attr "type" "sselog")
(set_attr "prefix_extra" "1")
(set_attr "length_immediate" "1")
(const_int 6) (const_int 7)]))
(match_operand:<ssehalfvecmode> 2 "memory_operand" "0")
(match_operand:QI 3 "register_operand" "Yk")))]
- "TARGET_AVX512F"
+ "TARGET_AVX512F
+ && rtx_equal_p (operands[2], operands[0])"
"vextract<shuffletype>64x4\t{$0x1, %1, %0%{%3%}|%0%{%3%}, %1, 0x1}"
[(set_attr "type" "sselog")
(set_attr "prefix_extra" "1")