brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.3 KiB · acb4bb9 Raw
170 lines · plain
1; RUN: llc -mtriple=i386-pc-linux < %s | FileCheck %s2; RUN: llc -mtriple=x86_64-pc-linux < %s | FileCheck %s3 4; Function Attrs: nounwind5; CHECK-LABEL: s64_to_d:6; CHECK: call{{l|q}} __floatdidf7define double @s64_to_d(i64 %n) #0 {8entry:9  %conv = sitofp i64 %n to double10  ret double %conv11}12 13; CHECK-LABEL: s64_to_f:14; CHECK: call{{l|q}} __floatdisf15define float @s64_to_f(i64 %n) #0 {16entry:17  %conv = sitofp i64 %n to float18  ret float %conv19}20 21; CHECK-LABEL: s32_to_d:22; CHECK: call{{l|q}} __floatsidf23define double @s32_to_d(i32 %n) #0 {24entry:25  %conv = sitofp i32 %n to double26  ret double %conv27}28 29; CHECK-LABEL: s32_to_f:30; CHECK: call{{l|q}} __floatsisf31define float @s32_to_f(i32 %n) #0 {32entry:33  %conv = sitofp i32 %n to float34  ret float %conv35}36 37; CHECK-LABEL: u64_to_d:38; CHECK: call{{l|q}} __floatundidf39define double @u64_to_d(i64 %n) #0 {40entry:41  %conv = uitofp i64 %n to double42  ret double %conv43}44 45; CHECK-LABEL: u64_to_f:46; CHECK: call{{l|q}} __floatundisf47define float @u64_to_f(i64 %n) #0 {48entry:49  %conv = uitofp i64 %n to float50  ret float %conv51}52 53; CHECK-LABEL: u32_to_d:54; CHECK: call{{l|q}} __floatunsidf55define double @u32_to_d(i32 %n) #0 {56entry:57  %conv = uitofp i32 %n to double58  ret double %conv59}60 61; CHECK-LABEL: u32_to_f:62; CHECK: call{{l|q}} __floatunsisf63define float @u32_to_f(i32 %n) #0 {64entry:65  %conv = uitofp i32 %n to float66  ret float %conv67}68 69; CHECK-LABEL: d_to_s64:70; CHECK: call{{l|q}} __fixdfdi71define i64 @d_to_s64(double %n) #0 {72entry:73  %conv = fptosi double %n to i6474  ret i64 %conv75}76 77; CHECK-LABEL: d_to_s32:78; CHECK: call{{l|q}} __fixdfsi79define i32 @d_to_s32(double %n) #0 {80entry:81  %conv = fptosi double %n to i3282  ret i32 %conv83}84 85; CHECK-LABEL: f_to_s64:86; CHECK: call{{l|q}} __fixsfdi87define i64 @f_to_s64(float %n) #0 {88entry:89  %conv = fptosi float %n to i6490  ret i64 %conv91}92 93; CHECK-LABEL: f_to_s32:94; CHECK: call{{l|q}} __fixsfsi95define i32 @f_to_s32(float %n) #0 {96entry:97  %conv = fptosi float %n to i3298  ret i32 %conv99}100 101; CHECK-LABEL: d_to_u64:102; CHECK: call{{l|q}} __fixunsdfdi103define i64 @d_to_u64(double %n) #0 {104entry:105  %conv = fptoui double %n to i64106  ret i64 %conv107}108 109; CHECK-LABEL: d_to_u32:110; CHECK: call{{l|q}} __fixunsdfsi111define i32 @d_to_u32(double %n) #0 {112entry:113  %conv = fptoui double %n to i32114  ret i32 %conv115}116 117; CHECK-LABEL: f_to_u64:118; CHECK: call{{l|q}} __fixunssfdi119define i64 @f_to_u64(float %n) #0 {120entry:121  %conv = fptoui float %n to i64122  ret i64 %conv123}124 125; CHECK-LABEL: f_to_u32:126; CHECK: call{{l|q}} __fixunssfsi127define i32 @f_to_u32(float %n) #0 {128entry:129  %conv = fptoui float %n to i32130  ret i32 %conv131}132 133; CHECK-LABEL: f_to_s8:134; CHECK: call{{l|q}} __fixsfsi135define i8 @f_to_s8(float %f, i8 %i) #0 {136entry:137  %conv = fptosi float %f to i8138  %add = add i8 %conv, %i139  ret i8 %add140}141 142; CHECK-LABEL: f_to_u8:143; CHECK: call{{l|q}} __fixunssfsi144define i8 @f_to_u8(float %f, i8 %i) #0 {145entry:146  %conv = fptoui float %f to i8147  %add = add i8 %conv, %i148  ret i8 %add149}150 151; CHECK-LABEL: f_to_s16:152; CHECK: call{{l|q}} __fixsfsi153define i16 @f_to_s16(float %f, i16 %i) #0 {154entry:155  %conv = fptosi float %f to i16156  %add = add i16 %conv, %i157  ret i16 %add158}159 160; CHECK-LABEL: f_to_u16:161; CHECK: call{{l|q}} __fixunssfsi162define i16 @f_to_u16(float %f, i16 %i) #0 {163entry:164  %conv = fptoui float %f to i16165  %add = add i16 %conv, %i166  ret i16 %add167}168 169attributes #0 = { nounwind "use-soft-float"="true" }170