[Bug target/86133] powerpc (-mcpu=8548) internal compiler error for double variables
kiran0802 at gmail dot com
gcc-bugzilla@gcc.gnu.org
Wed Jun 13 11:39:00 GMT 2018
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86133
--- Comment #1 from Kiran Alladi <kiran0802 at gmail dot com> ---
I am trying to compile the code with -mno-spe but still it seems that compiler
is generating spe instructions.
~/kiran$ cat test.c
double var_double = 0;
long var_long = 0;
void my_func( double var_val )
{
var_long = (long)(var_double);
}
~/kiran$ powerpc-eabi-gcc-6.4.0 -mcpu=8548 -G8 -msdata=eabi -mhard-float
-mno-spe -c test.c
test.c: In function ‘my_func’:
test.c:7:1: internal compiler error: output_operand: invalid %y value, try
using the 'Z' constraint
}
^
0x785f50 output_operand_lossage(char const*, ...)
../../gcc-6.4.0/gcc/final.c:3409
0x78628c output_operand(rtx_def*, int)
../../gcc-6.4.0/gcc/final.c:3843
0x786ddb output_asm_insn(char const*, rtx_def**)
../../gcc-6.4.0/gcc/final.c:3740
0x788344 final_scan_insn(rtx_insn*, _IO_FILE*, int, int, int*)
../../gcc-6.4.0/gcc/final.c:3015
0x788e41 final(rtx_insn*, _IO_FILE*, int)
../../gcc-6.4.0/gcc/final.c:2045
0x7892ed rest_of_handle_final
../../gcc-6.4.0/gcc/final.c:4441
0x7892ed execute
../../gcc-6.4.0/gcc/final.c:4516
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.
~/kiran$ powerpc-eabi-gcc-6.4.0 -v
Using built-in specs.
COLLECT_GCC=powerpc-eabi-gcc-6.4.0
COLLECT_LTO_WRAPPER=/home/cross_compiler/powerpc-eabi/6.4.0/install/libexec/gcc/powerpc-eabi/6.4.0/lto-wrapper
Target: powerpc-eabi
Configured with: ../gcc-6.4.0/configure
--prefix=/home/powerpc-eabi/6.4.0/install --target=powerpc-eabi
--enable-languages=c,c++ --disable-multilib
Thread model: single
gcc version 6.4.0 (GCC)
----------------------------------------------------------------------------
Respective assembly(test.s):
.file "test.c"
.globl var_double
.section ".sbss","aw",@nobits
.align 3
var_double:
.zero 8
.size var_double, 8
.type var_double, @object
.globl var_long
.align 2
var_long:
.zero 4
.size var_long, 4
.type var_long, @object
.section ".text"
.align 2
.globl my_func
.type my_func, @function
my_func:
stwu 1,-24(1)
stw 31,20(1)
mr 31,1
evstdd 3,8(31)
evldd 9,
I had also tried with -G num size less than 8 and the compilation with through
without any errors. However, in this case compiler is generating spe
instruction even with -mno-spe option.
More information about the Gcc-bugs
mailing list