[x86] Fix a bug in the auto-upgrade from r276416 where we failed to give
authorChandler Carruth <chandlerc@gmail.com>
Wed, 10 Aug 2016 07:41:26 +0000 (07:41 +0000)
committerChandler Carruth <chandlerc@gmail.com>
Wed, 10 Aug 2016 07:41:26 +0000 (07:41 +0000)
commit0215e76836204b2226628e49148e679886688f5b
treee4b5dd21327cfbae3ac25bb760b3992e15e99b81
parent4c5e8ccf748ec104bc5ff90b131306674f3cfecd
[x86] Fix a bug in the auto-upgrade from r276416 where we failed to give
a sufficiently low alignment for the IR load created.

There is no test case because we don't have any test cases for the *IR*
produced by the autoupgrade, only the x86 assembly, and it happens that
the x86 assembly for this intrinsic as it is tested in the autoupgrade
path just happens to not produce a separate load instruction where we
might have observed the alignment.

I'm going to follow up on the original commit to suggest getting
IR-level testing in addition to the asm level testing here so that we
can see and test these kinds of issues. We might never get an x86
instruction out with an alignment constraint, but we could stil
miscompile code by folding against the alignment marked on (or inferred
for in this case) the load.

llvm-svn: 278203
llvm/lib/IR/AutoUpgrade.cpp