diff options
| author | Bruno Cardoso Lopes <bruno.cardoso@gmail.com> | 2011-08-10 17:45:17 +0000 |
|---|---|---|
| committer | Bruno Cardoso Lopes <bruno.cardoso@gmail.com> | 2011-08-10 17:45:17 +0000 |
| commit | 6ad251358ed5775cb94f6d4b15afa7bd745c1125 (patch) | |
| tree | 4675594dd5d731122a1fe7e46f9d70f4c77147a1 /lib/Transforms/Utils/CloneModule.cpp | |
| parent | 1cc5e3883076593d027a4b0eebfc91c07b6cbc40 (diff) | |
The following X86 pattern is incorrect:
def : Pat<(X86Movss VR128:$src1,
(bc_v4i32 (v2i64 (load addr:$src2)))),
(MOVLPSrm VR128:$src1, addr:$src2)>;
This matches a MOVSS dag with a MOVLPS instruction. However, MOVSS will replace only the low 32 bits of the register, while the MOVLPS instruction will replace the low 64 bits. A testcase is added and illustrates the bug and also modified the one that was already present. Patch by Tanya Lattner.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137227 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Transforms/Utils/CloneModule.cpp')
0 files changed, 0 insertions, 0 deletions
