From: Uros Bizjak Date: Wed, 27 Apr 2011 14:18:25 +0000 (+0200) Subject: predicates.md (avx_vpermilp_*_operand): Remove. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=200eb7d2ee5603bf8cbc4cab71a0afd985583277;p=gcc.git predicates.md (avx_vpermilp_*_operand): Remove. * config/i386/predicates.md (avx_vpermilp_*_operand): Remove. (avx_vperm2f128_*_operand): Ditto. * config/i386/sse.md (*avx_vpermilp): Remove operand2 predicate. Use avx_vpermilp_parallel in insn condition. (*avx_vperm2f128_nozero): Remove operand3 predicate. Use avx_vperm2f128_parallel in insn condition. From-SVN: r173031 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 885529ec7c5..f2e0546954d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,12 @@ +2011-04-27 Uros Bizjak + + * config/i386/predicates.md (avx_vpermilp_*_operand): Remove. + (avx_vperm2f128_*_operand): Ditto. + * config/i386/sse.md (*avx_vpermilp): Remove operand2 predicate. + Use avx_vpermilp_parallel in insn condition. + (*avx_vperm2f128_nozero): Remove operand3 predicate. + Use avx_vperm2f128_parallel in insn condition. + 2011-04-27 Richard Guenther * Makefile.in (tree-ssa-structalias.o): Remove @@ -10,8 +19,7 @@ * tree-ssa-alias.h (delete_alias_heapvars): Remove. * tree-ssa.c (delete_tree_ssa): Do not call delete_alias_heapvars. * tree-flow.h (struct var_ann_d): Remove is_heapvar flag. - * tree-ssa-live.c (remove_unused_locals): Do not check is_heapvar - flag. + * tree-ssa-live.c (remove_unused_locals): Do not check is_heapvar flag. * tree-ssa-structalias.c (heapvar_for_stmt): Remove. (struct heapvar_map): Likewise. (heapvar_map_eq, heapvar_map_hash, heapvar_lookup, @@ -47,14 +55,13 @@ * ipa-prop.c (function_insertion_hook_holder): New holder. (ipa_add_new_function): New function. - (ipa_register_cgraph_hooks, ipa_unregister_cgraph_hooks): Register/deregister - holder. + (ipa_register_cgraph_hooks, ipa_unregister_cgraph_hooks): + Register/deregister holder. 2011-04-27 Richard Guenther PR tree-optimization/48772 - * tree-ssa-pre.c (eliminate): Update call stmts after elimination - only. + * tree-ssa-pre.c (eliminate): Update call stmts after elimination only. 2011-04-27 Richard Guenther @@ -120,7 +127,7 @@ * ipa-inline.c (edge_badness): Update. (ipa_inline): dump summaries after inlining. * ipa-inline.h (struct inline_edge_summary, inline_edge_summary_t): - new. + New. (inline_edge_summary): New function. * ipa-inline-analysis.c (edge_duplication_hook_holder): New holder. (inline_edge_removal_hook): Handle edge summaries. @@ -185,8 +192,7 @@ 2011-04-26 Xinliang David Li - * tree-ssa-uninit.c (warn_uninitialized_phi): Pass - warning code. + * tree-ssa-uninit.c (warn_uninitialized_phi): Pass warning code. * c-family/c-opts.c (c_common_handle_option): Set warn_maybe_uninitialized. * opts.c (common_handle_option): Ditto. @@ -198,8 +204,7 @@ 2011-04-26 Rainer Orth - * config/mips/iris6.h (LOCAL_LABEL_PREFIX): Don't test - TARGET_NEWABI. + * config/mips/iris6.h (LOCAL_LABEL_PREFIX): Don't test TARGET_NEWABI. (WINT_TYPE_SIZE): Use INT_TYPE_SIZE. (TARGET_OS_CPP_BUILTINS): Remove TARGET_IRIX6 guards. @@ -210,8 +215,7 @@ * doc/install.texi (Specific, mips-*-*): Move mips-tfile, mips-tdump reference to ... - (Specific, alpha*-dec-osf5.1): ... here. - Adapt for Tru64 UNIX. + (Specific, alpha*-dec-osf5.1): ... here. Adapt for Tru64 UNIX. * doc/trouble.texi (Cross-Compiler Problems): Replace MIPS reference by Tru64 UNIX. diff --git a/gcc/config/i386/predicates.md b/gcc/config/i386/predicates.md index b8b6bf615be..fae3a053a4b 100644 --- a/gcc/config/i386/predicates.md +++ b/gcc/config/i386/predicates.md @@ -1179,41 +1179,6 @@ return true; }) -;; Return true if OP is a parallel for a vpermilp[ds] permute. -;; ??? It would be much easier if the PARALLEL for a VEC_SELECT -;; had a mode, but it doesn't. So we have 4 copies and install -;; the mode by hand. - -(define_predicate "avx_vpermilp_v8sf_operand" - (and (match_code "parallel") - (match_test "avx_vpermilp_parallel (op, V8SFmode)"))) - -(define_predicate "avx_vpermilp_v4df_operand" - (and (match_code "parallel") - (match_test "avx_vpermilp_parallel (op, V4DFmode)"))) - -(define_predicate "avx_vpermilp_v4sf_operand" - (and (match_code "parallel") - (match_test "avx_vpermilp_parallel (op, V4SFmode)"))) - -(define_predicate "avx_vpermilp_v2df_operand" - (and (match_code "parallel") - (match_test "avx_vpermilp_parallel (op, V2DFmode)"))) - -;; Return true if OP is a parallel for a vperm2f128 permute. - -(define_predicate "avx_vperm2f128_v8sf_operand" - (and (match_code "parallel") - (match_test "avx_vperm2f128_parallel (op, V8SFmode)"))) - -(define_predicate "avx_vperm2f128_v8si_operand" - (and (match_code "parallel") - (match_test "avx_vperm2f128_parallel (op, V8SImode)"))) - -(define_predicate "avx_vperm2f128_v4df_operand" - (and (match_code "parallel") - (match_test "avx_vperm2f128_parallel (op, V4DFmode)"))) - ;; Return true if OP is a parallel for a vbroadcast permute. (define_predicate "avx_vbroadcast_operand" diff --git a/gcc/config/i386/sse.md b/gcc/config/i386/sse.md index 498f9b90401..5963a7fe601 100644 --- a/gcc/config/i386/sse.md +++ b/gcc/config/i386/sse.md @@ -10055,9 +10055,10 @@ [(set (match_operand:AVXMODEF2P 0 "register_operand" "=x") (vec_select:AVXMODEF2P (match_operand:AVXMODEF2P 1 "nonimmediate_operand" "xm") - (match_parallel 2 "avx_vpermilp__operand" + (match_parallel 2 "" [(match_operand 3 "const_int_operand" "")])))] - "TARGET_AVX" + "TARGET_AVX + && avx_vpermilp_parallel (operands[2], mode)" { int mask = avx_vpermilp_parallel (operands[2], mode) - 1; operands[2] = GEN_INT (mask); @@ -10140,9 +10141,10 @@ (vec_concat: (match_operand:AVX256MODE2P 1 "register_operand" "x") (match_operand:AVX256MODE2P 2 "nonimmediate_operand" "xm")) - (match_parallel 3 "avx_vperm2f128__operand" + (match_parallel 3 "" [(match_operand 4 "const_int_operand" "")])))] - "TARGET_AVX" + "TARGET_AVX + && avx_vperm2f128_parallel (operands[3], mode)" { int mask = avx_vperm2f128_parallel (operands[3], mode) - 1; operands[3] = GEN_INT (mask);