craig.topper added inline comments.
================ Comment at: clang/lib/Headers/ia32intrin.h:419 + *(a) = (unsigned)__bsfd((int)(b)); \ + (unsigned char)((b) != 0); \ + }) ---------------- this evaluates (b) twice. That's bad if b is a function call with side effects ================ Comment at: clang/lib/Headers/ia32intrin.h:428 + __extension__({ \ + *(a) = (unsigned)__bsfq((long long)(b)); \ + (unsigned char)((b) != 0); \ ---------------- __bsfq/__bsrq is only defined on 64-bit targets. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D75723/new/ https://reviews.llvm.org/D75723 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits