On Sat, Jul 22, 2023 at 5:37 PM Roger Sayle <ro...@nextmovesoftware.com> wrote: > > > As suggested by Uros, this patch changes the ZERO_EXTRACTs and SIGN_EXTRACTs > in i386.md to consistently use QImode for bit offsets (i.e. third and fourth > operands), matching the use of QImode for bit counts in shifts and rotates. > > There's no change in functionality, and the new patterns simply ensure that > we continue to generate the same code (match revised patterns) as before. > > This patch has been tested on x86_64-pc-linux-gnu with make bootstrap > and make -k check, both with and without --target_board=unix{-m32} > with no new failures. Ok for mainline? > > > 2023-07-22 Roger Sayle <ro...@nextmovesoftware.com> > > gcc/ChangeLog > * config/i386/i386.md (extv<mode>): Use QImode for offsets. > (extzv<mode>): Likewise. > (insv<mode>): Likewise. > (*testqi_ext_3): Likewise. > (*btr<mode>_2): Likewise. > (define_split): Likewise. > (*btsq_imm): Likewise. > (*btrq_imm): Likewise. > (*btcq_imm): Likewise. > (define_peephole2 x3): Likewise. > (*bt<mode>): Likewise > (*bt<mode>_mask): New define_insn_and_split. > (*jcc_bt<mode>): Use QImode for offsets. > (*jcc_bt<mode>_1): Delete obsolete pattern. > (*jcc_bt<mode>_mask): Use QImode offsets. > (*jcc_bt<mode>_mask_1): Likewise. > (define_split): Likewise. > (*bt<mode>_setcqi): Likewise. > (*bt<mode>_setncqi): Likewise. > (*bt<mode>_setnc<mode>): Likewise. > (*bt<mode>_setncqi_2): Likewise. > (*bt<mode>_setc<mode>_mask): New define_insn_and_split. > (bmi2_bzhi_<mode>3): Use QImode offsets. > (*bmi2_bzhi_<mode>3): Likewise. > (*bmi2_bzhi_<mode>3_1): Likewise. > (*bmi2_bzhi_<mode>3_1_ccz): Likewise. > (@tbm_bextri_<mode>): Likewise.
OK. Thanks, Uros. > > > Thanks, > Roger > -- >