188eb535bSJames Molloy; RUN: llvm-as < %s | llvm-dis > %t0 288eb535bSJames Molloy; RUN: opt -S < %s > %t1 388eb535bSJames Molloy; RUN: diff %t0 %t1 488eb535bSJames Molloy; RUN: FileCheck < %t1 %s 588eb535bSJames Molloy 6*15c0515aSMichael Berg; Make sure fast math flags on fcmp instructions are serialized/deserialized properly. 788eb535bSJames Molloy 888eb535bSJames Molloydefine i1 @foo(float %a, float %b, double %c, double %d) { 988eb535bSJames Molloy ; CHECK: %plain = fcmp ueq float %a, %b 1088eb535bSJames Molloy %plain = fcmp ueq float %a, %b 1188eb535bSJames Molloy ; CHECK: %fast = fcmp fast olt float %a, %b 1288eb535bSJames Molloy %fast = fcmp fast olt float %a, %b 1388eb535bSJames Molloy ; CHECK: %nsz = fcmp nsz uge float %a, %b 1488eb535bSJames Molloy %nsz = fcmp nsz uge float %a, %b 1588eb535bSJames Molloy ; CHECK: %nnan = fcmp nnan nsz oge double %c, %d 1688eb535bSJames Molloy %nnan = fcmp nnan nsz oge double %c, %d 1788eb535bSJames Molloy 1888eb535bSJames Molloy %dce1 = or i1 %plain, %fast 1988eb535bSJames Molloy %dce2 = or i1 %dce1, %nsz 2088eb535bSJames Molloy %dce3 = or i1 %dce2, %nnan 2188eb535bSJames Molloy 2288eb535bSJames Molloy ret i1 %dce3 2388eb535bSJames Molloy} 24