summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/Mips/MipsSEInstrInfo.cpp
diff options
context:
space:
mode:
authorRichard Sandiford <rsandifo@linux.vnet.ibm.com>2013-08-27 09:54:29 +0000
committerRichard Sandiford <rsandifo@linux.vnet.ibm.com>2013-08-27 09:54:29 +0000
commit5e318f0bfeb6276a1db0656a9719d1de520f1ed5 (patch)
tree9b22e856cfaa20310244f577ce12a13b1c604dc4 /llvm/lib/Target/Mips/MipsSEInstrInfo.cpp
parent70835f6025a9a539c38c25389cd0ee959f2ab20b (diff)
downloadbcm5719-llvm-5e318f0bfeb6276a1db0656a9719d1de520f1ed5.tar.gz
bcm5719-llvm-5e318f0bfeb6276a1db0656a9719d1de520f1ed5.zip
[SystemZ] Extend memcpy and memset support to all constant lengths
Lengths up to a certain threshold (currently 6 * 256) use a series of MVCs. Lengths above that threshold use a loop to handle X*256 bytes followed by a single MVC to handle the excess (if any). This loop will also be needed in future when support for variable lengths is added. Because the same tablegen classes are used to define MVC and CLC, the patch also has the side-effect of defining a pseudo loop instruction for CLC. That instruction isn't used yet (and wouldn't be handled correctly if it were). I'm planning to use it soon though. llvm-svn: 189331
Diffstat (limited to 'llvm/lib/Target/Mips/MipsSEInstrInfo.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud