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.