[SystemZ] Use "STC;MVC" for memset
authorRichard Sandiford <rsandifo@linux.vnet.ibm.com>
Tue, 9 Jul 2013 09:32:42 +0000 (09:32 +0000)
committerRichard Sandiford <rsandifo@linux.vnet.ibm.com>
Tue, 9 Jul 2013 09:32:42 +0000 (09:32 +0000)
commitf6ea5e0d8007234fc74c1ff6ac2c3ca316c41d92
tree885d12c6564d8dc4cc6042b030eb521372518cbb
parentfcb7b97892dad5bc6ae55f513f8a111563078996
[SystemZ] Use "STC;MVC" for memset

Use "STC;MVC" for memsets that are too big for two STCs or MV...Is yet
small enough for a single MVC.  As with memcpy, I'm leaving longer cases
till later.

The number of tests might seem excessive, but f33 & f34 from memset-04.ll
failed the first cut because I'd not added the "?:" on the calculation
of Size1.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185918 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/SystemZ/SystemZISelLowering.cpp
lib/Target/SystemZ/SystemZSelectionDAGInfo.cpp
lib/Target/SystemZ/SystemZSelectionDAGInfo.h
test/CodeGen/SystemZ/memset-01.ll [new file with mode: 0644]
test/CodeGen/SystemZ/memset-02.ll [new file with mode: 0644]
test/CodeGen/SystemZ/memset-03.ll [new file with mode: 0644]
test/CodeGen/SystemZ/memset-04.ll [new file with mode: 0644]