Commit 200eb7d2 by Uros Bizjak

predicates.md (avx_vpermilp_*_operand): Remove.

	* config/i386/predicates.md (avx_vpermilp_*_operand): Remove.
	(avx_vperm2f128_*_operand): Ditto.
	* config/i386/sse.md (*avx_vpermilp<mode>): Remove operand2 predicate.
	Use avx_vpermilp_parallel in insn condition.
	(*avx_vperm2f128<mode>_nozero): Remove operand3 predicate.
	Use avx_vperm2f128_parallel in insn condition.

From-SVN: r173031
parent 7d6e2521
2011-04-27 Uros Bizjak <ubizjak@gmail.com>
* config/i386/predicates.md (avx_vpermilp_*_operand): Remove.
(avx_vperm2f128_*_operand): Ditto.
* config/i386/sse.md (*avx_vpermilp<mode>): Remove operand2 predicate.
Use avx_vpermilp_parallel in insn condition.
(*avx_vperm2f128<mode>_nozero): Remove operand3 predicate.
Use avx_vperm2f128_parallel in insn condition.
2011-04-27 Richard Guenther <rguenther@suse.de> 2011-04-27 Richard Guenther <rguenther@suse.de>
* Makefile.in (tree-ssa-structalias.o): Remove * Makefile.in (tree-ssa-structalias.o): Remove
...@@ -10,8 +19,7 @@ ...@@ -10,8 +19,7 @@
* tree-ssa-alias.h (delete_alias_heapvars): Remove. * tree-ssa-alias.h (delete_alias_heapvars): Remove.
* tree-ssa.c (delete_tree_ssa): Do not call delete_alias_heapvars. * tree-ssa.c (delete_tree_ssa): Do not call delete_alias_heapvars.
* tree-flow.h (struct var_ann_d): Remove is_heapvar flag. * tree-flow.h (struct var_ann_d): Remove is_heapvar flag.
* tree-ssa-live.c (remove_unused_locals): Do not check is_heapvar * tree-ssa-live.c (remove_unused_locals): Do not check is_heapvar flag.
flag.
* tree-ssa-structalias.c (heapvar_for_stmt): Remove. * tree-ssa-structalias.c (heapvar_for_stmt): Remove.
(struct heapvar_map): Likewise. (struct heapvar_map): Likewise.
(heapvar_map_eq, heapvar_map_hash, heapvar_lookup, (heapvar_map_eq, heapvar_map_hash, heapvar_lookup,
...@@ -47,14 +55,13 @@ ...@@ -47,14 +55,13 @@
* ipa-prop.c (function_insertion_hook_holder): New holder. * ipa-prop.c (function_insertion_hook_holder): New holder.
(ipa_add_new_function): New function. (ipa_add_new_function): New function.
(ipa_register_cgraph_hooks, ipa_unregister_cgraph_hooks): Register/deregister (ipa_register_cgraph_hooks, ipa_unregister_cgraph_hooks):
holder. Register/deregister holder.
2011-04-27 Richard Guenther <rguenther@suse.de> 2011-04-27 Richard Guenther <rguenther@suse.de>
PR tree-optimization/48772 PR tree-optimization/48772
* tree-ssa-pre.c (eliminate): Update call stmts after elimination * tree-ssa-pre.c (eliminate): Update call stmts after elimination only.
only.
2011-04-27 Richard Guenther <rguenther@suse.de> 2011-04-27 Richard Guenther <rguenther@suse.de>
...@@ -120,7 +127,7 @@ ...@@ -120,7 +127,7 @@
* ipa-inline.c (edge_badness): Update. * ipa-inline.c (edge_badness): Update.
(ipa_inline): dump summaries after inlining. (ipa_inline): dump summaries after inlining.
* ipa-inline.h (struct inline_edge_summary, inline_edge_summary_t): * ipa-inline.h (struct inline_edge_summary, inline_edge_summary_t):
new. New.
(inline_edge_summary): New function. (inline_edge_summary): New function.
* ipa-inline-analysis.c (edge_duplication_hook_holder): New holder. * ipa-inline-analysis.c (edge_duplication_hook_holder): New holder.
(inline_edge_removal_hook): Handle edge summaries. (inline_edge_removal_hook): Handle edge summaries.
...@@ -185,8 +192,7 @@ ...@@ -185,8 +192,7 @@
2011-04-26 Xinliang David Li <davidxl@google.com> 2011-04-26 Xinliang David Li <davidxl@google.com>
* tree-ssa-uninit.c (warn_uninitialized_phi): Pass * tree-ssa-uninit.c (warn_uninitialized_phi): Pass warning code.
warning code.
* c-family/c-opts.c (c_common_handle_option): Set * c-family/c-opts.c (c_common_handle_option): Set
warn_maybe_uninitialized. warn_maybe_uninitialized.
* opts.c (common_handle_option): Ditto. * opts.c (common_handle_option): Ditto.
...@@ -198,8 +204,7 @@ ...@@ -198,8 +204,7 @@
2011-04-26 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 2011-04-26 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* config/mips/iris6.h (LOCAL_LABEL_PREFIX): Don't test * config/mips/iris6.h (LOCAL_LABEL_PREFIX): Don't test TARGET_NEWABI.
TARGET_NEWABI.
(WINT_TYPE_SIZE): Use INT_TYPE_SIZE. (WINT_TYPE_SIZE): Use INT_TYPE_SIZE.
(TARGET_OS_CPP_BUILTINS): Remove TARGET_IRIX6 guards. (TARGET_OS_CPP_BUILTINS): Remove TARGET_IRIX6 guards.
...@@ -210,8 +215,7 @@ ...@@ -210,8 +215,7 @@
* doc/install.texi (Specific, mips-*-*): Move mips-tfile, * doc/install.texi (Specific, mips-*-*): Move mips-tfile,
mips-tdump reference to ... mips-tdump reference to ...
(Specific, alpha*-dec-osf5.1): ... here. (Specific, alpha*-dec-osf5.1): ... here. Adapt for Tru64 UNIX.
Adapt for Tru64 UNIX.
* doc/trouble.texi (Cross-Compiler Problems): Replace MIPS * doc/trouble.texi (Cross-Compiler Problems): Replace MIPS
reference by Tru64 UNIX. reference by Tru64 UNIX.
......
...@@ -1179,41 +1179,6 @@ ...@@ -1179,41 +1179,6 @@
return true; 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. ;; Return true if OP is a parallel for a vbroadcast permute.
(define_predicate "avx_vbroadcast_operand" (define_predicate "avx_vbroadcast_operand"
......
...@@ -10055,9 +10055,10 @@ ...@@ -10055,9 +10055,10 @@
[(set (match_operand:AVXMODEF2P 0 "register_operand" "=x") [(set (match_operand:AVXMODEF2P 0 "register_operand" "=x")
(vec_select:AVXMODEF2P (vec_select:AVXMODEF2P
(match_operand:AVXMODEF2P 1 "nonimmediate_operand" "xm") (match_operand:AVXMODEF2P 1 "nonimmediate_operand" "xm")
(match_parallel 2 "avx_vpermilp_<mode>_operand" (match_parallel 2 ""
[(match_operand 3 "const_int_operand" "")])))] [(match_operand 3 "const_int_operand" "")])))]
"TARGET_AVX" "TARGET_AVX
&& avx_vpermilp_parallel (operands[2], <MODE>mode)"
{ {
int mask = avx_vpermilp_parallel (operands[2], <MODE>mode) - 1; int mask = avx_vpermilp_parallel (operands[2], <MODE>mode) - 1;
operands[2] = GEN_INT (mask); operands[2] = GEN_INT (mask);
...@@ -10140,9 +10141,10 @@ ...@@ -10140,9 +10141,10 @@
(vec_concat:<ssedoublesizemode> (vec_concat:<ssedoublesizemode>
(match_operand:AVX256MODE2P 1 "register_operand" "x") (match_operand:AVX256MODE2P 1 "register_operand" "x")
(match_operand:AVX256MODE2P 2 "nonimmediate_operand" "xm")) (match_operand:AVX256MODE2P 2 "nonimmediate_operand" "xm"))
(match_parallel 3 "avx_vperm2f128_<mode>_operand" (match_parallel 3 ""
[(match_operand 4 "const_int_operand" "")])))] [(match_operand 4 "const_int_operand" "")])))]
"TARGET_AVX" "TARGET_AVX
&& avx_vperm2f128_parallel (operands[3], <MODE>mode)"
{ {
int mask = avx_vperm2f128_parallel (operands[3], <MODE>mode) - 1; int mask = avx_vperm2f128_parallel (operands[3], <MODE>mode) - 1;
operands[3] = GEN_INT (mask); operands[3] = GEN_INT (mask);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment