https://gcc.gnu.org/bugzilla/show_bug.cgi?id=123822
--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
There is a missed optimization on the gimple level:
```
_17 = (<signed-boolean:64>) _16;
...
_23 = (<signed-boolean:64>) _22;
_5 = {_17, _23};
_6 = VEC_COND_EXPR <_5, { -1, -1 }, { 0, 0 }>;
_25 = BIT_FIELD_REF <_6, 64, 0>;
...
_28 = BIT_FIELD_REF <_6, 64, 64>;
```
_25 is VCE<_Decimal64>(_16)
_28 is VCE<_Decimal64>(_22)
