From ac173024954b4e620c80ab81715bc5d50907369a Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Thu, 20 Jun 2019 15:30:54 +0000 Subject: i386: Generate standard floating point scalar operation patterns Standard floating point scalar operation patterns for combiner, which preserve the rest of the vector, look like (vec_merge:V2DF (vec_duplicate:V2DF (reg:DF 87)) (reg/v:V2DF 85 [ x ]) (const_int 1 [0x1])])) and (vec_merge:V2DF (vec_duplicate:V2DF (op:DF (vec_select:DF (reg/v:V2DF 85 [ x ]) (parallel [ (const_int 0 [0])])) (reg:DF 87)) (reg/v:V2DF 85 [ x ]) (const_int 1 [0x1])])) This patch adds and generates such standard floating point scalar operation patterns for +, -, *, /, > and <. Tested on x86-64. gcc/ PR target/54855 * config/i386/i386-expand.c (ix86_expand_vector_set): Generate standard scalar operation pattern for V2DF. * config/i386/sse.md (*_vm3): New. (*_vm3): Likewise. (*ieee_3): Likewise. (vec_setv2df_0): Likewise. gcc/testsuite/ PR target/54855 * gcc.target/i386/pr54855-1.c: New test. * gcc.target/i386/pr54855-2.c: Likewise. * gcc.target/i386/pr54855-3.c: Likewise. * gcc.target/i386/pr54855-4.c: Likewise. * gcc.target/i386/pr54855-5.c: Likewise. * gcc.target/i386/pr54855-6.c: Likewise. * gcc.target/i386/pr54855-7.c: Likewise. * gcc.target/i386/pr54855-8.c: Likewise. * gcc.target/i386/pr54855-9.c: Likewise. * gcc.target/i386/pr54855-10.c: Likewise. From-SVN: r272511 --- gcc/ChangeLog | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'gcc/ChangeLog') diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 06e4ef4..d4c3220 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,13 @@ +2019-06-20 H.J. Lu + + PR target/54855 + * config/i386/i386-expand.c (ix86_expand_vector_set): Generate + standard scalar operation pattern for V2DF. + * config/i386/sse.md (*_vm3): New. + (*_vm3): Likewise. + (*ieee_3): Likewise. + (vec_setv2df_0): Likewise. + 2019-06-20 Jan Hubicka * tree-ssa-alias.c (aliasing_component_refs_p): Remove ref2_is_decl -- cgit v1.1