Fix bug 13532.
[oota-llvm.git] / test / CodeGen / Mips / mips64ext.ll
1 ; RUN: llc  < %s -march=mips64el -mcpu=mips64 -mattr=n64 | FileCheck %s 
2
3 define i64 @zext64_32(i32 %a) nounwind readnone {
4 entry:
5 ; CHECK: addiu $[[R0:[0-9]+]], ${{[0-9]+}}, 2
6 ; CHECK: dsll $[[R1:[0-9]+]], $[[R0]], 32
7 ; CHECK: dsrl ${{[0-9]+}}, $[[R1]], 32
8   %add = add i32 %a, 2
9   %conv = zext i32 %add to i64
10   ret i64 %conv
11 }
12
13 define i64 @sext64_32(i32 %a) nounwind readnone {
14 entry:
15 ; CHECK: sll ${{[0-9]+}}, ${{[0-9]+}}, 0
16   %conv = sext i32 %a to i64
17   ret i64 %conv
18 }
19
20 define i64 @i64_float(float %f) nounwind readnone {
21 entry:
22 ; CHECK: trunc.l.s 
23   %conv = fptosi float %f to i64
24   ret i64 %conv
25 }
26