diff options
author | Duncan Sands <baldrick@free.fr> | 2008-11-12 08:23:26 +0000 |
---|---|---|
committer | Duncan Sands <baldrick@free.fr> | 2008-11-12 08:23:26 +0000 |
commit | aa7060c88595bc5eae879bd6188f5d96f0ea6558 (patch) | |
tree | 1c674c64741ed2bceb37264b5ac687ef563e36a2 /llvm/test | |
parent | e4df875dd602d8255e4e010ad2dfe2c3d25e8256 (diff) | |
download | bcm5719-llvm-aa7060c88595bc5eae879bd6188f5d96f0ea6558.tar.gz bcm5719-llvm-aa7060c88595bc5eae879bd6188f5d96f0ea6558.zip |
Correct some thinkos in the expansion of ADD/SUB
when the target does not support ADDC/SUBC. This
fixes PR3044.
llvm-svn: 59120
Diffstat (limited to 'llvm/test')
-rw-r--r-- | llvm/test/CodeGen/Alpha/2008-11-12-Add128.ll | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/Alpha/2008-11-12-Add128.ll b/llvm/test/CodeGen/Alpha/2008-11-12-Add128.ll new file mode 100644 index 00000000000..e6e57464cb2 --- /dev/null +++ b/llvm/test/CodeGen/Alpha/2008-11-12-Add128.ll @@ -0,0 +1,14 @@ +; RUN: llvm-as < %s | llc +; PR3044 +target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-f128:128:128" +target triple = "alphaev6-unknown-linux-gnu" + +define i128 @__mulvti3(i128 %u, i128 %v) nounwind { +entry: + %0 = load i128* null, align 16 ; <i128> [#uses=1] + %1 = load i64* null, align 8 ; <i64> [#uses=1] + %2 = zext i64 %1 to i128 ; <i128> [#uses=1] + %3 = add i128 %2, %0 ; <i128> [#uses=1] + store i128 %3, i128* null, align 16 + unreachable +} |