diff options
| author | Saleem Abdulrasool <compnerd@compnerd.org> | 2014-05-04 23:13:21 +0000 |
|---|---|---|
| committer | Saleem Abdulrasool <compnerd@compnerd.org> | 2014-05-04 23:13:21 +0000 |
| commit | e8a7afef86220229a872b78b5e3dd212574d741a (patch) | |
| tree | 9078e14b7806efbdf1835dd2361df881a830c92a /llvm/test | |
| parent | 9c4716e4b6d2bd036ed4bc7a92407d74d7637bef (diff) | |
| download | bcm5719-llvm-e8a7afef86220229a872b78b5e3dd212574d741a.tar.gz bcm5719-llvm-e8a7afef86220229a872b78b5e3dd212574d741a.zip | |
CodeGen: correct memset emittance for WoA
Windows on ARM does not conform to AEABI. However, memset would be emitted
using the AEABI signature, resulting in inverted parameters. Handle this
special case appropriately.
llvm-svn: 207943
Diffstat (limited to 'llvm/test')
| -rw-r--r-- | llvm/test/CodeGen/ARM/Windows/memset.ll | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/ARM/Windows/memset.ll b/llvm/test/CodeGen/ARM/Windows/memset.ll new file mode 100644 index 00000000000..bcf744c909d --- /dev/null +++ b/llvm/test/CodeGen/ARM/Windows/memset.ll @@ -0,0 +1,18 @@ +; RUN: llc -mtriple thumbv7--windows-itanium -filetype asm -o - %s | FileCheck %s + +@source = common global [512 x i8] zeroinitializer, align 4 + +declare void @llvm.memset.p0i8.i32(i8* nocapture, i8, i32, i32, i1) nounwind + +define void @function() { +entry: + call void @llvm.memset.p0i8.i32(i8* bitcast ([512 x i8]* @source to i8*), i8 0, i32 512, i32 0, i1 false) + unreachable +} + +; CHECK: movs r1, #0 +; CHECK: mov.w r2, #512 +; CHECK: movw r0, :lower16:source +; CHECK: movt r0, :upper16:source +; CHECK: memset + |

