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: unassig...@gcc.gnu.org ReportedBy: gli...@gcc.gnu.org #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.