diff options
Diffstat (limited to 'test/Transforms/InstCombine/2006-11-03-Memmove64.ll')
-rw-r--r-- | test/Transforms/InstCombine/2006-11-03-Memmove64.ll | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/test/Transforms/InstCombine/2006-11-03-Memmove64.ll b/test/Transforms/InstCombine/2006-11-03-Memmove64.ll new file mode 100644 index 0000000..550c2eb --- /dev/null +++ b/test/Transforms/InstCombine/2006-11-03-Memmove64.ll @@ -0,0 +1,19 @@ +; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | \ +; RUN: not grep memmove.i32 +; Instcombine was trying to turn this into a memmove.i32 + +target datalayout = "e-p:64:64" +target endian = little +target pointersize = 64 +target triple = "alphaev67-unknown-linux-gnu" +%str10 = internal constant [1 x sbyte] zeroinitializer ; <[1 x sbyte]*> [#uses=1] + +implementation ; Functions: + +void %do_join(sbyte* %b) { +entry: + call void %llvm.memmove.i64( sbyte* %b, sbyte* getelementptr ([1 x sbyte]* %str10, int 0, ulong 0), ulong 1, uint 1 ) + ret void +} + +declare void %llvm.memmove.i64(sbyte*, sbyte*, ulong, uint) |