aboutsummaryrefslogtreecommitdiff
path: root/libgcc
diff options
context:
space:
mode:
authorRoger Sayle <roger@nextmovesoftware.com>2023-07-22 21:50:06 +0100
committerRoger Sayle <roger@nextmovesoftware.com>2023-07-22 21:51:13 +0100
commit59c38ddfe052a409a690380d0378169f4a3936ad (patch)
tree2fc03a916372c7db6065efeac97fc9951c89f099 /libgcc
parent6ed43713e4c894c196ee07991aa25e09322f8ab4 (diff)
downloadgcc-59c38ddfe052a409a690380d0378169f4a3936ad.zip
gcc-59c38ddfe052a409a690380d0378169f4a3936ad.tar.gz
gcc-59c38ddfe052a409a690380d0378169f4a3936ad.tar.bz2
i386: Use QImode for offsets in zero_extract/sign_extract in i386.md
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. 2023-07-22 Roger Sayle <roger@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.
Diffstat (limited to 'libgcc')
0 files changed, 0 insertions, 0 deletions