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 27