Commit 1e4fa9b1 by Jakub Jelinek Committed by Jakub Jelinek

re PR tree-optimization/77860 (ICE in gimple_build_assign_1, at gimple.c:420)

	PR tree-optimization/77860
	* tree-ssa-reassoc.c (eliminate_using_constants): Handle
	also integral complex and vector constants.

	* gcc.dg/pr77860.c: New test.

From-SVN: r241706
parent 520c47e8
2016-10-31 Jakub Jelinek <jakub@redhat.com> 2016-10-31 Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/77860
* tree-ssa-reassoc.c (eliminate_using_constants): Handle
also integral complex and vector constants.
* dwarf2out.c (dwarf2out_define, dwarf2out_undef, output_macinfo_op, * dwarf2out.c (dwarf2out_define, dwarf2out_undef, output_macinfo_op,
optimize_macinfo_range, save_macinfo_strings): Replace optimize_macinfo_range, save_macinfo_strings): Replace
DW_MACRO_GNU_* constants with corresponding DW_MACRO_* constants. DW_MACRO_GNU_* constants with corresponding DW_MACRO_* constants.
2016-10-31 Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/77860
* gcc.dg/pr77860.c: New test.
2016-10-31 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com> 2016-10-31 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
* gcc.dg/lto/pr60449_0.c: Skip for avr. * gcc.dg/lto/pr60449_0.c: Skip for avr.
...@@ -12,7 +17,6 @@ ...@@ -12,7 +17,6 @@
* g++.dg/warn/Wshadow-local-1.C: Likewise. * g++.dg/warn/Wshadow-local-1.C: Likewise.
* g++.dg/warn/Wshadow-local-2.C: Likewise. * g++.dg/warn/Wshadow-local-2.C: Likewise.
2016-10-30 Bill Schmidt <wschmidt@linux.vnet.ibm.com> 2016-10-30 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
PR tree-optimization/71915 PR tree-optimization/71915
......
/* PR tree-optimization/77860 */
/* { dg-do compile } */
/* { dg-options "-O2 -fno-tree-vrp -fno-tree-forwprop -Wno-psabi" } */
typedef unsigned short V __attribute__((vector_size (16)));
V
foo (V x, V y)
{
V a = -x;
V b = -y;
return a * b;
}
...@@ -924,7 +924,7 @@ eliminate_using_constants (enum tree_code opcode, ...@@ -924,7 +924,7 @@ eliminate_using_constants (enum tree_code opcode,
tree type = TREE_TYPE (oelast->op); tree type = TREE_TYPE (oelast->op);
if (oelast->rank == 0 if (oelast->rank == 0
&& (INTEGRAL_TYPE_P (type) || FLOAT_TYPE_P (type))) && (ANY_INTEGRAL_TYPE_P (type) || FLOAT_TYPE_P (type)))
{ {
switch (opcode) switch (opcode)
{ {
......
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