* i386.md (movv2di_internal): New pattern.
commit71a455acbacf59d5b25849e7f4a2d1a771ee139d
authorhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 15 Oct 2002 08:24:36 +0000 (15 08:24 +0000)
committerhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 15 Oct 2002 08:24:36 +0000 (15 08:24 +0000)
tree2926a21bf98ecf1245514d8ae40ece750b02bc54
parent3906761342e5c56b1b85f0b682e33d534a9fd434
* i386.md (movv2di_internal): New pattern.
(movv2df_internal, movv8hi_internal, movv16qi_internal): Fix predicate.
(movv2di): New expander.
* i386.c (ix86_preferred_reload_class): Return NO_REGS for vector operands.

* i386.c (ix86_expand_timode_binop_builtin): Delete.
(builtin_description): Add SSE1 logicals; rename SSE2 logicals.
(ix86_init_mmx_sse_builtins): Kill SSE1 logicals.
(ix86_expand_builtin): Likewise.
* i386.h (sse_andti4_df_1, sse_andti3_df_2, sse_andti3_sf_1, sse_andti3_sf_2,
        sse_andti3,
sse_andnti4_df_1, sse_andti3_df_2, sse_andti3_sf_1, sse_andti3_sf_2,
        sse_andnti3,
sse_orti4_df_1, sse_orti3_df_2, sse_orti3_sf_1, sse_orti3_sf_2,
        sse_orti3,
sse_xorti4_df_1, sse_xorti3_df_2, sse_xorti3_sf_1, sse_xorti3_sf_2,
        sse_xorti3): Kill.
(sse_andv4sf3, sse_andnv4sf3, sse_orv2df3, sse_xorv2df3, sse_andv2df3,
 sse_andnv2df3, sse_orv2df3, sse_xorv2df3): New expanders.
(*sse_andv4sf3, *sse_andnv2df3, *sse_orv4sf3, *sse_xorv4sf3, *sse_andv2df3,
 *sse_andnv2df3, *sse_orv2df3, *sse_xorv2df3): New patterns.
(*sse_andsf3, *sse_andndf3, *sse_ordf3, *sse_xordf3, *sse_anddf3,
 *sse_andndf3, *sse_orv2df3, *sse_xorv2df3): New patterns.

* xmmintrin.h (__m128i): Define as __v2di.

PR c/7344
* predict.c (can_predict_insn_p): New function.
(estimate_probability): Avoid unnecesary work.
(process_note_prediction): Likewise.
* toplev.c (rest_of_compilation): Account early branch prediction pass
as TV_BRANCH_PROB.

PR c++/6419
(expand_expr): Use DECL_RTL_SET_P.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@58156 138bc75d-0d04-0410-961f-82ee72b054a4
12 files changed:
gcc/ChangeLog
gcc/config/i386/i386.c
gcc/config/i386/i386.md
gcc/config/i386/xmmintrin.h
gcc/expr.c
gcc/final.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/i386-ssetype-1.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/i386-ssetype-2.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/i386-ssetype-3.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/i386-ssetype-4.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/i386-ssetype-5.c [new file with mode: 0644]