diff options
Diffstat (limited to 'llvm/test/CodeGen/Mips/llvm-ir/select-dbl.ll')
| -rw-r--r-- | llvm/test/CodeGen/Mips/llvm-ir/select-dbl.ll | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/llvm/test/CodeGen/Mips/llvm-ir/select-dbl.ll b/llvm/test/CodeGen/Mips/llvm-ir/select-dbl.ll index 6067cfb3b1c..ed8d9030ccf 100644 --- a/llvm/test/CodeGen/Mips/llvm-ir/select-dbl.ll +++ b/llvm/test/CodeGen/Mips/llvm-ir/select-dbl.ll @@ -29,7 +29,7 @@ ; RUN: llc < %s -march=mips64 -mcpu=mips64r6 | FileCheck %s \ ; RUN: -check-prefix=ALL -check-prefix=SEL -check-prefix=SEL-64 -define double @tst_select_i1_double(i1 signext %s, double %x, double %y) { +define double @tst_select_i1_double(i1 %s, double %x, double %y) { entry: ; ALL-LABEL: tst_select_i1_double: @@ -53,8 +53,10 @@ entry: ; SEL-32: mtc1 $7, $[[F0:f[0-9]+]] ; SEL-32: mthc1 $6, $[[F0]] + ; SEL-32: sll $[[T0:[0-9]+]], $4, 31 + ; SEL-32: sra $[[T1:[0-9]+]], $[[T0]], 31 ; SEL-32: ldc1 $[[F1:f[0-9]+]], 16($sp) - ; SEL-32: mtc1 $4, $f0 + ; SEL-32: mtc1 $[[T1]], $f0 ; SEL-32: sel.d $f0, $[[F1]], $[[F0]] ; M3: andi $[[T0:[0-9]+]], $4, 1 @@ -69,14 +71,15 @@ entry: ; CMOV-64: movn.d $f14, $f13, $[[T0]] ; CMOV-64: mov.d $f0, $f14 - ; SEL-64: mtc1 $4, $f0 + ; SEL-64: dsll $[[T0:[0-9]+]], $4, 63 + ; SEL-64: dsra $[[T1:[0-9]+]], $[[T0]], 63 + ; SEL-64: dmtc1 $[[T1]], $f0 ; SEL-64: sel.d $f0, $f14, $f13 %r = select i1 %s, double %x, double %y ret double %r } -define double @tst_select_i1_double_reordered(double %x, double %y, - i1 signext %s) { +define double @tst_select_i1_double_reordered(double %x, double %y, i1 %s) { entry: ; ALL-LABEL: tst_select_i1_double_reordered: @@ -110,7 +113,9 @@ entry: ; CMOV-64: movn.d $f13, $f12, $[[T0]] ; CMOV-64: mov.d $f0, $f13 - ; SEL-64: mtc1 $6, $f0 + ; SEL-64: dsll $[[T0:[0-9]+]], $6, 63 + ; SEL-64: dsra $[[T1:[0-9]+]], $[[T0]], 63 + ; SEL-64: dmtc1 $[[T1]], $f0 ; SEL-64: sel.d $f0, $f13, $f12 %r = select i1 %s, double %x, double %y ret double %r |

