summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorAkira Hatanaka <ahatanaka@mips.com>2012-10-31 18:37:55 +0000
committerAkira Hatanaka <ahatanaka@mips.com>2012-10-31 18:37:55 +0000
commit497204a94b6ebe94b0cc9b9ef11eee7baf1df53b (patch)
tree65cace6203c0e12c77a630fbf7decd274b942de5 /test
parentb586aae15edfec655ca0d950776e92cab66516b6 (diff)
downloadllvm-497204a94b6ebe94b0cc9b9ef11eee7baf1df53b.tar.gz
llvm-497204a94b6ebe94b0cc9b9ef11eee7baf1df53b.tar.bz2
llvm-497204a94b6ebe94b0cc9b9ef11eee7baf1df53b.tar.xz
[mips] Set isAsCheapAsAMove flag on ADDiu and DADDiu, which enables
re-materialization of immediate loads. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167153 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test')
-rw-r--r--test/CodeGen/Mips/remat-immed-load.ll26
1 files changed, 26 insertions, 0 deletions
diff --git a/test/CodeGen/Mips/remat-immed-load.ll b/test/CodeGen/Mips/remat-immed-load.ll
new file mode 100644
index 0000000000..e4548f8ce2
--- /dev/null
+++ b/test/CodeGen/Mips/remat-immed-load.ll
@@ -0,0 +1,26 @@
+; RUN: llc -march=mipsel < %s | FileCheck %s -check-prefix=32
+; RUN: llc -march=mips64el -mcpu=mips64 -mattr=n64 < %s | FileCheck %s -check-prefix=64
+
+define void @f0() nounwind {
+entry:
+; 32: addiu $4, $zero, 1
+; 32: addiu $4, $zero, 1
+
+ tail call void @foo1(i32 1) nounwind
+ tail call void @foo1(i32 1) nounwind
+ ret void
+}
+
+declare void @foo1(i32)
+
+define void @f3() nounwind {
+entry:
+; 64: daddiu $4, $zero, 1
+; 64: daddiu $4, $zero, 1
+
+ tail call void @foo2(i64 1) nounwind
+ tail call void @foo2(i64 1) nounwind
+ ret void
+}
+
+declare void @foo2(i64)