To output bit manipulation instructions without using intrinsic functions, satisfy all conditions shown below.
The value is assigned to a single-bit bit field of the char/unsigned char/signed char/_Bool type in the near area. |
When a value is assigned to a variable qualified with volatile, the compiler does not output a bit manipulation instruction unless the preceding conditions are satisfied. When a value is read from a variable qualified with volatile, the compiler outputs a bit manipulation instruction according to the specified optimization settings. For a variable that is not qualified with volatile, the compiler outputs a bit manipulation instruction according to the specified optimization settings.
For a variable qualified with volatile, the compiler does not output a bit manipulation instruction when a value is assigned to or read from the variable unless the preceding conditions are satisfied. For a variable that is not qualified with volatile, the compiler outputs a bit manipulation instruction according to the specified optimization settings.