summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen/Mips/llvm-ir/select-int.ll
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/test/CodeGen/Mips/llvm-ir/select-int.ll')
-rw-r--r--llvm/test/CodeGen/Mips/llvm-ir/select-int.ll14
1 files changed, 10 insertions, 4 deletions
diff --git a/llvm/test/CodeGen/Mips/llvm-ir/select-int.ll b/llvm/test/CodeGen/Mips/llvm-ir/select-int.ll
index c4632fb3c8e..87f2ca4b8a1 100644
--- a/llvm/test/CodeGen/Mips/llvm-ir/select-int.ll
+++ b/llvm/test/CodeGen/Mips/llvm-ir/select-int.ll
@@ -29,7 +29,8 @@
; RUN: llc < %s -march=mips64 -mcpu=mips64r6 | FileCheck %s \
; RUN: -check-prefix=ALL -check-prefix=SEL -check-prefix=SEL-64
-define signext i1 @tst_select_i1_i1(i1 %s, i1 signext %x, i1 signext %y) {
+define signext i1 @tst_select_i1_i1(i1 signext %s,
+ i1 signext %x, i1 signext %y) {
entry:
; ALL-LABEL: tst_select_i1_i1:
@@ -53,7 +54,8 @@ entry:
ret i1 %r
}
-define signext i8 @tst_select_i1_i8(i1 %s, i8 signext %x, i8 signext %y) {
+define signext i8 @tst_select_i1_i8(i1 signext %s,
+ i8 signext %x, i8 signext %y) {
entry:
; ALL-LABEL: tst_select_i1_i8:
@@ -77,7 +79,8 @@ entry:
ret i8 %r
}
-define signext i32 @tst_select_i1_i32(i1 %s, i32 signext %x, i32 signext %y) {
+define signext i32 @tst_select_i1_i32(i1 signext %s,
+ i32 signext %x, i32 signext %y) {
entry:
; ALL-LABEL: tst_select_i1_i32:
@@ -101,7 +104,8 @@ entry:
ret i32 %r
}
-define signext i64 @tst_select_i1_i64(i1 %s, i64 signext %x, i64 signext %y) {
+define signext i64 @tst_select_i1_i64(i1 signext %s,
+ i64 signext %x, i64 signext %y) {
entry:
; ALL-LABEL: tst_select_i1_i64:
@@ -148,6 +152,8 @@ entry:
; CMOV-64: move $2, $6
; SEL-64: andi $[[T0:[0-9]+]], $4, 1
+ ; FIXME: This shift is redundant
+ ; SEL-64: sll $[[T0]], $[[T0]], 0
; SEL-64: seleqz $[[T1:[0-9]+]], $6, $[[T0]]
; SEL-64: selnez $[[T0]], $5, $[[T0]]
; SEL-64: or $2, $[[T0]], $[[T1]]
OpenPOWER on IntegriCloud