On Tue, Dec 9, 2014 at 10:17 AM, Jakub Jelinek wrote:
> On Tue, Dec 09, 2014 at 09:49:17AM +0100, Uros Bizjak wrote:
>> > (define_insn "_vec_dup_gpr"
>> > - [(set (match_operand:VI48_AVX512VL 0 "register_operand" "=v")
>> > - (vec_duplicate:VI48_AVX512VL
>> > - (match_operand: 1 "r
On Tue, Dec 09, 2014 at 09:49:17AM +0100, Uros Bizjak wrote:
> > (define_insn "_vec_dup_gpr"
> > - [(set (match_operand:VI48_AVX512VL 0 "register_operand" "=v")
> > - (vec_duplicate:VI48_AVX512VL
> > - (match_operand: 1 "register_operand" "r")))]
> > - "TARGET_AVX512F && (mode != D
On Mon, Dec 8, 2014 at 10:42 PM, Jakub Jelinek wrote:
> Hi!
>
> This patch attempts to fix
> (set (reg:V*) (vec_duplicate:V* (reg/mem:)))
> patterns. One issue is that there were separate patterns for
> broadcast from gpr and separate patterns for broadcast from memory
> (and vector reg), that is
Hi!
This patch attempts to fix
(set (reg:V*) (vec_duplicate:V* (reg/mem:)))
patterns. One issue is that there were separate patterns for
broadcast from gpr and separate patterns for broadcast from memory
(and vector reg), that isn't a good idea for reload, which can't then
freely choose. Another