blob: 22ea0eb7769ca452e2bbcb5f9e9638c043d75aa5 [file] [log] [blame]
Daniel Sanders1d3ae272014-04-14 16:00:28 +00001; RUN: llc < %s -march=mips64el -mcpu=mips4 -mattr=n64 | FileCheck %s
2; RUN: llc < %s -march=mips64el -mcpu=mips64 -mattr=n64 | FileCheck %s
Akira Hatanakaae378af2011-12-07 23:14:41 +00003
4define i64 @zext64_32(i32 %a) nounwind readnone {
5entry:
6; CHECK: addiu $[[R0:[0-9]+]], ${{[0-9]+}}, 2
Akira Hatanaka2a232d82011-12-19 19:44:09 +00007; CHECK: dsll $[[R1:[0-9]+]], $[[R0]], 32
8; CHECK: dsrl ${{[0-9]+}}, $[[R1]], 32
Akira Hatanakaae378af2011-12-07 23:14:41 +00009 %add = add i32 %a, 2
10 %conv = zext i32 %add to i64
11 ret i64 %conv
12}
Akira Hatanaka494fdf12011-12-20 22:40:40 +000013
14define i64 @sext64_32(i32 %a) nounwind readnone {
15entry:
16; CHECK: sll ${{[0-9]+}}, ${{[0-9]+}}, 0
17 %conv = sext i32 %a to i64
18 ret i64 %conv
19}
20
Akira Hatanaka77dbd782012-01-24 22:05:25 +000021define i64 @i64_float(float %f) nounwind readnone {
22entry:
23; CHECK: trunc.l.s
24 %conv = fptosi float %f to i64
25 ret i64 %conv
26}
27