Commit 1598945b by James Greenhalgh Committed by James Greenhalgh

[AArch64] Fold max and min reduction builtins to tree.

gcc/
	* config/aarch64/aarch64-builtins
	(aarch64_gimple_fold_builtin): Fold reduc_<su><maxmin>_ builtins.

From-SVN: r198498
parent 998eaf97
2013-05-01 James Greenhalgh <james.greenhalgh@arm.com> 2013-05-01 James Greenhalgh <james.greenhalgh@arm.com>
* config/aarch64/aarch64-builtins
(aarch64_gimple_fold_builtin): Fold reduc_<su><maxmin>_ builtins.
2013-05-01 James Greenhalgh <james.greenhalgh@arm.com>
* config/aarch64/aarch64-simd-builtins.def * config/aarch64/aarch64-simd-builtins.def
(reduc_smax_): New. (reduc_smax_): New.
(reduc_smin_): Likewise. (reduc_smin_): Likewise.
......
...@@ -1372,6 +1372,21 @@ aarch64_gimple_fold_builtin (gimple_stmt_iterator *gsi) ...@@ -1372,6 +1372,21 @@ aarch64_gimple_fold_builtin (gimple_stmt_iterator *gsi)
args[0], args[0],
NULL_TREE); NULL_TREE);
break; break;
BUILTIN_VDQIF (UNOP, reduc_smax_, 10)
new_stmt = gimple_build_assign_with_ops (
REDUC_MAX_EXPR,
gimple_call_lhs (stmt),
args[0],
NULL_TREE);
break;
BUILTIN_VDQIF (UNOP, reduc_smin_, 10)
new_stmt = gimple_build_assign_with_ops (
REDUC_MIN_EXPR,
gimple_call_lhs (stmt),
args[0],
NULL_TREE);
break;
default: default:
break; break;
} }
......
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