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