https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83554
--- Comment #3 from Uroš Bizjak <ubizjak at gmail dot com> --- Comment on attachment 43035 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=43035 gcc8-pr83554.patch > (any_rotate:HI (match_dup 0) (const_int 8))) > (clobber (reg:CC FLAGS_REG))] > "reload_completed >- && (TARGET_USE_XCHGB || optimize_function_for_size_p (cfun))" >+ && (TARGET_USE_XCHGB || optimize_function_for_size_p (cfun)) >+ && QI_REG_P (operands[0])" You can use QIreg_operand as operand predicate in this pattern.