GCC trunk and 4.4 branch get internal compiler errors when building SPEC CPU2000 test 254.gap with "-O2 -fselective-scheduling -fsel-sched-pipelining" on powerpc-linux, as demonstrated by this minimized testcase:
----------------------------------------------------------------------- typedef struct TypHeader { unsigned long size; struct TypHeader **ptr; } *TypHandle; extern TypHandle NewBag (unsigned int type, unsigned long size); typedef unsigned long TypPoint32; TypHandle QuoPP (TypHandle hdL, TypHandle hdR) { TypHandle hdC; unsigned long degC; TypPoint32 *ptC; unsigned long degL; TypPoint32 *ptL; unsigned long degR; TypPoint32 *ptR; unsigned long p; degL = ((hdL)->size) / sizeof (TypPoint32); degR = ((hdR)->size) / sizeof (TypPoint32); degC = degL < degR ? degR : degL; hdC = NewBag (9, (unsigned long) (degC * sizeof (TypPoint32))); ptC = (TypPoint32 *) ((TypHandle *) ((hdC)->ptr)); for (p = 0; p < degC; p++) ptC[(((p) < (degR)) ? (ptR)[(p)] : (p))] = ((((((p) < (degL)) ? (ptL)[(p)] : (p))) < (degR)) ? (ptR)[((((p) < (degL)) ? (ptL)[(p)] : (p)))] : ((((p) < (degL)) ? (ptL)[(p)] : (p)))); } ----------------------------------------------------------------------- Trunk: elm3b149% /home/janis/tools/gcc-trunk-anonsvn/bin/gcc -O2 -fselective-scheduling -fsel-sched-pipelining -c bug.c bug.c: In function QuoPP: bug.c:33:1: error: unrecognizable insn: (insn 176 57 98 11 bug.c:31 (set (reg:CCUNS 199) (reg:CCUNS 200)) -1 (nil)) bug.c:33:1: internal compiler error: in extract_insn, at recog.c:2097 Please submit a full bug report, with preprocessed source if appropriate. See <http://gcc.gnu.org/bugs.html> for instructions. 4.4 branch: elm3b149% /home/janis/tools/gcc-4.4-anonsvn/bin/gcc -O2 -fselective-scheduling -fsel-sched-pipelining -c bug.c bug.c: In function QuoPP: bug.c:33: error: unrecognizable insn: (insn 167 91 89 13 bug.c:31 (set (reg:CCUNS 179) (reg:CCUNS 180)) -1 (nil)) bug.c:33: internal compiler error: in get_attr_type, at config/rs6000/rs6000.md:13160 Please submit a full bug report, with preprocessed source if appropriate. See <http://gcc.gnu.org/bugs.html> for instructions. -- Summary: unrecognizable insn for 254.gap with sel-sched Product: gcc Version: 4.5.0 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: tree-optimization AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: janis at gcc dot gnu dot org GCC target triplet: powerpc-linux http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42249