diff options
| author | Bruno Cardoso Lopes <bruno.cardoso@gmail.com> | 2010-07-20 07:58:51 +0000 |
|---|---|---|
| committer | Bruno Cardoso Lopes <bruno.cardoso@gmail.com> | 2010-07-20 07:58:51 +0000 |
| commit | ea7863647b1ad197ddaadab07288e5971485623e (patch) | |
| tree | cf998bdb1efbd937c6810b72d22d686ff9dcd085 /llvm/test/CodeGen/Mips | |
| parent | a93fe2de3c6ae2297354f4ff1c15fd4159199f01 (diff) | |
| download | bcm5719-llvm-ea7863647b1ad197ddaadab07288e5971485623e.tar.gz bcm5719-llvm-ea7863647b1ad197ddaadab07288e5971485623e.zip | |
Fix Mips PR7473. Patch by stetorvs@gmail.com
llvm-svn: 108816
Diffstat (limited to 'llvm/test/CodeGen/Mips')
| -rw-r--r-- | llvm/test/CodeGen/Mips/2010-07-20-Select.ll | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/Mips/2010-07-20-Select.ll b/llvm/test/CodeGen/Mips/2010-07-20-Select.ll new file mode 100644 index 00000000000..8b7f9a91937 --- /dev/null +++ b/llvm/test/CodeGen/Mips/2010-07-20-Select.ll @@ -0,0 +1,21 @@ +; RUN: llc < %s -march=mips -relocation-model=static | FileCheck %s +; Fix PR7473 + +define i32 @main() nounwind readnone { +entry: + %a = alloca i32, align 4 ; <i32*> [#uses=2] + %c = alloca i32, align 4 ; <i32*> [#uses=2] + volatile store i32 1, i32* %a, align 4 + volatile store i32 0, i32* %c, align 4 + %0 = volatile load i32* %a, align 4 ; <i32> [#uses=1] + %1 = icmp eq i32 %0, 0 ; <i1> [#uses=1] +; CHECK: addiu $4, $zero, 3 + %iftmp.0.0 = select i1 %1, i32 3, i32 0 ; <i32> [#uses=1] + %2 = volatile load i32* %c, align 4 ; <i32> [#uses=1] + %3 = icmp eq i32 %2, 0 ; <i1> [#uses=1] +; CHECK: addu $4, $zero, $3 +; CHECK: addu $2, $5, $4 + %iftmp.2.0 = select i1 %3, i32 0, i32 5 ; <i32> [#uses=1] + %4 = add nsw i32 %iftmp.2.0, %iftmp.0.0 ; <i32> [#uses=1] + ret i32 %4 +} |

