On mips64-linux-gnu the following testcase aborts: void abort (void);
__attribute__ ((noinline)) void f (int i) { if (i != 0x87654321) abort (); asm (""); } __attribute__ ((noinline)) void g (long long a) { f (a); asm (""); } main () { g (0x1234567887654321ll); return 0; } -- Summary: [4.1/4.2/4.3/4.4 Regression] Truncation optimization in combine can remove necessary truncations Product: gcc Version: 4.4.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: middle-end AssignedTo: nemet at gcc dot gnu dot org ReportedBy: nemet at gcc dot gnu dot org GCC target triplet: mips64-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36194