https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93721
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2020-02-13 Component|target |tree-optimization Ever confirmed|0 |1 Severity|normal |enhancement --- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> --- >GCC for x86 emits the ROL instruction for T=char: Because that is also bswap16 and is detected that way:). This should be done in store_merging pass. Though enhancing that to do the rotate rather than byteswap might be too hard. Note this is not a target specific issue. We should be able to do the rotate in a generic way for all targets.