diff options
author | Bjorn Pettersson <bjorn.a.pettersson@ericsson.com> | 2022-09-29 18:14:15 +0200 |
---|---|---|
committer | Bjorn Pettersson <bjorn.a.pettersson@ericsson.com> | 2022-09-29 21:24:31 +0200 |
commit | e4fcbf3950092a78852e09f7cd8fe1d703967516 (patch) | |
tree | ab0673e703fce49942b14d7d112ca2c6ca4e9e6f /clang/lib/Frontend/InitPreprocessor.cpp | |
parent | 3a79f1caa9bd1e43f4e0e9187b87c978105c40b1 (diff) | |
download | llvm-e4fcbf3950092a78852e09f7cd8fe1d703967516.zip llvm-e4fcbf3950092a78852e09f7cd8fe1d703967516.tar.gz llvm-e4fcbf3950092a78852e09f7cd8fe1d703967516.tar.bz2 |
[X86] Pre-commit test case showing bug in combineOr (X86ISelLowering.cpp)
In combineOr (X86ISelLowering.cpp) there is a DAG combine that rewrite
a "(0 - SetCC) | C" pattern into something simpler given that a LEA
can be used. Another requirement is that C has some specific value,
for example 1 or 7. When doing that check it is using a 32-bit
unsigned variable to store the value of C. So for a 64-bit OR this
could miscompile in case any of the 32 most significant bits in C
are set.
This patch adds a test case to show this miscompile bug.
Differential Revision: https://reviews.llvm.org/D134890
Diffstat (limited to 'clang/lib/Frontend/InitPreprocessor.cpp')
0 files changed, 0 insertions, 0 deletions