brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.8 KiB · 80475c3 Raw
157 lines · plain
1; RUN: llvm-as < %s | llvm-dis > %t.orig2; RUN: llvm-as < %s | llvm-c-test --echo > %t.echo3; RUN: diff -w %t.orig %t.echo4;5source_filename = "/test/Bindings/float_ops.ll"6target datalayout = "e-m:o-i64:64-f80:128-n8:16:32:64-S128"7 8 9define float @float_ops_f32(float %a, float %b) {10  %1 = fneg float %a11 12  %2 = fadd float %a, %b13  %3 = fsub float %a, %b14  %4 = fmul float %a, %b15  %5 = fdiv float %a, %b16  %6 = frem float %a, %b17 18  ret float %119}20 21define double @float_ops_f64(double %a, double %b) {22  %1 = fneg double %a23 24  %2 = fadd double %a, %b25  %3 = fsub double %a, %b26  %4 = fmul double %a, %b27  %5 = fdiv double %a, %b28  %6 = frem double %a, %b29 30  ret double %131}32 33define void @float_cmp_f32(float %a, float %b) {34  %1  = fcmp oeq float %a, %b35  %2  = fcmp ogt float %a, %b36  %3  = fcmp olt float %a, %b37  %4  = fcmp ole float %a, %b38  %5  = fcmp one float %a, %b39 40  %6  = fcmp ueq float %a, %b41  %7  = fcmp ugt float %a, %b42  %8  = fcmp ult float %a, %b43  %9  = fcmp ule float %a, %b44  %10 = fcmp une float %a, %b45 46  %11 = fcmp ord float %a, %b47  %12 = fcmp false float %a, %b48  %13 = fcmp true float %a, %b49 50  ret void51}52 53define void @float_cmp_f64(double %a, double %b) {54  %1  = fcmp oeq double %a, %b55  %2  = fcmp ogt double %a, %b56  %3  = fcmp olt double %a, %b57  %4  = fcmp ole double %a, %b58  %5  = fcmp one double %a, %b59 60  %6  = fcmp ueq double %a, %b61  %7  = fcmp ugt double %a, %b62  %8  = fcmp ult double %a, %b63  %9  = fcmp ule double %a, %b64  %10 = fcmp une double %a, %b65 66  %11 = fcmp ord double %a, %b67  %12 = fcmp false double %a, %b68  %13 = fcmp true double %a, %b69 70  ret void71}72 73define void @float_cmp_fast_f32(float %a, float %b) {74  %1  = fcmp fast oeq float %a, %b75  %2  = fcmp nsz ogt float %a, %b76  %3  = fcmp nsz nnan olt float %a, %b77  %4  = fcmp contract ole float %a, %b78  %5  = fcmp nnan one float %a, %b79 80  %6  = fcmp nnan ninf nsz ueq float %a, %b81  %7  = fcmp arcp ugt float %a, %b82  %8  = fcmp fast ult float %a, %b83  %9  = fcmp fast ule float %a, %b84  %10 = fcmp fast une float %a, %b85 86  %11 = fcmp fast ord float %a, %b87  %12 = fcmp nnan ninf false float %a, %b88  %13 = fcmp nnan ninf true float %a, %b89 90  ret void91}92 93define void @float_cmp_fast_f64(double %a, double %b) {94  %1  = fcmp fast oeq double %a, %b95  %2  = fcmp nsz ogt double %a, %b96  %3  = fcmp nsz nnan olt double %a, %b97  %4  = fcmp contract ole double %a, %b98  %5  = fcmp nnan one double %a, %b99 100  %6  = fcmp nnan ninf nsz ueq double %a, %b101  %7  = fcmp arcp ugt double %a, %b102  %8  = fcmp fast ult double %a, %b103  %9  = fcmp fast ule double %a, %b104  %10 = fcmp fast une double %a, %b105 106  %11 = fcmp fast ord double %a, %b107  %12 = fcmp nnan ninf false double %a, %b108  %13 = fcmp nnan ninf true double %a, %b109 110  ret void111}112 113define float @float_ops_fast_f32(float %a, float %b) {114  %1 = fneg nnan float %a115 116  %2 = fadd ninf float %a, %b117  %3 = fsub nsz float %a, %b118  %4 = fmul arcp float %a, %b119  %5 = fdiv contract float %a, %b120  %6 = frem afn float %a, %b121 122  %7 = fadd reassoc float %a, %b123  %8 = fadd reassoc float %7, %b124 125  %9  = fadd fast float %a, %b126  %10 = fadd nnan nsz float %a, %b127  %11 = frem nnan nsz float %a, %b128  %12 = fdiv nnan nsz arcp float %a, %b129  %13 = fmul nnan nsz ninf contract float %a, %b130  %14 = fmul nnan nsz ninf arcp contract afn reassoc float %a, %b131 132  ret float %1133}134 135define double @float_ops_fast_f64(double %a, double %b) {136  %1 = fneg nnan double %a137 138  %2 = fadd ninf double %a, %b139  %3 = fsub nsz double %a, %b140  %4 = fmul arcp double %a, %b141  %5 = fdiv contract double %a, %b142  %6 = frem afn double %a, %b143 144  %7 = fadd reassoc double %a, %b145  %8 = fadd reassoc double %7, %b146 147  %9  = fadd fast double %a, %b148  %10 = fadd nnan nsz double %a, %b149  %11 = frem nnan nsz double %a, %b150  %12 = fdiv nnan nsz arcp double %a, %b151  %13 = fmul nnan nsz ninf contract double %a, %b152  %14 = fmul nnan nsz ninf arcp contract afn reassoc double %a, %b153 154  ret double %1155}156 157