| ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py |
| ; RUN: llc < %s -mtriple=i386-unknown-linux-gnu | FileCheck %s |
| |
| define double @foo(i16 %a) #0 { |
| ; CHECK-LABEL: foo: |
| ; CHECK: # %bb.0: |
| ; CHECK-NEXT: subl $12, %esp |
| ; CHECK-NEXT: .cfi_def_cfa_offset 16 |
| ; CHECK-NEXT: movzwl {{[0-9]+}}(%esp), %eax |
| ; CHECK-NEXT: movl %eax, (%esp) |
| ; CHECK-NEXT: calll __floatsidf |
| ; CHECK-NEXT: addl $12, %esp |
| ; CHECK-NEXT: .cfi_def_cfa_offset 4 |
| ; CHECK-NEXT: retl |
| %conv = zext i16 %a to i32 |
| %conv1 = sitofp i32 %conv to double |
| ret double %conv1 |
| } |
| |
| attributes #0 = { "use-soft-float"="true" } |