Some GCC tests such as gcc.c-torture/execute/simd-5.c fail on powerpc-none-eabispe with an ICE in final_scan_insn (not optimizing) or reload_cse_simplify_operands (optimizing). This happens with trunk and 4.1 branch but not with 4.0 branch. Reduced testcase:
typedef short Q __attribute__((vector_size(8))); Q a, b, c; void f (void) { c = a * b; } Non-optimizing: t.c: In function 'f': t.c:9: error: insn does not satisfy its constraints: (insn 45 74 75 (set (reg:V4HI 0 0 [158]) (mem/u/c/i:V4HI (lo_sum:SI (reg:SI 10 10) (symbol_ref/u:SI ("*.LC0") [flags 0x2])) [0 S8 A64])) 1059 {*movv4hi_internal} (nil) (nil)) t.c:9: internal compiler error: in final_scan_insn, at final.c:2379 Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://gcc.gnu.org/bugs.html> for instructions. With -O: t.c: In function 'f': t.c:9: error: insn does not satisfy its constraints: (insn 18 68 66 2 (set (reg:V4HI 0 0 [127]) (mem/u/c/i:V4HI (lo_sum:SI (reg:SI 6 6) (symbol_ref/u:SI ("*.LC0") [flags 0x82])) [0 S8 A64])) 1059 {*movv4hi_internal} (nil) (nil)) t.c:9: internal compiler error: in reload_cse_simplify_operands, at postreload.c:393 Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://gcc.gnu.org/bugs.html> for instructions. -- Summary: [4.1/4.2 Regression] ICEs in final_scan_insn and reload_cse_simplify_operands for vectors with SPE Product: gcc Version: 4.2.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: jsm28 at gcc dot gnu dot org GCC target triplet: powerpc*-*-*spe http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27566