From e8a7afef86220229a872b78b5e3dd212574d741a Mon Sep 17 00:00:00 2001 From: Saleem Abdulrasool Date: Sun, 4 May 2014 23:13:21 +0000 Subject: 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 --- llvm/test/CodeGen/ARM/Windows/memset.ll | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 llvm/test/CodeGen/ARM/Windows/memset.ll (limited to 'llvm/test') 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 + -- cgit v1.2.3