brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.4 KiB · 111d93d Raw
113 lines · plain
1// RUN: mlir-opt -convert-math-to-emitc=language-target=c99 %s | FileCheck %s --check-prefix=c992// RUN: mlir-opt -convert-math-to-emitc=language-target=cpp11 %s | FileCheck %s --check-prefix=cpp113 4func.func @absf(%arg0: f32, %arg1: f64) {5    // c99: emitc.call_opaque "fabsf"6    // c99-NEXT: emitc.call_opaque "fabs"7    // cpp11: emitc.call_opaque "std::fabs"8    // cpp11-NEXT: emitc.call_opaque "std::fabs"9    %0 = math.absf %arg0 : f3210    %1 = math.absf %arg1 : f6411    return12}13 14func.func @floor(%arg0: f32, %arg1: f64) {15    // c99: emitc.call_opaque "floorf"16    // c99-NEXT: emitc.call_opaque "floor"17    // cpp11: emitc.call_opaque "std::floor"18    // cpp11-NEXT: emitc.call_opaque "std::floor"19    %0 = math.floor %arg0 : f3220    %1 = math.floor %arg1 : f6421    return22}23 24func.func @sin(%arg0: f32, %arg1: f64) {25    // c99: emitc.call_opaque "sinf"26    // c99-NEXT: emitc.call_opaque "sin"27    // cpp11: emitc.call_opaque "std::sin"28    // cpp11-NEXT: emitc.call_opaque "std::sin"29    %0 = math.sin %arg0 : f3230    %1 = math.sin %arg1 : f6431    return32}33 34func.func @cos(%arg0: f32, %arg1: f64) {35    // c99: emitc.call_opaque "cosf"36    // c99-NEXT: emitc.call_opaque "cos"37    // cpp11: emitc.call_opaque "std::cos"38    // cpp11-NEXT: emitc.call_opaque "std::cos"39    %0 = math.cos %arg0 : f3240    %1 = math.cos %arg1 : f6441    return42}43 44func.func @asin(%arg0: f32, %arg1: f64) {45    // c99: emitc.call_opaque "asinf"46    // c99-NEXT: emitc.call_opaque "asin"47    // cpp11: emitc.call_opaque "std::asin"48    // cpp11-NEXT: emitc.call_opaque "std::asin"49    %0 = math.asin %arg0 : f3250    %1 = math.asin %arg1 : f6451    return52}53 54func.func @acos(%arg0: f32, %arg1: f64) {55    // c99: emitc.call_opaque "acosf"56    // c99-NEXT: emitc.call_opaque "acos"57    // cpp11: emitc.call_opaque "std::acos"58    // cpp11-NEXT: emitc.call_opaque "std::acos"59    %0 = math.acos %arg0 : f3260    %1 = math.acos %arg1 : f6461    return62}63 64func.func @atan2(%arg0: f32, %arg1: f32, %arg2: f64, %arg3: f64) {65    // c99: emitc.call_opaque "atan2f"66    // c99-NEXT: emitc.call_opaque "atan2"67    // cpp11: emitc.call_opaque "std::atan2"68    // cpp11-NEXT: emitc.call_opaque "std::atan2"69    %0 = math.atan2 %arg0, %arg1 : f3270    %1 = math.atan2 %arg2, %arg3 : f6471    return72}73 74func.func @ceil(%arg0: f32, %arg1: f64) {75    // c99: emitc.call_opaque "ceilf"76    // c99-NEXT: emitc.call_opaque "ceil"77    // cpp11: emitc.call_opaque "std::ceil"78    // cpp11-NEXT: emitc.call_opaque "std::ceil"79    %0 = math.ceil %arg0 : f3280    %1 = math.ceil %arg1 : f6481    return82}83 84func.func @exp(%arg0: f32, %arg1: f64) {85    // c99: emitc.call_opaque "expf"86    // c99-NEXT: emitc.call_opaque "exp"87    // cpp11: emitc.call_opaque "std::exp"88    // cpp11-NEXT: emitc.call_opaque "std::exp"89    %0 = math.exp %arg0 : f3290    %1 = math.exp %arg1 : f6491    return92}93 94func.func @powf(%arg0: f32, %arg1: f32, %arg2: f64, %arg3: f64) {95    // c99: emitc.call_opaque "powf"96    // c99-NEXT: emitc.call_opaque "pow"97    // cpp11: emitc.call_opaque "std::pow"98    // cpp11-NEXT: emitc.call_opaque "std::pow"99    %0 = math.powf %arg0, %arg1 : f32100    %1 = math.powf %arg2, %arg3 : f64101    return102}103 104func.func @round(%arg0: f32, %arg1: f64) {105    // c99: emitc.call_opaque "roundf"106    // c99-NEXT: emitc.call_opaque "round"107    // cpp11: emitc.call_opaque "std::round"108    // cpp11-NEXT: emitc.call_opaque "std::round"109    %0 = math.round %arg0 : f32110    %1 = math.round %arg1 : f64111    return112}113