https://gcc.gnu.org/bugzilla/show_bug.cgi?id=126021
--- Comment #1 from Drea Pinski <pinskia at gcc dot gnu.org> ---
It is only better if not used in conditional branch.
If it is used in a branch, the test form is always better.
That is:
```
int f();
#define type int
type src (type a) {
if (a >= (sizeof (type) * __CHAR_BIT__))
__builtin_unreachable ();
if (a == 0) return f();
return 0;
}
type tgt (type a) {
if (1 >> a) return f();
return 0;
}
```
