https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69399
Bug ID: 69399
Summary: [5/6 Regression] wrong code with -O and int128 (due to
ccp?)
Product: gcc
Version: 6.0
Status: UNCONFIRMED
Keywords: wrong-code
Severity: normal
Priority: P3
Component: tree-optimization
Assignee: unassigned at gcc dot gnu.org
Reporter: zsojka at seznam dot cz
Target Milestone: ---
Host: x86_64-pc-linux-gnu
Target: x86_64-*-gnux32, aarch64-*, powerpc64-*, sparc64-*
Created attachment 37411
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=37411&action=edit
reduced testcase
Compiler output:
$ x86_64-pc-linux-gnux32-gcc -O testcase.c
$ ./a.out
Aborted
$ x86_64-pc-linux-gnux32-gcc -O testcase.c -fno-tree-ccp
$ ./a.out
$ x86_64-pc-linux-gnux32-gcc -v
Using built-in specs.
COLLECT_GCC=/repo/gcc-trunk/binary-latest-x32/bin/x86_64-pc-linux-gnux32-gcc
COLLECT_LTO_WRAPPER=/repo/gcc-trunk/binary-trunk-232548-checking-yes-rtl-df-nographite-x32/bin/../libexec/gcc/x86_64-pc-linux-gnux32/6.0.0/lto-wrapper
Target: x86_64-pc-linux-gnux32
Configured with: /repo/gcc-trunk//configure --enable-languages=c,c++
--enable-checking=yes,rtl,df --without-cloog --without-ppl --without-isl
--with-abi=mx32 --build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu
--target=x86_64-pc-linux-gnux32 --with-ld=/usr/bin/x86_64-pc-linux-gnux32-ld
--with-as=/usr/bin/x86_64-pc-linux-gnux32-as
--with-sysroot=/usr/x86_64-pc-linux-gnux32 --disable-libstdcxx-pch
--prefix=/repo/gcc-trunk//binary-trunk-232548-checking-yes-rtl-df-nographite-x32
Thread model: posix
gcc version 6.0.0 20160119 (experimental) (GCC)
The first broken dump seems to be .ccp1:
__attribute__((noclone, noinline))
foo (u64D.1749 uD.1751)
{
u64D.1749 u_1(D) = uD.1751;
u128D.1750 vD.1754;
long long unsigned intD.14 _2;
;; basic block 2, loop depth 0, count 0, freq 0, maybe hot
;; prev block 0, next block 1, flags: (NEW, REACHABLE)
;; pred: ENTRY (FALLTHRU,EXECUTABLE)
_2 = u_1(D) | 4294967169;
v_3 = (u128D.1750) _2;
# VUSE <.MEM_6(D)>
return 4294967169;
;; succ: EXIT
}
Tested revisions:
trunk r232548 - FAIL (native x86_64-pc-linux-gnu has PASS here)
5-branch r232545 - FAIL
4_[6789]-branch - OK