craig.topper added inline comments.

================
Comment at: clang/lib/Headers/avx512fp16intrin.h:2972
 #define _mm_mask_fcmadd_round_sch(A, U, B, C, R)                               
\
   ((__m128h)__builtin_ia32_selectps_128(                                       
\
       (__mmask8)(U & 1),                                                       
\
----------------
pengfei wrote:
> craig.topper wrote:
> > Why is this intrinsic written like this? We can't evaluate macro arguments 
> > like A and U twice. It can cause surprising results.
> Thanks Craig! You are right, we can't evaluate them twice. But we have to use 
> them twice, because we want to provide user the same functionality as former 
> FMA intrinsics. Maybe we need to define and use temp variables.
Is it possible to just have single builtin call and create all the IR from 
CGBuiltin?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D109658/new/

https://reviews.llvm.org/D109658

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to