GCC 3.4 (branch and all releases) gets an internal compiler error with the test case on powerpc64-linux for both -m32 and -m64 with -O2: elm3b11% /opt/gcc-nightly/3.4/bin/gcc -c -O2 -m64 bug.c bug.c: In function `func3': bug.c:55: error: insn does not satisfy its constraints: (insn:HI 90 163 91 6 (set (reg/v:SF 66 ctr [orig:130 b ] [130]) (reg/v:SF 66 ctr [orig:142 a ] [142])) 306 {*movsf_hardfloat} (nil) (nil)) bug.c:55: internal compiler error: in reload_cse_simplify_operands, at postreload.c:391 GCC 3.3.5 doesn't get the error, so it's a regression. GCC 4.0.x and mainline don't get the error; it was fixed this this patch to mainline by dalej: http://gcc.gnu.org/ml/gcc-cvs/2004-02/msg01205.html I'll submit the backported patch for the 3.4 branch but wanted to have a PR to reference first.
-- Summary: ICE for bad powerpc hard float move Product: gcc Version: 3.4.5 Status: UNCONFIRMED Severity: normal Priority: P2 Component: target AssignedTo: janis at gcc dot gnu dot org ReportedBy: janis at gcc dot gnu dot org CC: dalej at gcc dot gnu dot org,gcc-bugs at gcc dot gnu dot org GCC build triplet: powerpc-linux GCC host triplet: powerpc-linux GCC target triplet: powerpc-linux http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22081