在 2021-07-15 05:16, Martin Storsjö 写道:
+#if __INTRINSIC_PROLOG(_bittestandcomplement)
+unsigned char _bittestandcomplement(__LONG32 *a, __LONG32 b);
+#if !__has_builtin(_bittestandcomplement)
+__INTRINSICS_USEINLINE
+unsigned char _bittestandcomplement(__LONG32 *__a, __LONG32 __b)
+{
+ unsigned char __v = (*__a >> __b) & 1;
+ *__a = (*__a & ~(1UL << __b)) | ((__v ^ 1) << __b);
Could this be simplified to `*__a ^= 1UL << __b`, like other bitwise AND and OR operations? -- Best regards, LIU Hao
OpenPGP_signature
Description: OpenPGP digital signature
_______________________________________________ Mingw-w64-public mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
