Currently simple C code like
typedef struct { int a:1; int b:4; int c:3; } s_t; int f(s_t s) { return s.b; }
will produce the following assembly with O3
lsl w8, w0, #3 sxtb w8, w8 sbfx w0, w8, #4, #8 ret
while GCC produce this
sbfx x0, x0, 1, 4 ret
Extended the implementation of matchBitfieldExtractFromShr to consider cases where the shifts fed to a G_SEXT_INREG.
Update the comment to say what else you are trying to match.