Re: [PATCH] Fix broadcast from scalar patterns (PR target/63594)

2014-12-09 Thread Uros Bizjak
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

Re: [PATCH] Fix broadcast from scalar patterns (PR target/63594)

2014-12-09 Thread Jakub Jelinek
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

Re: [PATCH] Fix broadcast from scalar patterns (PR target/63594)

2014-12-09 Thread Uros Bizjak
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

[PATCH] Fix broadcast from scalar patterns (PR target/63594)

2014-12-08 Thread Jakub Jelinek
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