Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -119,17 +119,12 @@ RewriterMap dpct::createHalf2ArithmeticFunctionsRewriterMap() {
MapNames::getClNamespace() + "half2>",
BO(BinaryOperatorKind::BO_Add, ARG(0), ARG(1)),
LITERAL("{0.f, 0.f}"), LITERAL("{1.f, 1.f}"))),
CONDITIONAL_FACTORY_ENTRY(
UseSYCLCompat,
UNSUPPORT_FACTORY_ENTRY("__hadd2_sat",
Diagnostics::UNSUPPORT_SYCLCOMPAT,
LITERAL("__hadd2_sat")),
CALL_FACTORY_ENTRY(
"__hadd2_sat",
CALL(MapNames::getDpctNamespace() + "clamp",
BO(BinaryOperatorKind::BO_Add, ARG(0), ARG(1)),
LITERAL("{0.f, 0.f}"),
LITERAL("{1.f, 1.f}")))))))
LITERAL("{1.f, 1.f}"))))))
// __hcmadd
MATH_API_REWRITER_DEVICE(
"__hcmadd",
Expand All @@ -144,17 +139,12 @@ RewriterMap dpct::createHalf2ArithmeticFunctionsRewriterMap() {
"ext::intel::math::hcmadd",
ARG(0), ARG(1), ARG(2))))),
EMPTY_FACTORY_ENTRY("__hcmadd"),
CONDITIONAL_FACTORY_ENTRY(
UseSYCLCompat,
UNSUPPORT_FACTORY_ENTRY("__hcmadd",
Diagnostics::UNSUPPORT_SYCLCOMPAT,
LITERAL("__hcmadd")),
CALL_FACTORY_ENTRY("__hcmadd",
CALL(MapNames::getDpctNamespace() +
(DpctGlobalInfo::useSYCLCompat()
? "cmul_add"
: "complex_mul_add"),
ARG(0), ARG(1), ARG(2))))))
ARG(0), ARG(1), ARG(2)))))
// __hfma2
MATH_API_REWRITER_DEVICE_OVERLOAD(
CheckArgType(0, "__half2"),
Expand Down Expand Up @@ -236,23 +226,13 @@ RewriterMap dpct::createHalf2ArithmeticFunctionsRewriterMap() {
LITERAL("{0.f, 0.f}"), LITERAL("{1.f, 1.f}"))))),
MATH_API_REWRITER_EXPERIMENTAL_BFLOAT16(
"__hfma2_sat",
CONDITIONAL_FACTORY_ENTRY(
UseSYCLCompat,
UNSUPPORT_FACTORY_ENTRY("__hfma2_sat",
Diagnostics::UNSUPPORT_SYCLCOMPAT,
LITERAL("__hfma2_sat")),
CALL_FACTORY_ENTRY(
"__hfma2_sat",
CALL(MapNames::getDpctNamespace() + "clamp",
CALL(MapNames::getClNamespace(false, true) +
"ext::oneapi::experimental::fma",
ARG(0), ARG(1), ARG(2)),
LITERAL("{0.f, 0.f}"), LITERAL("{1.f, 1.f}")))),
CONDITIONAL_FACTORY_ENTRY(
UseSYCLCompat,
UNSUPPORT_FACTORY_ENTRY("__hfma2_sat",
Diagnostics::UNSUPPORT_SYCLCOMPAT,
LITERAL("__hfma2_sat")),
LITERAL("{0.f, 0.f}"), LITERAL("{1.f, 1.f}"))),
CALL_FACTORY_ENTRY(
"__hfma2_sat",
CALL(MapNames::getDpctNamespace() + "clamp",
Expand All @@ -261,7 +241,7 @@ RewriterMap dpct::createHalf2ArithmeticFunctionsRewriterMap() {
makeCallArgCreatorWithCall(0),
makeCallArgCreatorWithCall(1)),
makeCallArgCreatorWithCall(2)),
LITERAL("{0.f, 0.f}"), LITERAL("{1.f, 1.f}"))))))
LITERAL("{0.f, 0.f}"), LITERAL("{1.f, 1.f}")))))
// __hmul2
MATH_API_REWRITER_DEVICE(
"__hmul2",
Expand Down Expand Up @@ -317,17 +297,12 @@ RewriterMap dpct::createHalf2ArithmeticFunctionsRewriterMap() {
MapNames::getClNamespace() + "half2>",
BO(BinaryOperatorKind::BO_Mul, ARG(0), ARG(1)),
LITERAL("{0.f, 0.f}"), LITERAL("{1.f, 1.f}"))),
CONDITIONAL_FACTORY_ENTRY(
UseSYCLCompat,
UNSUPPORT_FACTORY_ENTRY("__hmul2_sat",
Diagnostics::UNSUPPORT_SYCLCOMPAT,
LITERAL("__hmul2_sat")),
CALL_FACTORY_ENTRY(
"__hmul2_sat",
CALL(MapNames::getDpctNamespace() + "clamp",
BO(BinaryOperatorKind::BO_Mul, ARG(0), ARG(1)),
LITERAL("{0.f, 0.f}"),
LITERAL("{1.f, 1.f}")))))))
LITERAL("{1.f, 1.f}"))))))
// __hneg2
MATH_API_REWRITER_DEVICE(
"__hneg2",
Expand Down Expand Up @@ -399,17 +374,12 @@ RewriterMap dpct::createHalf2ArithmeticFunctionsRewriterMap() {
MapNames::getClNamespace() + "half2>",
BO(BinaryOperatorKind::BO_Sub, ARG(0), ARG(1)),
LITERAL("{0.f, 0.f}"), LITERAL("{1.f, 1.f}"))),
CONDITIONAL_FACTORY_ENTRY(
UseSYCLCompat,
UNSUPPORT_FACTORY_ENTRY("__hsub2_sat",
Diagnostics::UNSUPPORT_SYCLCOMPAT,
LITERAL("__hsub2_sat")),
CALL_FACTORY_ENTRY(
"__hsub2_sat",
CALL(MapNames::getDpctNamespace() + "clamp",
BO(BinaryOperatorKind::BO_Sub, ARG(0), ARG(1)),
LITERAL("{0.f, 0.f}"),
LITERAL("{1.f, 1.f}")))))))
LITERAL("{1.f, 1.f}"))))))
// h2div
MATH_API_REWRITER_DEVICE(
"h2div",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -286,15 +286,10 @@ RewriterMap dpct::createHalf2ComparisonFunctionsRewriterMap() {
EMPTY_FACTORY_ENTRY("__heq2_mask"),
EMPTY_FACTORY_ENTRY("__heq2_mask"),
EMPTY_FACTORY_ENTRY("__heq2_mask"),
CONDITIONAL_FACTORY_ENTRY(
UseSYCLCompat,
UNSUPPORT_FACTORY_ENTRY("__heq2_mask",
Diagnostics::UNSUPPORT_SYCLCOMPAT,
LITERAL("__heq2_mask")),
CALL_FACTORY_ENTRY(
"__heq2_mask",
CALL(MapNames::getDpctNamespace() + "compare_mask",
ARG(0), ARG(1), LITERAL("std::equal_to<>()"))))))
ARG(0), ARG(1), LITERAL("std::equal_to<>()")))))
// __hequ2
MATH_API_REWRITER_DEVICE(
"__hequ2",
Expand Down Expand Up @@ -322,16 +317,11 @@ RewriterMap dpct::createHalf2ComparisonFunctionsRewriterMap() {
EMPTY_FACTORY_ENTRY("__hequ2_mask"),
EMPTY_FACTORY_ENTRY("__hequ2_mask"),
EMPTY_FACTORY_ENTRY("__hequ2_mask"),
CONDITIONAL_FACTORY_ENTRY(
UseSYCLCompat,
UNSUPPORT_FACTORY_ENTRY("__hequ2_mask",
Diagnostics::UNSUPPORT_SYCLCOMPAT,
LITERAL("__hequ2_mask")),
CALL_FACTORY_ENTRY("__hequ2_mask",
CALL(MapNames::getDpctNamespace() +
"unordered_compare_mask",
ARG(0), ARG(1),
LITERAL("std::equal_to<>()"))))))
LITERAL("std::equal_to<>()")))))
// __hge2
MATH_API_REWRITER_DEVICE(
"__hge2",
Expand Down Expand Up @@ -359,16 +349,11 @@ RewriterMap dpct::createHalf2ComparisonFunctionsRewriterMap() {
EMPTY_FACTORY_ENTRY("__hge2_mask"),
EMPTY_FACTORY_ENTRY("__hge2_mask"),
EMPTY_FACTORY_ENTRY("__hge2_mask"),
CONDITIONAL_FACTORY_ENTRY(
UseSYCLCompat,
UNSUPPORT_FACTORY_ENTRY("__hge2_mask",
Diagnostics::UNSUPPORT_SYCLCOMPAT,
LITERAL("__hge2_mask")),
CALL_FACTORY_ENTRY(
"__hge2_mask",
CALL(MapNames::getDpctNamespace() + "compare_mask",
ARG(0), ARG(1),
LITERAL("std::greater_equal<>()"))))))
LITERAL("std::greater_equal<>()")))))
// __hgeu2
MATH_API_REWRITER_DEVICE(
"__hgeu2",
Expand Down Expand Up @@ -397,16 +382,11 @@ RewriterMap dpct::createHalf2ComparisonFunctionsRewriterMap() {
EMPTY_FACTORY_ENTRY("__hgeu2_mask"),
EMPTY_FACTORY_ENTRY("__hgeu2_mask"),
EMPTY_FACTORY_ENTRY("__hgeu2_mask"),
CONDITIONAL_FACTORY_ENTRY(
UseSYCLCompat,
UNSUPPORT_FACTORY_ENTRY("__hgeu2_mask",
Diagnostics::UNSUPPORT_SYCLCOMPAT,
LITERAL("__hgeu2_mask")),
CALL_FACTORY_ENTRY("__hgeu2_mask",
CALL(MapNames::getDpctNamespace() +
"unordered_compare_mask",
ARG(0), ARG(1),
LITERAL("std::greater_equal<>()"))))))
LITERAL("std::greater_equal<>()")))))
// __hgt2
MATH_API_REWRITER_DEVICE(
"__hgt2",
Expand Down Expand Up @@ -434,15 +414,10 @@ RewriterMap dpct::createHalf2ComparisonFunctionsRewriterMap() {
EMPTY_FACTORY_ENTRY("__hgt2_mask"),
EMPTY_FACTORY_ENTRY("__hgt2_mask"),
EMPTY_FACTORY_ENTRY("__hgt2_mask"),
CONDITIONAL_FACTORY_ENTRY(
UseSYCLCompat,
UNSUPPORT_FACTORY_ENTRY("__hgt2_mask",
Diagnostics::UNSUPPORT_SYCLCOMPAT,
LITERAL("__hgt2_mask")),
CALL_FACTORY_ENTRY(
"__hgt2_mask",
CALL(MapNames::getDpctNamespace() + "compare_mask",
ARG(0), ARG(1), LITERAL("std::greater<>()"))))))
ARG(0), ARG(1), LITERAL("std::greater<>()")))))
// __hgtu2
MATH_API_REWRITER_DEVICE(
"__hgtu2",
Expand Down Expand Up @@ -470,16 +445,11 @@ RewriterMap dpct::createHalf2ComparisonFunctionsRewriterMap() {
EMPTY_FACTORY_ENTRY("__hgtu2_mask"),
EMPTY_FACTORY_ENTRY("__hgtu2_mask"),
EMPTY_FACTORY_ENTRY("__hgtu2_mask"),
CONDITIONAL_FACTORY_ENTRY(
UseSYCLCompat,
UNSUPPORT_FACTORY_ENTRY("__hgtu2_mask",
Diagnostics::UNSUPPORT_SYCLCOMPAT,
LITERAL("__hgtu2_mask")),
CALL_FACTORY_ENTRY("__hgtu2_mask",
CALL(MapNames::getDpctNamespace() +
"unordered_compare_mask",
ARG(0), ARG(1),
LITERAL("std::greater<>()"))))))
LITERAL("std::greater<>()")))))
// __hisnan2
MATH_API_REWRITER_DEVICE_OVERLOAD(
CheckArgType(0, "__half2"),
Expand Down Expand Up @@ -544,15 +514,10 @@ RewriterMap dpct::createHalf2ComparisonFunctionsRewriterMap() {
EMPTY_FACTORY_ENTRY("__hle2_mask"),
EMPTY_FACTORY_ENTRY("__hle2_mask"),
EMPTY_FACTORY_ENTRY("__hle2_mask"),
CONDITIONAL_FACTORY_ENTRY(
UseSYCLCompat,
UNSUPPORT_FACTORY_ENTRY("__hle2_mask",
Diagnostics::UNSUPPORT_SYCLCOMPAT,
LITERAL("__hle2_mask")),
CALL_FACTORY_ENTRY(
"__hle2_mask",
CALL(MapNames::getDpctNamespace() + "compare_mask",
ARG(0), ARG(1), LITERAL("std::less_equal<>()"))))))
ARG(0), ARG(1), LITERAL("std::less_equal<>()")))))
// __hleu2
MATH_API_REWRITER_DEVICE(
"__hleu2",
Expand Down Expand Up @@ -580,16 +545,11 @@ RewriterMap dpct::createHalf2ComparisonFunctionsRewriterMap() {
EMPTY_FACTORY_ENTRY("__hleu2_mask"),
EMPTY_FACTORY_ENTRY("__hleu2_mask"),
EMPTY_FACTORY_ENTRY("__hleu2_mask"),
CONDITIONAL_FACTORY_ENTRY(
UseSYCLCompat,
UNSUPPORT_FACTORY_ENTRY("__hleu2_mask",
Diagnostics::UNSUPPORT_SYCLCOMPAT,
LITERAL("__hleu2_mask")),
CALL_FACTORY_ENTRY("__hleu2_mask",
CALL(MapNames::getDpctNamespace() +
"unordered_compare_mask",
ARG(0), ARG(1),
LITERAL("std::less_equal<>()"))))))
LITERAL("std::less_equal<>()")))))
// __hlt2
MATH_API_REWRITER_DEVICE(
"__hlt2",
Expand Down Expand Up @@ -617,15 +577,10 @@ RewriterMap dpct::createHalf2ComparisonFunctionsRewriterMap() {
EMPTY_FACTORY_ENTRY("__hlt2_mask"),
EMPTY_FACTORY_ENTRY("__hlt2_mask"),
EMPTY_FACTORY_ENTRY("__hlt2_mask"),
CONDITIONAL_FACTORY_ENTRY(
UseSYCLCompat,
UNSUPPORT_FACTORY_ENTRY("__hlt2_mask",
Diagnostics::UNSUPPORT_SYCLCOMPAT,
LITERAL("__hlt2_mask")),
CALL_FACTORY_ENTRY(
"__hlt2_mask",
CALL(MapNames::getDpctNamespace() + "compare_mask",
ARG(0), ARG(1), LITERAL("std::less<>()"))))))
ARG(0), ARG(1), LITERAL("std::less<>()")))))
// __hltu2
MATH_API_REWRITER_DEVICE(
"__hltu2",
Expand Down Expand Up @@ -653,16 +608,11 @@ RewriterMap dpct::createHalf2ComparisonFunctionsRewriterMap() {
EMPTY_FACTORY_ENTRY("__hltu2_mask"),
EMPTY_FACTORY_ENTRY("__hltu2_mask"),
EMPTY_FACTORY_ENTRY("__hltu2_mask"),
CONDITIONAL_FACTORY_ENTRY(
UseSYCLCompat,
UNSUPPORT_FACTORY_ENTRY("__hltu2_mask",
Diagnostics::UNSUPPORT_SYCLCOMPAT,
LITERAL("__hltu2_mask")),
CALL_FACTORY_ENTRY("__hltu2_mask",
CALL(MapNames::getDpctNamespace() +
"unordered_compare_mask",
ARG(0), ARG(1),
LITERAL("std::less<>()"))))))
LITERAL("std::less<>()")))))
// __hmax2
MATH_API_REWRITER_DEVICE_OVERLOAD(
CheckArgType(0, "__half2"),
Expand Down Expand Up @@ -720,15 +670,10 @@ RewriterMap dpct::createHalf2ComparisonFunctionsRewriterMap() {
"ext::intel::math::hmax2_nan",
ARG(0), ARG(1))))),
EMPTY_FACTORY_ENTRY("__hmax2_nan"),
CONDITIONAL_FACTORY_ENTRY(
UseSYCLCompat,
UNSUPPORT_FACTORY_ENTRY("__hmax2_nan",
Diagnostics::UNSUPPORT_SYCLCOMPAT,
LITERAL("__hmax2_nan")),
CALL_FACTORY_ENTRY(
"__hmax2_nan",
CALL(MapNames::getDpctNamespace() + "fmax_nan", ARG(0),
ARG(1))))))
ARG(1)))))
// __hmin2
MATH_API_REWRITER_DEVICE_OVERLOAD(
CheckArgType(0, "__half2"),
Expand Down Expand Up @@ -786,15 +731,10 @@ RewriterMap dpct::createHalf2ComparisonFunctionsRewriterMap() {
"ext::intel::math::hmin2_nan",
ARG(0), ARG(1))))),
EMPTY_FACTORY_ENTRY("__hmin2_nan"),
CONDITIONAL_FACTORY_ENTRY(
UseSYCLCompat,
UNSUPPORT_FACTORY_ENTRY("__hmin2_nan",
Diagnostics::UNSUPPORT_SYCLCOMPAT,
LITERAL("__hmin2_nan")),
CALL_FACTORY_ENTRY(
"__hmin2_nan",
CALL(MapNames::getDpctNamespace() + "fmin_nan", ARG(0),
ARG(1))))))
ARG(1)))))
// __hne2
MATH_API_REWRITER_DEVICE(
"__hne2",
Expand Down Expand Up @@ -822,15 +762,10 @@ RewriterMap dpct::createHalf2ComparisonFunctionsRewriterMap() {
EMPTY_FACTORY_ENTRY("__hne2_mask"),
EMPTY_FACTORY_ENTRY("__hne2_mask"),
EMPTY_FACTORY_ENTRY("__hne2_mask"),
CONDITIONAL_FACTORY_ENTRY(
UseSYCLCompat,
UNSUPPORT_FACTORY_ENTRY("__hne2_mask",
Diagnostics::UNSUPPORT_SYCLCOMPAT,
LITERAL("__hne2_mask")),
CALL_FACTORY_ENTRY(
"__hne2_mask",
CALL(MapNames::getDpctNamespace() + "compare_mask",
ARG(0), ARG(1), LITERAL("std::not_equal_to<>()"))))))
ARG(0), ARG(1), LITERAL("std::not_equal_to<>()")))))
// __hneu2
MATH_API_REWRITER_DEVICE(
"__hneu2",
Expand Down Expand Up @@ -858,15 +793,10 @@ RewriterMap dpct::createHalf2ComparisonFunctionsRewriterMap() {
EMPTY_FACTORY_ENTRY("__hneu2_mask"),
EMPTY_FACTORY_ENTRY("__hneu2_mask"),
EMPTY_FACTORY_ENTRY("__hneu2_mask"),
CONDITIONAL_FACTORY_ENTRY(
UseSYCLCompat,
UNSUPPORT_FACTORY_ENTRY("__hneu2_mask",
Diagnostics::UNSUPPORT_SYCLCOMPAT,
LITERAL("__hneu2_mask")),
CALL_FACTORY_ENTRY(
"__hneu2_mask",
CALL(MapNames::getDpctNamespace() +
"unordered_compare_mask",
ARG(0), ARG(1),
LITERAL("std::not_equal_to<>()"))))))};
LITERAL("std::not_equal_to<>()")))))};
}
Loading
Loading