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/LoopUnroll.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/LoopUnroll.cpp')
0 files changed, 0 insertions, 0 deletions