Commit 32490940 by Jakub Jelinek Committed by Jakub Jelinek

re PR c++/83778 (g++.dg/ext/altivec-cell-2.C fails starting with r256448)

	PR c++/83778
	* config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): Call
	fold_for_warn before checking if arg2 is INTEGER_CST.

From-SVN: r256599
parent 20c89ab7
2018-01-12 Jakub Jelinek <jakub@redhat.com>
PR c++/83778
* config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): Call
fold_for_warn before checking if arg2 is INTEGER_CST.
2018-01-12 Segher Boessenkool <segher@kernel.crashing.org>
* config/rs6000/predicates.md (load_multiple_operation): Delete.
......
......@@ -6496,6 +6496,8 @@ altivec_resolve_overloaded_builtin (location_t loc, tree fndecl,
tree call = NULL_TREE;
int nunits = GET_MODE_NUNITS (mode);
arg2 = fold_for_warn (arg2);
/* If the second argument is an integer constant, if the value is in
the expected range, generate the built-in code if we can. We need
64-bit and direct move to extract the small integer vectors. */
......@@ -6640,7 +6642,7 @@ altivec_resolve_overloaded_builtin (location_t loc, tree fndecl,
arg0 = (*arglist)[0];
arg1 = (*arglist)[1];
arg1_type = TREE_TYPE (arg1);
arg2 = (*arglist)[2];
arg2 = fold_for_warn ((*arglist)[2]);
if (TREE_CODE (arg1_type) != VECTOR_TYPE)
goto bad;
......
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