brintos

brintos / llvm-project-archived public Read only

0
0
Text · 10.8 KiB · 74291fb Raw
321 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc -O3 -mtriple=i686-pc-windows-msvc -mattr=+cmov < %s | FileCheck %s3 4define float @ceil(float %x) #0 {5; CHECK-LABEL: ceil:6; CHECK:       # %bb.0:7; CHECK-NEXT:    subl $12, %esp8; CHECK-NEXT:    flds {{[0-9]+}}(%esp)9; CHECK-NEXT:    fstpl (%esp)10; CHECK-NEXT:    wait11; CHECK-NEXT:    calll _ceil12; CHECK-NEXT:    fstps {{[0-9]+}}(%esp)13; CHECK-NEXT:    flds {{[0-9]+}}(%esp)14; CHECK-NEXT:    wait15; CHECK-NEXT:    addl $12, %esp16; CHECK-NEXT:    retl17  %result = call float @llvm.experimental.constrained.ceil.f32(float %x, metadata !"fpexcept.strict") #018  ret float %result19}20 21define float @cos(float %x) #0 {22; CHECK-LABEL: cos:23; CHECK:       # %bb.0:24; CHECK-NEXT:    subl $12, %esp25; CHECK-NEXT:    flds {{[0-9]+}}(%esp)26; CHECK-NEXT:    fstpl (%esp)27; CHECK-NEXT:    wait28; CHECK-NEXT:    calll _cos29; CHECK-NEXT:    fstps {{[0-9]+}}(%esp)30; CHECK-NEXT:    flds {{[0-9]+}}(%esp)31; CHECK-NEXT:    wait32; CHECK-NEXT:    addl $12, %esp33; CHECK-NEXT:    retl34  %result = call float @llvm.experimental.constrained.cos.f32(float %x, metadata !"round.dynamic", metadata !"fpexcept.strict") #035  ret float %result36}37 38define float @exp(float %x) #0 {39; CHECK-LABEL: exp:40; CHECK:       # %bb.0:41; CHECK-NEXT:    subl $12, %esp42; CHECK-NEXT:    flds {{[0-9]+}}(%esp)43; CHECK-NEXT:    fstpl (%esp)44; CHECK-NEXT:    wait45; CHECK-NEXT:    calll _exp46; CHECK-NEXT:    fstps {{[0-9]+}}(%esp)47; CHECK-NEXT:    flds {{[0-9]+}}(%esp)48; CHECK-NEXT:    wait49; CHECK-NEXT:    addl $12, %esp50; CHECK-NEXT:    retl51  %result = call float @llvm.experimental.constrained.exp.f32(float %x, metadata !"round.dynamic", metadata !"fpexcept.strict") #052  ret float %result53}54 55define float @floor(float %x) #0 {56; CHECK-LABEL: floor:57; CHECK:       # %bb.0:58; CHECK-NEXT:    subl $12, %esp59; CHECK-NEXT:    flds {{[0-9]+}}(%esp)60; CHECK-NEXT:    fstpl (%esp)61; CHECK-NEXT:    wait62; CHECK-NEXT:    calll _floor63; CHECK-NEXT:    fstps {{[0-9]+}}(%esp)64; CHECK-NEXT:    flds {{[0-9]+}}(%esp)65; CHECK-NEXT:    wait66; CHECK-NEXT:    addl $12, %esp67; CHECK-NEXT:    retl68  %result = call float @llvm.experimental.constrained.floor.f32(float %x, metadata !"fpexcept.strict") #069  ret float %result70}71 72define float @frem(float %x, float %y) #0 {73; CHECK-LABEL: frem:74; CHECK:       # %bb.0:75; CHECK-NEXT:    subl $20, %esp76; CHECK-NEXT:    flds {{[0-9]+}}(%esp)77; CHECK-NEXT:    flds {{[0-9]+}}(%esp)78; CHECK-NEXT:    fxch %st(1)79; CHECK-NEXT:    fstpl {{[0-9]+}}(%esp)80; CHECK-NEXT:    fstpl (%esp)81; CHECK-NEXT:    wait82; CHECK-NEXT:    calll _fmod83; CHECK-NEXT:    fstps {{[0-9]+}}(%esp)84; CHECK-NEXT:    flds {{[0-9]+}}(%esp)85; CHECK-NEXT:    wait86; CHECK-NEXT:    addl $20, %esp87; CHECK-NEXT:    retl88  %result = call float @llvm.experimental.constrained.frem.f32(float %x, float %y, metadata !"round.dynamic", metadata !"fpexcept.strict") #089  ret float %result90}91 92define float @log(float %x) #0 {93; CHECK-LABEL: log:94; CHECK:       # %bb.0:95; CHECK-NEXT:    subl $12, %esp96; CHECK-NEXT:    flds {{[0-9]+}}(%esp)97; CHECK-NEXT:    fstpl (%esp)98; CHECK-NEXT:    wait99; CHECK-NEXT:    calll _log100; CHECK-NEXT:    fstps {{[0-9]+}}(%esp)101; CHECK-NEXT:    flds {{[0-9]+}}(%esp)102; CHECK-NEXT:    wait103; CHECK-NEXT:    addl $12, %esp104; CHECK-NEXT:    retl105  %result = call float @llvm.experimental.constrained.log.f32(float %x, metadata !"round.dynamic", metadata !"fpexcept.strict") #0106  ret float %result107}108 109define float @log10(float %x) #0 {110; CHECK-LABEL: log10:111; CHECK:       # %bb.0:112; CHECK-NEXT:    subl $12, %esp113; CHECK-NEXT:    flds {{[0-9]+}}(%esp)114; CHECK-NEXT:    fstpl (%esp)115; CHECK-NEXT:    wait116; CHECK-NEXT:    calll _log10117; CHECK-NEXT:    fstps {{[0-9]+}}(%esp)118; CHECK-NEXT:    flds {{[0-9]+}}(%esp)119; CHECK-NEXT:    wait120; CHECK-NEXT:    addl $12, %esp121; CHECK-NEXT:    retl122  %result = call float @llvm.experimental.constrained.log10.f32(float %x, metadata !"round.dynamic", metadata !"fpexcept.strict") #0123  ret float %result124}125 126define float @pow(float %x, float %y) #0 {127; CHECK-LABEL: pow:128; CHECK:       # %bb.0:129; CHECK-NEXT:    subl $20, %esp130; CHECK-NEXT:    flds {{[0-9]+}}(%esp)131; CHECK-NEXT:    flds {{[0-9]+}}(%esp)132; CHECK-NEXT:    fxch %st(1)133; CHECK-NEXT:    fstpl {{[0-9]+}}(%esp)134; CHECK-NEXT:    fstpl (%esp)135; CHECK-NEXT:    wait136; CHECK-NEXT:    calll _pow137; CHECK-NEXT:    fstps {{[0-9]+}}(%esp)138; CHECK-NEXT:    flds {{[0-9]+}}(%esp)139; CHECK-NEXT:    wait140; CHECK-NEXT:    addl $20, %esp141; CHECK-NEXT:    retl142  %result = call float @llvm.experimental.constrained.pow.f32(float %x, float %y, metadata !"round.dynamic", metadata !"fpexcept.strict") #0143  ret float %result144}145 146define float @sin(float %x) #0 {147; CHECK-LABEL: sin:148; CHECK:       # %bb.0:149; CHECK-NEXT:    subl $12, %esp150; CHECK-NEXT:    flds {{[0-9]+}}(%esp)151; CHECK-NEXT:    fstpl (%esp)152; CHECK-NEXT:    wait153; CHECK-NEXT:    calll _sin154; CHECK-NEXT:    fstps {{[0-9]+}}(%esp)155; CHECK-NEXT:    flds {{[0-9]+}}(%esp)156; CHECK-NEXT:    wait157; CHECK-NEXT:    addl $12, %esp158; CHECK-NEXT:    retl159  %result = call float @llvm.experimental.constrained.sin.f32(float %x, metadata !"round.dynamic", metadata !"fpexcept.strict") #0160  ret float %result161}162 163define float @tan(float %x) #0 {164; CHECK-LABEL: tan:165; CHECK:       # %bb.0:166; CHECK-NEXT:    subl $12, %esp167; CHECK-NEXT:    flds {{[0-9]+}}(%esp)168; CHECK-NEXT:    fstpl (%esp)169; CHECK-NEXT:    wait170; CHECK-NEXT:    calll _tan171; CHECK-NEXT:    fstps {{[0-9]+}}(%esp)172; CHECK-NEXT:    flds {{[0-9]+}}(%esp)173; CHECK-NEXT:    wait174; CHECK-NEXT:    addl $12, %esp175; CHECK-NEXT:    retl176  %result = call float @llvm.experimental.constrained.tan.f32(float %x, metadata !"round.dynamic", metadata !"fpexcept.strict") #0177  ret float %result178}179 180define float @acos(float %x) #0 {181; CHECK-LABEL: acos:182; CHECK:       # %bb.0:183; CHECK-NEXT:    subl $12, %esp184; CHECK-NEXT:    flds {{[0-9]+}}(%esp)185; CHECK-NEXT:    fstpl (%esp)186; CHECK-NEXT:    wait187; CHECK-NEXT:    calll _acos188; CHECK-NEXT:    fstps {{[0-9]+}}(%esp)189; CHECK-NEXT:    flds {{[0-9]+}}(%esp)190; CHECK-NEXT:    wait191; CHECK-NEXT:    addl $12, %esp192; CHECK-NEXT:    retl193  %result = call float @llvm.experimental.constrained.acos.f32(float %x, metadata !"round.dynamic", metadata !"fpexcept.strict") #0194  ret float %result195}196 197define float @asin(float %x) #0 {198; CHECK-LABEL: asin:199; CHECK:       # %bb.0:200; CHECK-NEXT:    subl $12, %esp201; CHECK-NEXT:    flds {{[0-9]+}}(%esp)202; CHECK-NEXT:    fstpl (%esp)203; CHECK-NEXT:    wait204; CHECK-NEXT:    calll _asin205; CHECK-NEXT:    fstps {{[0-9]+}}(%esp)206; CHECK-NEXT:    flds {{[0-9]+}}(%esp)207; CHECK-NEXT:    wait208; CHECK-NEXT:    addl $12, %esp209; CHECK-NEXT:    retl210  %result = call float @llvm.experimental.constrained.asin.f32(float %x, metadata !"round.dynamic", metadata !"fpexcept.strict") #0211  ret float %result212}213 214define float @atan(float %x) #0 {215; CHECK-LABEL: atan:216; CHECK:       # %bb.0:217; CHECK-NEXT:    subl $12, %esp218; CHECK-NEXT:    flds {{[0-9]+}}(%esp)219; CHECK-NEXT:    fstpl (%esp)220; CHECK-NEXT:    wait221; CHECK-NEXT:    calll _atan222; CHECK-NEXT:    fstps {{[0-9]+}}(%esp)223; CHECK-NEXT:    flds {{[0-9]+}}(%esp)224; CHECK-NEXT:    wait225; CHECK-NEXT:    addl $12, %esp226; CHECK-NEXT:    retl227  %result = call float @llvm.experimental.constrained.atan.f32(float %x, metadata !"round.dynamic", metadata !"fpexcept.strict") #0228  ret float %result229}230 231define float @atan2(float %x, float %y) #0 {232; CHECK-LABEL: atan2:233; CHECK:       # %bb.0:234; CHECK-NEXT:    subl $20, %esp235; CHECK-NEXT:    flds {{[0-9]+}}(%esp)236; CHECK-NEXT:    flds {{[0-9]+}}(%esp)237; CHECK-NEXT:    fxch %st(1)238; CHECK-NEXT:    fstpl {{[0-9]+}}(%esp)239; CHECK-NEXT:    fstpl (%esp)240; CHECK-NEXT:    wait241; CHECK-NEXT:    calll _atan2242; CHECK-NEXT:    fstps {{[0-9]+}}(%esp)243; CHECK-NEXT:    flds {{[0-9]+}}(%esp)244; CHECK-NEXT:    wait245; CHECK-NEXT:    addl $20, %esp246; CHECK-NEXT:    retl247  %result = call float @llvm.experimental.constrained.atan2.f32(float %x, float %y, metadata !"round.dynamic", metadata !"fpexcept.strict") #0248  ret float %result249}250 251define float @cosh(float %x) #0 {252; CHECK-LABEL: cosh:253; CHECK:       # %bb.0:254; CHECK-NEXT:    subl $12, %esp255; CHECK-NEXT:    flds {{[0-9]+}}(%esp)256; CHECK-NEXT:    fstpl (%esp)257; CHECK-NEXT:    wait258; CHECK-NEXT:    calll _cosh259; CHECK-NEXT:    fstps {{[0-9]+}}(%esp)260; CHECK-NEXT:    flds {{[0-9]+}}(%esp)261; CHECK-NEXT:    wait262; CHECK-NEXT:    addl $12, %esp263; CHECK-NEXT:    retl264  %result = call float @llvm.experimental.constrained.cosh.f32(float %x, metadata !"round.dynamic", metadata !"fpexcept.strict") #0265  ret float %result266}267 268define float @sinh(float %x) #0 {269; CHECK-LABEL: sinh:270; CHECK:       # %bb.0:271; CHECK-NEXT:    subl $12, %esp272; CHECK-NEXT:    flds {{[0-9]+}}(%esp)273; CHECK-NEXT:    fstpl (%esp)274; CHECK-NEXT:    wait275; CHECK-NEXT:    calll _sinh276; CHECK-NEXT:    fstps {{[0-9]+}}(%esp)277; CHECK-NEXT:    flds {{[0-9]+}}(%esp)278; CHECK-NEXT:    wait279; CHECK-NEXT:    addl $12, %esp280; CHECK-NEXT:    retl281  %result = call float @llvm.experimental.constrained.sinh.f32(float %x, metadata !"round.dynamic", metadata !"fpexcept.strict") #0282  ret float %result283}284 285define float @tanh(float %x) #0 {286; CHECK-LABEL: tanh:287; CHECK:       # %bb.0:288; CHECK-NEXT:    subl $12, %esp289; CHECK-NEXT:    flds {{[0-9]+}}(%esp)290; CHECK-NEXT:    fstpl (%esp)291; CHECK-NEXT:    wait292; CHECK-NEXT:    calll _tanh293; CHECK-NEXT:    fstps {{[0-9]+}}(%esp)294; CHECK-NEXT:    flds {{[0-9]+}}(%esp)295; CHECK-NEXT:    wait296; CHECK-NEXT:    addl $12, %esp297; CHECK-NEXT:    retl298  %result = call float @llvm.experimental.constrained.tanh.f32(float %x, metadata !"round.dynamic", metadata !"fpexcept.strict") #0299  ret float %result300}301 302attributes #0 = { strictfp }303 304declare float @llvm.experimental.constrained.ceil.f32(float, metadata)305declare float @llvm.experimental.constrained.cos.f32(float, metadata, metadata)306declare float @llvm.experimental.constrained.exp.f32(float, metadata, metadata)307declare float @llvm.experimental.constrained.floor.f32(float, metadata)308declare float @llvm.experimental.constrained.frem.f32(float, float, metadata, metadata)309declare float @llvm.experimental.constrained.log.f32(float, metadata, metadata)310declare float @llvm.experimental.constrained.log10.f32(float, metadata, metadata)311declare float @llvm.experimental.constrained.pow.f32(float, float, metadata, metadata)312declare float @llvm.experimental.constrained.sin.f32(float, metadata, metadata)313declare float @llvm.experimental.constrained.tan.f32(float, metadata, metadata)314declare float @llvm.experimental.constrained.acos.f32(float, metadata, metadata)315declare float @llvm.experimental.constrained.asin.f32(float, metadata, metadata)316declare float @llvm.experimental.constrained.atan.f32(float, metadata, metadata)317declare float @llvm.experimental.constrained.atan2.f32(float, float, metadata, metadata)318declare float @llvm.experimental.constrained.cosh.f32(float, metadata, metadata)319declare float @llvm.experimental.constrained.sinh.f32(float, metadata, metadata)320declare float @llvm.experimental.constrained.tanh.f32(float, metadata, metadata)321