Skip to content

Commit

Permalink
[SYCLomatic] Support migration of 30 half related Math APIs. (#1018)
Browse files Browse the repository at this point in the history
Signed-off-by: Tang, Jiajun jiajun.tang@intel.com
  • Loading branch information
tangjj11 authored Jul 4, 2023
1 parent a2f86be commit 6b8429a
Show file tree
Hide file tree
Showing 8 changed files with 763 additions and 24 deletions.
54 changes: 30 additions & 24 deletions clang/lib/DPCT/APINames.inc
Original file line number Diff line number Diff line change
Expand Up @@ -384,26 +384,32 @@ ENTRY(atomicXor, atomicXor, true, NO_FLAG, P0, "Successful: DPCT1039")
// Half Arithmetic Functions
ENTRY(__habs, __habs, true, NO_FLAG, P4, "Successful")
ENTRY(__h2div, __h2div, true, NO_FLAG, P4, "Successful")
ENTRY(__hadd_rn, __hadd_rn, true, NO_FLAG, P4, "Successful")
ENTRY(__hadd_sat, __hadd_sat, true, NO_FLAG, P4, "Successful")
ENTRY(__hdiv, __hdiv, true, NO_FLAG, P4, "Successful")
ENTRY(__hfma, __hfma, true, NO_FLAG, P0, "Successful")
ENTRY(__hfma_sat, __hfma_sat, true, NO_FLAG, P4, "Successful")
ENTRY(__hmul, __hmul, true, NO_FLAG, P4, "Successful")
ENTRY(__hmul_rn, __hmul_rn, true, NO_FLAG, P4, "Successful")
ENTRY(__hmul_sat, __hmul_sat, true, NO_FLAG, P4, "Successful")
ENTRY(__hneg, __hneg, true, NO_FLAG, P4, "Successful")
ENTRY(__hsub, __hsub, true, NO_FLAG, P4, "Successful")
ENTRY(__hsub_rn, __hsub_rn, true, NO_FLAG, P4, "Successful")
ENTRY(__hsub_sat, __hsub_sat, true, NO_FLAG, P4, "Successful")

// Half2 Arithmetic Functions
ENTRY(__habs2, __habs2, true, NO_FLAG, P4, "Successful")
ENTRY(__hadd2, __hadd2, true, NO_FLAG, P0, "Successful")
ENTRY(__hadd2_rn, __hadd2_rn, true, NO_FLAG, P4, "Successful")
ENTRY(__hadd2_sat, __hadd2_sat, true, NO_FLAG, P4, "Successful")
ENTRY(__hfma2, __hfma2, true, NO_FLAG, P0, "Successful")
ENTRY(__hfma2_sat, __hfma2_sat, true, NO_FLAG, P4, "Successful")
ENTRY(__hmul2, __hmul2, true, NO_FLAG, P4, "Successful")
ENTRY(__hmul2_rn, __hmul2_rn, true, NO_FLAG, P4, "Successful")
ENTRY(__hmul2_sat, __hmul2_sat, true, NO_FLAG, P4, "Successful")
ENTRY(__hneg2, __hneg2, true, NO_FLAG, P4, "Successful")
ENTRY(__hsub2, __hsub2, true, NO_FLAG, P4, "Successful")
ENTRY(__hsub2_rn, __hsub2_rn, true, NO_FLAG, P4, "Successful")
ENTRY(__hsub2_sat, __hsub2_sat, true, NO_FLAG, P4, "Successful")

// Half Comparison Functions
Expand Down Expand Up @@ -1809,7 +1815,7 @@ ENTRY(__bfloat162ushort_rz, __bfloat162ushort_rz, false, NO_FLAG, P4, "comment")
ENTRY(__bfloat16_as_short, __bfloat16_as_short, false, NO_FLAG, P4, "comment")
ENTRY(__bfloat16_as_ushort, __bfloat16_as_ushort, false, NO_FLAG, P4, "comment")
ENTRY(__double2bfloat16, __double2bfloat16, false, NO_FLAG, P4, "comment")
ENTRY(__double2half, __double2half, false, NO_FLAG, P4, "comment")
ENTRY(__double2half, __double2half, true, NO_FLAG, P4, "Successful")
ENTRY(__float22bfloat162_rn, __float22bfloat162_rn, true, NO_FLAG, P4, "Successful")
ENTRY(__float2bfloat162_rn, __float2bfloat162_rn, false, NO_FLAG, P4, "comment")
ENTRY(__float2bfloat16_rd, __float2bfloat16_rd, false, NO_FLAG, P4, "comment")
Expand All @@ -1822,20 +1828,20 @@ ENTRY(__fmaf_ieee_rn, __fmaf_ieee_rn, false, NO_FLAG, P4, "comment")
ENTRY(__fmaf_ieee_ru, __fmaf_ieee_ru, false, NO_FLAG, P4, "comment")
ENTRY(__fmaf_ieee_rz, __fmaf_ieee_rz, false, NO_FLAG, P4, "comment")
ENTRY(__halves2bfloat162, __halves2bfloat162, false, NO_FLAG, P4, "comment")
ENTRY(__hcmadd, __hcmadd, false, NO_FLAG, P4, "comment")
ENTRY(__hfma2_relu, __hfma2_relu, false, NO_FLAG, P4, "comment")
ENTRY(__hfma_relu, __hfma_relu, false, NO_FLAG, P4, "comment")
ENTRY(__hcmadd, __hcmadd, true, NO_FLAG, P4, "Successful")
ENTRY(__hfma2_relu, __hfma2_relu, true, NO_FLAG, P4, "Successful")
ENTRY(__hfma_relu, __hfma_relu, true, NO_FLAG, P4, "Successful")
ENTRY(__high2bfloat16, __high2bfloat16, false, NO_FLAG, P4, "comment")
ENTRY(__high2bfloat162, __high2bfloat162, false, NO_FLAG, P4, "comment")
ENTRY(__highs2bfloat162, __highs2bfloat162, false, NO_FLAG, P4, "comment")
ENTRY(__hmax, __hmax, false, NO_FLAG, P4, "comment")
ENTRY(__hmax2, __hmax2, false, NO_FLAG, P4, "comment")
ENTRY(__hmax2_nan, __hmax2_nan, false, NO_FLAG, P4, "comment")
ENTRY(__hmax_nan, __hmax_nan, false, NO_FLAG, P4, "comment")
ENTRY(__hmin, __hmin, false, NO_FLAG, P4, "comment")
ENTRY(__hmin2, __hmin2, false, NO_FLAG, P4, "comment")
ENTRY(__hmin2_nan, __hmin2_nan, false, NO_FLAG, P4, "comment")
ENTRY(__hmin_nan, __hmin_nan, false, NO_FLAG, P4, "comment")
ENTRY(__hmax, __hmax, true, NO_FLAG, P4, "Successful")
ENTRY(__hmax2, __hmax2, true, NO_FLAG, P4, "Successful")
ENTRY(__hmax2_nan, __hmax2_nan, true, NO_FLAG, P4, "Successful")
ENTRY(__hmax_nan, __hmax_nan, true, NO_FLAG, P4, "Successful")
ENTRY(__hmin, __hmin, true, NO_FLAG, P4, "Successful")
ENTRY(__hmin2, __hmin2, true, NO_FLAG, P4, "Successful")
ENTRY(__hmin2_nan, __hmin2_nan, true, NO_FLAG, P4, "Successful")
ENTRY(__hmin_nan, __hmin_nan, true, NO_FLAG, P4, "Successful")
ENTRY(__int2bfloat16_rd, __int2bfloat16_rd, false, NO_FLAG, P4, "comment")
ENTRY(__int2bfloat16_rn, __int2bfloat16_rn, false, NO_FLAG, P4, "comment")
ENTRY(__int2bfloat16_ru, __int2bfloat16_ru, false, NO_FLAG, P4, "comment")
Expand Down Expand Up @@ -1877,18 +1883,18 @@ ENTRY(__ushort2bfloat16_rn, __ushort2bfloat16_rn, false, NO_FLAG, P4, "comment")
ENTRY(__ushort2bfloat16_ru, __ushort2bfloat16_ru, false, NO_FLAG, P4, "comment")
ENTRY(__ushort2bfloat16_rz, __ushort2bfloat16_rz, false, NO_FLAG, P4, "comment")
ENTRY(__ushort_as_bfloat16, __ushort_as_bfloat16, false, NO_FLAG, P4, "comment")
ENTRY(__heq2_mask, __heq2_mask, false, NO_FLAG, P4, "comment")
ENTRY(__hequ2_mask, __hequ2_mask, false, NO_FLAG, P4, "comment")
ENTRY(__hge2_mask, __hge2_mask, false, NO_FLAG, P4, "comment")
ENTRY(__hgeu2_mask, __hgeu2_mask, false, NO_FLAG, P4, "comment")
ENTRY(__hgt2_mask, __hgt2_mask, false, NO_FLAG, P4, "comment")
ENTRY(__hgtu2_mask, __hgtu2_mask, false, NO_FLAG, P4, "comment")
ENTRY(__hle2_mask, __hle2_mask, false, NO_FLAG, P4, "comment")
ENTRY(__hleu2_mask, __hleu2_mask, false, NO_FLAG, P4, "comment")
ENTRY(__hlt2_mask, __hlt2_mask, false, NO_FLAG, P4, "comment")
ENTRY(__hltu2_mask, __hltu2_mask, false, NO_FLAG, P4, "comment")
ENTRY(__hne2_mask, __hne2_mask, false, NO_FLAG, P4, "comment")
ENTRY(__hneu2_mask, __hneu2_mask, false, NO_FLAG, P4, "comment")
ENTRY(__heq2_mask, __heq2_mask, true, NO_FLAG, P4, "Successful")
ENTRY(__hequ2_mask, __hequ2_mask, true, NO_FLAG, P4, "Successful")
ENTRY(__hge2_mask, __hge2_mask, true, NO_FLAG, P4, "Successful")
ENTRY(__hgeu2_mask, __hgeu2_mask, true, NO_FLAG, P4, "Successful")
ENTRY(__hgt2_mask, __hgt2_mask, true, NO_FLAG, P4, "Successful")
ENTRY(__hgtu2_mask, __hgtu2_mask, true, NO_FLAG, P4, "Successful")
ENTRY(__hle2_mask, __hle2_mask, true, NO_FLAG, P4, "Successful")
ENTRY(__hleu2_mask, __hleu2_mask, true, NO_FLAG, P4, "Successful")
ENTRY(__hlt2_mask, __hlt2_mask, true, NO_FLAG, P4, "Successful")
ENTRY(__hltu2_mask, __hltu2_mask, true, NO_FLAG, P4, "Successful")
ENTRY(__hne2_mask, __hne2_mask, true, NO_FLAG, P4, "Successful")
ENTRY(__hneu2_mask, __hneu2_mask, true, NO_FLAG, P4, "Successful")
ENTRY(__viaddmax_s16x2, __viaddmax_s16x2, false, NO_FLAG, P4, "comment")
ENTRY(__viaddmax_s16x2_relu, __viaddmax_s16x2_relu, false, NO_FLAG, P4, "comment")
ENTRY(__viaddmax_s32, __viaddmax_s32, false, NO_FLAG, P4, "comment")
Expand Down
30 changes: 30 additions & 0 deletions clang/lib/DPCT/APINamesMath.inc
Original file line number Diff line number Diff line change
Expand Up @@ -352,6 +352,7 @@ ENTRY_OPERATOR("__ddiv_rz", BinaryOperatorKind::BO_Div)


// Half Precision Conversion And Data Movement
ENTRY_REWRITE("__double2half")
ENTRY_TYPECAST("__float22half2_rn")
ENTRY_TYPECAST("__float2half")
ENTRY_TYPECAST("__float2half2_rn")
Expand Down Expand Up @@ -587,15 +588,24 @@ ENTRY_REWRITE("__vsubus2")
ENTRY_REWRITE("__vsubus4")

// Half Arithmetic Functions
ENTRY_REWRITE("__hadd_rn")
ENTRY_REWRITE("__hadd_sat")
ENTRY_REWRITE("__hfma_relu")
ENTRY_REWRITE("__hfma_sat")
ENTRY_REWRITE("__hmul_rn")
ENTRY_REWRITE("__hmul_sat")
ENTRY_REWRITE("__hsub_rn")
ENTRY_REWRITE("__hsub_sat")

// Half2 Arithmetic Functions
ENTRY_REWRITE("__hadd2_rn")
ENTRY_REWRITE("__hadd2_sat")
ENTRY_REWRITE("__hcmadd")
ENTRY_REWRITE("__hfma2_relu")
ENTRY_REWRITE("__hfma2_sat")
ENTRY_REWRITE("__hmul2_rn")
ENTRY_REWRITE("__hmul2_sat")
ENTRY_REWRITE("__hsub2_rn")
ENTRY_REWRITE("__hsub2_sat")

// Half Comparison Functions
Expand All @@ -604,6 +614,10 @@ ENTRY_REWRITE("__hgeu")
ENTRY_REWRITE("__hgtu")
ENTRY_REWRITE("__hleu")
ENTRY_REWRITE("__hltu")
ENTRY_REWRITE("__hmax")
ENTRY_REWRITE("__hmax_nan")
ENTRY_REWRITE("__hmin")
ENTRY_REWRITE("__hmin_nan")
ENTRY_REWRITE("__hneu")

// Half2 Comparison Functions
Expand All @@ -620,18 +634,34 @@ ENTRY_REWRITE("__hbltu2")
ENTRY_REWRITE("__hbne2")
ENTRY_REWRITE("__hbneu2")
ENTRY_REWRITE("__heq2")
ENTRY_REWRITE("__heq2_mask")
ENTRY_REWRITE("__hequ2")
ENTRY_REWRITE("__hequ2_mask")
ENTRY_REWRITE("__hge2")
ENTRY_REWRITE("__hge2_mask")
ENTRY_REWRITE("__hgeu2")
ENTRY_REWRITE("__hgeu2_mask")
ENTRY_REWRITE("__hgt2")
ENTRY_REWRITE("__hgt2_mask")
ENTRY_REWRITE("__hgtu2")
ENTRY_REWRITE("__hgtu2_mask")
ENTRY_REWRITE("__hisnan2")
ENTRY_REWRITE("__hle2")
ENTRY_REWRITE("__hle2_mask")
ENTRY_REWRITE("__hleu2")
ENTRY_REWRITE("__hleu2_mask")
ENTRY_REWRITE("__hlt2")
ENTRY_REWRITE("__hlt2_mask")
ENTRY_REWRITE("__hltu2")
ENTRY_REWRITE("__hltu2_mask")
ENTRY_REWRITE("__hmax2")
ENTRY_REWRITE("__hmax2_nan")
ENTRY_REWRITE("__hmin2")
ENTRY_REWRITE("__hmin2_nan")
ENTRY_REWRITE("__hne2")
ENTRY_REWRITE("__hne2_mask")
ENTRY_REWRITE("__hneu2")
ENTRY_REWRITE("__hneu2_mask")

// Half2 Math Functions
ENTRY_UNSUPPORTED("h2rcp")
Expand Down
Loading

0 comments on commit 6b8429a

Please sign in to comment.