@@ -261,22 +261,30 @@ RewriterMap dpct::createHalf2ArithmeticFunctionsRewriterMap() {
261
261
makeCallArgCreatorWithCall (2 )),
262
262
LITERAL (" {0.f, 0.f}" ), LITERAL (" {1.f, 1.f}" ))))))
263
263
// __hmul2
264
- MATH_API_REWRITER_DEVICE (
265
- " __hmul2 " ,
266
- MATH_API_DEVICE_NODES (
267
- EMPTY_FACTORY_ENTRY ( " __hmul2" ) ,
268
- MATH_API_SPECIFIC_ELSE_EMU (
269
- CheckArgType ( 0 , " __half2 " ) ,
264
+ MATH_API_REWRITER_DEVICE_OVERLOAD (
265
+ CheckArgType ( 0 , " __half2 " ) ,
266
+ MATH_API_REWRITERS_V2 (
267
+ " __hmul2" ,
268
+ MATH_API_REWRITER_PAIR (
269
+ math::Tag::math_libdevice ,
270
270
HEADER_INSERT_FACTORY (
271
271
HeaderType::HT_SYCL_Math,
272
272
CALL_FACTORY_ENTRY (" __hmul2" ,
273
273
CALL (MapNames::getClNamespace () +
274
274
" ext::intel::math::hmul2" ,
275
275
ARG (0 ), ARG (1 ))))),
276
- EMPTY_FACTORY_ENTRY (" __hmul2" ),
277
- BINARY_OP_FACTORY_ENTRY (" __hmul2" , BinaryOperatorKind::BO_Mul,
278
- makeCallArgCreatorWithCall (0 ),
279
- makeCallArgCreatorWithCall (1 ))))
276
+ MATH_API_REWRITER_PAIR (
277
+ math::Tag::emulation,
278
+ BINARY_OP_FACTORY_ENTRY (" __hmul2" , BinaryOperatorKind::BO_Mul,
279
+ makeCallArgCreatorWithCall (0 ),
280
+ makeCallArgCreatorWithCall (1 )))),
281
+ MATH_API_REWRITERS_V2 (
282
+ " __hmul2" ,
283
+ MATH_API_REWRITER_PAIR (
284
+ math::Tag::emulation,
285
+ BINARY_OP_FACTORY_ENTRY (" __hmul2" , BinaryOperatorKind::BO_Mul,
286
+ makeCallArgCreatorWithCall (0 ),
287
+ makeCallArgCreatorWithCall (1 )))))
280
288
// __hmul2_rn
281
289
MATH_API_REWRITER_DEVICE (
282
290
" __hmul2_rn" ,
@@ -343,22 +351,30 @@ RewriterMap dpct::createHalf2ArithmeticFunctionsRewriterMap() {
343
351
UNARY_OP_FACTORY_ENTRY (" __hneg2" , UnaryOperatorKind::UO_Minus,
344
352
makeCallArgCreatorWithCall (0 ))))
345
353
// __hsub2
346
- MATH_API_REWRITER_DEVICE (
347
- " __hsub2 " ,
348
- MATH_API_DEVICE_NODES (
349
- EMPTY_FACTORY_ENTRY ( " __hsub2" ) ,
350
- MATH_API_SPECIFIC_ELSE_EMU (
351
- CheckArgType ( 0 , " __half2 " ) ,
354
+ MATH_API_REWRITER_DEVICE_OVERLOAD (
355
+ CheckArgType ( 0 , " __half2 " ) ,
356
+ MATH_API_REWRITERS_V2 (
357
+ " __hsub2" ,
358
+ MATH_API_REWRITER_PAIR (
359
+ math::Tag::math_libdevice ,
352
360
HEADER_INSERT_FACTORY (
353
361
HeaderType::HT_SYCL_Math,
354
362
CALL_FACTORY_ENTRY (" __hsub2" ,
355
363
CALL (MapNames::getClNamespace () +
356
364
" ext::intel::math::hsub2" ,
357
365
ARG (0 ), ARG (1 ))))),
358
- EMPTY_FACTORY_ENTRY (" __hsub2" ),
359
- BINARY_OP_FACTORY_ENTRY (" __hsub2" , BinaryOperatorKind::BO_Sub,
360
- makeCallArgCreatorWithCall (0 ),
361
- makeCallArgCreatorWithCall (1 ))))
366
+ MATH_API_REWRITER_PAIR (
367
+ math::Tag::emulation,
368
+ BINARY_OP_FACTORY_ENTRY (" __hsub2" , BinaryOperatorKind::BO_Sub,
369
+ makeCallArgCreatorWithCall (0 ),
370
+ makeCallArgCreatorWithCall (1 )))),
371
+ MATH_API_REWRITERS_V2 (
372
+ " __hsub2" ,
373
+ MATH_API_REWRITER_PAIR (
374
+ math::Tag::emulation,
375
+ BINARY_OP_FACTORY_ENTRY (" __hsub2" , BinaryOperatorKind::BO_Sub,
376
+ makeCallArgCreatorWithCall (0 ),
377
+ makeCallArgCreatorWithCall (1 )))))
362
378
// __hsub2_rn
363
379
MATH_API_REWRITER_DEVICE (
364
380
" __hsub2_rn" ,
0 commit comments