https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61784
Bug ID: 61784
Summary: Little endian PowerPC does aborts if you use long
double constants
Product: gcc
Version: 4.10.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: meissner at gcc dot gnu.org
Host: powerpc64le-linux
Target: powerpc64le-linux
Build: powerpc64le-linux
If you use a long double constant in PowerPC little endian, the compiler will
issue a segmentation violation.
-genoa-> ./cc1 -O2 -quiet foo.c
foo.c: In function 'add1':
foo.c:1:43: internal compiler error: Segmentation fault
long double add1 (long double a) { return a + 1.0L; }
^
0x10a1c40b crash_signal
/home/meissner/fsf-src/ieee/gcc/toplev.c:337
0x10ec5000 rs6000_emit_move(rtx_def*, rtx_def*, machine_mode)
/home/meissner/fsf-src/ieee/gcc/config/rs6000/rs6000.c:8269
0x10ec5a8f rs6000_emit_move(rtx_def*, rtx_def*, machine_mode)
/home/meissner/fsf-src/ieee/gcc/config/rs6000/rs6000.c:8332
0x10ffd477 gen_movtf(rtx_def*, rtx_def*)
/home/meissner/fsf-src/ieee/gcc/config/rs6000/rs6000.md:9035
0x10400bd7 insn_gen_fn::operator()(rtx_def*, rtx_def*) const
/home/meissner/fsf-src/ieee/gcc/recog.h:308
0x1052db5f emit_move_insn_1(rtx_def*, rtx_def*)
/home/meissner/fsf-src/ieee/gcc/expr.c:3521
0x1052e237 emit_move_insn(rtx_def*, rtx_def*)
/home/meissner/fsf-src/ieee/gcc/expr.c:3615
0x1037f64b emit_library_call_value_1
/home/meissner/fsf-src/ieee/gcc/calls.c:4087
0x103804af emit_library_call_value(rtx_def*, rtx_def*, libcall_type,
machine_mode, int, ...)
/home/meissner/fsf-src/ieee/gcc/calls.c:4348
0x1087a0d3 expand_binop(machine_mode, optab_tag, rtx_def*, rtx_def*, rtx_def*,
int, optab_methods)
/home/meissner/fsf-src/ieee/gcc/optabs.c:2172
0x1054739f expand_expr_real_2(separate_ops*, rtx_def*, machine_mode,
expand_modifier)
/home/meissner/fsf-src/ieee/gcc/expr.c:9215
0x105483ff expand_expr_real_1(tree_node*, rtx_def*, machine_mode,
expand_modifier, rtx_def**, bool)
/home/meissner/fsf-src/ieee/gcc/expr.c:9403
0x10540937 expand_expr_real(tree_node*, rtx_def*, machine_mode,
expand_modifier, rtx_def**, bool)
/home/meissner/fsf-src/ieee/gcc/expr.c:7922
0x1038a59b expand_expr
/home/meissner/fsf-src/ieee/gcc/expr.h:451
0x1039c8ff expand_return
/home/meissner/fsf-src/ieee/gcc/cfgexpand.c:3157
0x1039cc0b expand_gimple_stmt_1
/home/meissner/fsf-src/ieee/gcc/cfgexpand.c:3232
0x1039d303 expand_gimple_stmt
/home/meissner/fsf-src/ieee/gcc/cfgexpand.c:3354
0x103a5873 expand_gimple_basic_block
/home/meissner/fsf-src/ieee/gcc/cfgexpand.c:5192
0x103a7bdf execute
/home/meissner/fsf-src/ieee/gcc/cfgexpand.c:5799
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <http://gcc.gnu.org/bugs.html> for instructions.