pengfei 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),                                                       
\
----------------
craig.topper wrote:
> 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?
Yeah, that's a good idea. Thanks!


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