http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54193
Bug #: 54193
Summary: dump_gimple_assign raw can't handle 4 operands
Classification: Unclassified
Product: gcc
Version: 4.8.0
Status: UNCONFIRMED
Severity: minor
Priority: P3
Component: middle-end
AssignedTo: [email protected]
ReportedBy: [email protected]
#include <x86intrin.h>
__m128d
f (__m128d x)
{
__m128i m = {0, 1};
return __builtin_shuffle (x, m);
}
$ gcc sh.c -c -fdump-tree-optimized-raw
sh.c: In function 'f':
sh.c:4:1: internal compiler error: in dump_gimple_assign, at
gimple-pretty-print.c:485
f (__m128d x)
^
Please submit a full bug report,
which is fairly natural with code like:
if (gimple_num_ops (gs) == 2)
last = NULL_TREE;
else if (gimple_num_ops (gs) == 3)
last = gimple_assign_rhs2 (gs);
else
gcc_unreachable ();
(the non-raw version below goes up to 4)
I guess the -raw option doesn't see much use these days. I was trying it
because sometimes it isn't obvious what tree code is meant by the C-like
representation.