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;
}
```

Reply via email to