19201fb9cSMichael Kuperstein; RUN: llvm-dis < %s.bc| FileCheck %s 2*c8eccd11SDuncan P. N. Exon Smith; RUN: verify-uselistorder < %s.bc 39201fb9cSMichael Kuperstein 49201fb9cSMichael Kuperstein; BinaryFloatOperation.3.2.ll.bc was generated by passing this file to llvm-as-3.2. 59201fb9cSMichael Kuperstein; The test checks that LLVM does not misread binary float instructions from 69201fb9cSMichael Kuperstein; older bitcode files. 79201fb9cSMichael Kuperstein 89201fb9cSMichael Kupersteindefine void @fadd(float %x1, double %x2 ,half %x3, fp128 %x4, x86_fp80 %x5, ppc_fp128 %x6){ 99201fb9cSMichael Kupersteinentry: 109201fb9cSMichael Kuperstein; CHECK: %res1 = fadd float %x1, %x1 119201fb9cSMichael Kuperstein %res1 = fadd float %x1, %x1 129201fb9cSMichael Kuperstein 139201fb9cSMichael Kuperstein; CHECK-NEXT: %res2 = fadd double %x2, %x2 149201fb9cSMichael Kuperstein %res2 = fadd double %x2, %x2 159201fb9cSMichael Kuperstein 169201fb9cSMichael Kuperstein; CHECK-NEXT: %res3 = fadd half %x3, %x3 179201fb9cSMichael Kuperstein %res3 = fadd half %x3, %x3 189201fb9cSMichael Kuperstein 199201fb9cSMichael Kuperstein; CHECK-NEXT: %res4 = fadd fp128 %x4, %x4 209201fb9cSMichael Kuperstein %res4 = fadd fp128 %x4, %x4 219201fb9cSMichael Kuperstein 229201fb9cSMichael Kuperstein; CHECK-NEXT: %res5 = fadd x86_fp80 %x5, %x5 239201fb9cSMichael Kuperstein %res5 = fadd x86_fp80 %x5, %x5 249201fb9cSMichael Kuperstein 259201fb9cSMichael Kuperstein; CHECK-NEXT: %res6 = fadd ppc_fp128 %x6, %x6 269201fb9cSMichael Kuperstein %res6 = fadd ppc_fp128 %x6, %x6 279201fb9cSMichael Kuperstein 289201fb9cSMichael Kuperstein ret void 299201fb9cSMichael Kuperstein} 309201fb9cSMichael Kuperstein 319201fb9cSMichael Kupersteindefine void @faddFloatVec(<2 x float> %x1, <3 x float> %x2 ,<4 x float> %x3, <8 x float> %x4, <16 x float> %x5){ 329201fb9cSMichael Kupersteinentry: 339201fb9cSMichael Kuperstein; CHECK: %res1 = fadd <2 x float> %x1, %x1 349201fb9cSMichael Kuperstein %res1 = fadd <2 x float> %x1, %x1 359201fb9cSMichael Kuperstein 369201fb9cSMichael Kuperstein; CHECK-NEXT: %res2 = fadd <3 x float> %x2, %x2 379201fb9cSMichael Kuperstein %res2 = fadd <3 x float> %x2, %x2 389201fb9cSMichael Kuperstein 399201fb9cSMichael Kuperstein; CHECK-NEXT: %res3 = fadd <4 x float> %x3, %x3 409201fb9cSMichael Kuperstein %res3 = fadd <4 x float> %x3, %x3 419201fb9cSMichael Kuperstein 429201fb9cSMichael Kuperstein; CHECK-NEXT: %res4 = fadd <8 x float> %x4, %x4 439201fb9cSMichael Kuperstein %res4 = fadd <8 x float> %x4, %x4 449201fb9cSMichael Kuperstein 459201fb9cSMichael Kuperstein; CHECK-NEXT: %res5 = fadd <16 x float> %x5, %x5 469201fb9cSMichael Kuperstein %res5 = fadd <16 x float> %x5, %x5 479201fb9cSMichael Kuperstein 489201fb9cSMichael Kuperstein ret void 499201fb9cSMichael Kuperstein} 509201fb9cSMichael Kuperstein 519201fb9cSMichael Kupersteindefine void @faddDoubleVec(<2 x double> %x1, <3 x double> %x2 ,<4 x double> %x3, <8 x double> %x4, <16 x double> %x5){ 529201fb9cSMichael Kupersteinentry: 539201fb9cSMichael Kuperstein; CHECK: %res1 = fadd <2 x double> %x1, %x1 549201fb9cSMichael Kuperstein %res1 = fadd <2 x double> %x1, %x1 559201fb9cSMichael Kuperstein 569201fb9cSMichael Kuperstein; CHECK-NEXT: %res2 = fadd <3 x double> %x2, %x2 579201fb9cSMichael Kuperstein %res2 = fadd <3 x double> %x2, %x2 589201fb9cSMichael Kuperstein 599201fb9cSMichael Kuperstein; CHECK-NEXT: %res3 = fadd <4 x double> %x3, %x3 609201fb9cSMichael Kuperstein %res3 = fadd <4 x double> %x3, %x3 619201fb9cSMichael Kuperstein 629201fb9cSMichael Kuperstein; CHECK-NEXT: %res4 = fadd <8 x double> %x4, %x4 639201fb9cSMichael Kuperstein %res4 = fadd <8 x double> %x4, %x4 649201fb9cSMichael Kuperstein 659201fb9cSMichael Kuperstein; CHECK-NEXT: %res5 = fadd <16 x double> %x5, %x5 669201fb9cSMichael Kuperstein %res5 = fadd <16 x double> %x5, %x5 679201fb9cSMichael Kuperstein 689201fb9cSMichael Kuperstein ret void 699201fb9cSMichael Kuperstein} 709201fb9cSMichael Kuperstein 719201fb9cSMichael Kupersteindefine void @faddHalfVec(<2 x half> %x1, <3 x half> %x2 ,<4 x half> %x3, <8 x half> %x4, <16 x half> %x5){ 729201fb9cSMichael Kupersteinentry: 739201fb9cSMichael Kuperstein; CHECK: %res1 = fadd <2 x half> %x1, %x1 749201fb9cSMichael Kuperstein %res1 = fadd <2 x half> %x1, %x1 759201fb9cSMichael Kuperstein 769201fb9cSMichael Kuperstein; CHECK-NEXT: %res2 = fadd <3 x half> %x2, %x2 779201fb9cSMichael Kuperstein %res2 = fadd <3 x half> %x2, %x2 789201fb9cSMichael Kuperstein 799201fb9cSMichael Kuperstein; CHECK-NEXT: %res3 = fadd <4 x half> %x3, %x3 809201fb9cSMichael Kuperstein %res3 = fadd <4 x half> %x3, %x3 819201fb9cSMichael Kuperstein 829201fb9cSMichael Kuperstein; CHECK-NEXT: %res4 = fadd <8 x half> %x4, %x4 839201fb9cSMichael Kuperstein %res4 = fadd <8 x half> %x4, %x4 849201fb9cSMichael Kuperstein 859201fb9cSMichael Kuperstein; CHECK-NEXT: %res5 = fadd <16 x half> %x5, %x5 869201fb9cSMichael Kuperstein %res5 = fadd <16 x half> %x5, %x5 879201fb9cSMichael Kuperstein 889201fb9cSMichael Kuperstein ret void 899201fb9cSMichael Kuperstein} 909201fb9cSMichael Kuperstein 919201fb9cSMichael Kupersteindefine void @fsub(float %x1){ 929201fb9cSMichael Kupersteinentry: 939201fb9cSMichael Kuperstein; CHECK: %res1 = fsub float %x1, %x1 949201fb9cSMichael Kuperstein %res1 = fsub float %x1, %x1 959201fb9cSMichael Kuperstein 969201fb9cSMichael Kuperstein ret void 979201fb9cSMichael Kuperstein} 989201fb9cSMichael Kuperstein 999201fb9cSMichael Kupersteindefine void @fmul(float %x1){ 1009201fb9cSMichael Kupersteinentry: 1019201fb9cSMichael Kuperstein; CHECK: %res1 = fmul float %x1, %x1 1029201fb9cSMichael Kuperstein %res1 = fmul float %x1, %x1 1039201fb9cSMichael Kuperstein 1049201fb9cSMichael Kuperstein ret void 1059201fb9cSMichael Kuperstein} 1069201fb9cSMichael Kuperstein 1079201fb9cSMichael Kupersteindefine void @fdiv(float %x1){ 1089201fb9cSMichael Kupersteinentry: 1099201fb9cSMichael Kuperstein; CHECK: %res1 = fdiv float %x1, %x1 1109201fb9cSMichael Kuperstein %res1 = fdiv float %x1, %x1 1119201fb9cSMichael Kuperstein 1129201fb9cSMichael Kuperstein ret void 1139201fb9cSMichael Kuperstein} 1149201fb9cSMichael Kuperstein 1159201fb9cSMichael Kupersteindefine void @frem(float %x1){ 1169201fb9cSMichael Kupersteinentry: 1179201fb9cSMichael Kuperstein; CHECK: %res1 = frem float %x1, %x1 1189201fb9cSMichael Kuperstein %res1 = frem float %x1, %x1 1199201fb9cSMichael Kuperstein 1209201fb9cSMichael Kuperstein ret void 1219201fb9cSMichael Kuperstein} 122