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.

Reply via email to