xref: /llvm-project/llvm/test/CodeGen/X86/fp_load_cast_fold.ll (revision 2f448bf509432c1a19ec46ab8cbc7353c03c6280)
1; RUN: llc < %s -mtriple=i686-- | FileCheck %s
2
3define double @short(ptr %P) {
4        %V = load i16, ptr %P               ; <i16> [#uses=1]
5        %V2 = sitofp i16 %V to double           ; <double> [#uses=1]
6        ret double %V2
7}
8
9define double @int(ptr %P) {
10        %V = load i32, ptr %P               ; <i32> [#uses=1]
11        %V2 = sitofp i32 %V to double           ; <double> [#uses=1]
12        ret double %V2
13}
14
15define double @long(ptr %P) {
16        %V = load i64, ptr %P               ; <i64> [#uses=1]
17        %V2 = sitofp i64 %V to double           ; <double> [#uses=1]
18        ret double %V2
19}
20
21; CHECK: long
22; CHECK: fild
23; CHECK-NOT: esp
24; CHECK-NOT: esp
25; CHECK: {{$}}
26; CHECK: ret
27