Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

wrong code at -O3 in 32-bit mode on x86_64-linux-gnu #28055

Closed
chengniansun opened this issue May 9, 2016 · 6 comments
Closed

wrong code at -O3 in 32-bit mode on x86_64-linux-gnu #28055

chengniansun opened this issue May 9, 2016 · 6 comments
Labels
bugzilla Issues migrated from bugzilla clang Clang issues not falling into any other category

Comments

@chengniansun
Copy link

Bugzilla Link 27681
Resolution FIXED
Resolved on Sep 08, 2016 10:54
Version trunk
OS Windows NT
CC @majnemer,@zmodem,@hfinkel,@RKSimon,@rotateright

Extended Description

The following code is miscompiled by clang-trunk at -O3 in 32-bit mode on x86_64-linux-gnu.

$: clang-trunk -v
clang version 3.9.0 (trunk 268870)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /usr/local/bin
Found candidate GCC installation: /usr/lib/gcc/i686-linux-gnu/4.9
Found candidate GCC installation: /usr/lib/gcc/i686-linux-gnu/4.9.3
Found candidate GCC installation: /usr/lib/gcc/i686-linux-gnu/5.3.0
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.4
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.4.7
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.6
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.6.4
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.7
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.7.3
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.8
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.8.5
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.9
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.9.3
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/5.3.0
Found candidate GCC installation: /usr/local/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.6.3
Found candidate GCC installation: /usr/local/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.7.4
Found candidate GCC installation: /usr/local/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.8.2
Selected GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.9
Candidate multilib: .;@m64
Candidate multilib: 32;@m32
Candidate multilib: x32;@MX32
Selected multilib: .;@m64
$:
$: clang-trunk -O3 -m32 small.c
$: ./a.out
Floating point exception (core dumped)
$: clang-trunk -O2 -m32 small.c
$: ./a.out
$: cat small.c
int a, i;
unsigned short b, c = 4, d = 5, e, f, g;
long long h;
void fn1() {
int j = 0;
for (; a;)
L1:;
unsigned char k = e;
if (f) {
L2:
h = b % h & k;
goto L1;
}
int l = j;
int m = ~i * d;
j = ~(g || d) ^ d >> (h && c) * m;
e = (d || m) + d;
d = ~ - (d && m >> i) & ~(j && (l || h));
if (!(d < c))
goto L2;
}

int main() { fn1(); return 0;}
$:

@majnemer
Copy link
Mannequin

majnemer mannequin commented May 9, 2016

Bisect points to r267809:
Author: Mitch Bodart mitch.l.bodart@intel.com
Date: Wed Apr 27 22:52:35 2016 +0000

[X86] Enable the post-RA-scheduler for clang's default 32-bit cpu.

For compilations with no explicit cpu specified, this exhibits
nice gains on Silvermont, with neutral performance on big cores.

Differential Revision: http://reviews.llvm.org/D19138

Mitch, can you please take a look?

@majnemer
Copy link
Mannequin

majnemer mannequin commented May 18, 2016

*** Bug llvm/llvm-bugzilla-archive#27804 has been marked as a duplicate of this bug. ***

@zmodem
Copy link
Collaborator

zmodem commented Aug 4, 2016

I can't reproduce this on 3.9 or trunk. Was it fixed?

@rotateright
Copy link
Contributor

Yep - this was fixed with:
https://reviews.llvm.org/rL270935

@rotateright
Copy link
Contributor

*** Bug #27954 has been marked as a duplicate of this bug. ***

@majnemer
Copy link
Mannequin

majnemer mannequin commented Nov 26, 2021

mentioned in issue llvm/llvm-bugzilla-archive#27804

@llvmbot llvmbot transferred this issue from llvm/llvm-bugzilla-archive Dec 10, 2021
This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bugzilla Issues migrated from bugzilla clang Clang issues not falling into any other category
Projects
None yet
Development

No branches or pull requests

3 participants