This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug rtl-optimization/45296] New: register long double ICE at -O2, -Os, -O3
- From: "adam at consulting dot net dot nz" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 16 Aug 2010 06:24:19 -0000
- Subject: [Bug rtl-optimization/45296] New: register long double ICE at -O2, -Os, -O3
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
#include <stdint.h>
register long double F80 __asm__("st");
typedef void (*inst_t)(uint32_t *ip);
void exec_inst(uint32_t *ip) {
((inst_t) (uint64_t) ip[0])(ip);
}
int main() {
return 0;
}
At -O2 and above gcc generates:
register_long_double_ICE.c:3:1: warning: call-clobbered register used for
global register variable
register_long_double_ICE.c: In function ?exec_inst?:
register_long_double_ICE.c:9:1: internal compiler error: in compensate_edge, at
reg-stack.c:2789
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-4.5/README.Bugs> for instructions.
--
Summary: register long double ICE at -O2, -Os, -O3
Product: gcc
Version: unknown
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: rtl-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: adam at consulting dot net dot nz
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45296
- Follow-Ups:
- [Bug rtl-optimization/45296] register long double ICE at -O2, -Os, -O3
- From: ubizjak at gmail dot com
- [Bug target/45296] register long double ICE at -O2, -Os, -O3
- From: rguenth at gcc dot gnu dot org
- [Bug target/45296] register long double ICE at -O2, -Os, -O3
- From: adam at consulting dot net dot nz
- [Bug target/45296] register long double ICE at -O2, -Os, -O3
- From: jakub at gcc dot gnu dot org
- [Bug target/45296] register long double ICE at -O2, -Os, -O3
- From: ubizjak at gmail dot com
- [Bug target/45296] register long double ICE at -O2, -Os, -O3
- From: ubizjak at gmail dot com
- [Bug target/45296] register long double ICE at -O2, -Os, -O3
- From: uros at gcc dot gnu dot org
- [Bug target/45296] register long double ICE at -O2, -Os, -O3
- From: uros at gcc dot gnu dot org
- [Bug target/45296] register long double ICE at -O2, -Os, -O3
- From: uros at gcc dot gnu dot org
- [Bug target/45296] register long double ICE at -O2, -Os, -O3
- From: ubizjak at gmail dot com