50 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc < %s -mtriple=i686-- -x86-asm-syntax=att -mattr=-sse2 | FileCheck %s3 4define fastcc double @sint64_to_fp(i64 %X) {5; CHECK-LABEL: sint64_to_fp:6; CHECK: # %bb.0:7; CHECK-NEXT: pushl %ebp8; CHECK-NEXT: .cfi_def_cfa_offset 89; CHECK-NEXT: .cfi_offset %ebp, -810; CHECK-NEXT: movl %esp, %ebp11; CHECK-NEXT: .cfi_def_cfa_register %ebp12; CHECK-NEXT: andl $-8, %esp13; CHECK-NEXT: subl $8, %esp14; CHECK-NEXT: movl %edx, {{[0-9]+}}(%esp)15; CHECK-NEXT: movl %ecx, (%esp)16; CHECK-NEXT: fildll (%esp)17; CHECK-NEXT: movl %ebp, %esp18; CHECK-NEXT: popl %ebp19; CHECK-NEXT: .cfi_def_cfa %esp, 420; CHECK-NEXT: retl21 %R = sitofp i64 %X to double ; <double> [#uses=1]22 ret double %R23}24 25define fastcc double @uint64_to_fp(i64 %X) {26; CHECK-LABEL: uint64_to_fp:27; CHECK: # %bb.0:28; CHECK-NEXT: pushl %ebp29; CHECK-NEXT: .cfi_def_cfa_offset 830; CHECK-NEXT: .cfi_offset %ebp, -831; CHECK-NEXT: movl %esp, %ebp32; CHECK-NEXT: .cfi_def_cfa_register %ebp33; CHECK-NEXT: andl $-8, %esp34; CHECK-NEXT: subl $16, %esp35; CHECK-NEXT: movl %edx, {{[0-9]+}}(%esp)36; CHECK-NEXT: movl %ecx, (%esp)37; CHECK-NEXT: shrl $31, %edx38; CHECK-NEXT: fildll (%esp)39; CHECK-NEXT: fadds {{\.?LCPI[0-9]+_[0-9]+}}(,%edx,4)40; CHECK-NEXT: fstpl {{[0-9]+}}(%esp)41; CHECK-NEXT: fldl {{[0-9]+}}(%esp)42; CHECK-NEXT: movl %ebp, %esp43; CHECK-NEXT: popl %ebp44; CHECK-NEXT: .cfi_def_cfa %esp, 445; CHECK-NEXT: retl46 %R = uitofp i64 %X to double ; <double> [#uses=1]47 ret double %R48}49 50