[PATCH, i386]: Macroize ashr patterns.

Uros Bizjak ubizjak@gmail.com
Sat Apr 10 17:17:00 GMT 2010


Hello!

Merge together ashr3_* and ashr3_one_bit_* patterns, so they finally 
look like ashl* patterns.

Otherwise fairly mechanical job to macroize merged patterns.

2010-04-10  Uros Bizjak <ubizjak@gmail.com>

     * config/i386/i386.md (ashr<mode>3): Macroize expander from
     ashr{qi,hi,si,di,ti}3_1 using SDWIM mode iterator.
     (*ashr<mode>3_doubleword): New insn_and_split_pattern.  Macroize
     pattern from *ashr{di,ti}3_1 and corresponding splitters using
     DWI mode iterator.
     (*ashr<mode>3_doubleword peephole2): Macroize peephole2 pattern
     from corresponding peephole2 patterns.
     (ashrdi3_cvt): Rename from ashrdi3_63_rex64.
     (ashrsi3_cvt): Rename from ashrsi3_31.
     (*ashrsi3_cvt_zext): Rename from *ashrsi3_31_zext.
     (x86_shift<mode>_adj_3): Macroize expander from x86_shift_adj_3
     and x86_64_shift_adj_3 using SWI48 mode iterator.
     (*ashr<mode>3_1): Merge with *ashr{qi,hi,si}3_1_one_bit and
     *ashrdi3_1_one_bit_rex64. Macroize insn from *ashr{qi,hi,si}3_cmp
     and *ashrdi3_cmp_rex64 using SWI mode iterator.
     (*ashrqi3_1_slp): Merge with *ashrqi3_1_one_bit_slp.
     (*ashr<mode>3_cmp): Merge with *ashr{qi,hi,si}3_one_bit_cmp and
     *ashrdi3_one_bit_cmp_rex64. Macroize insn from *ashr{qi,hi,si}3_cmp
     and *ashrdi3_cmp_rex64 using SWI mode iterator.
     (*ashrsi3_cmp_zext): Merge with *ashrsi3_cmp_one_bit_zext.
     (*ashr<mode>3_cconly): Merge with *ashr{qi,hi,si}3_one_bit_cconly and
     *ashrdi3_one_bit_cconly_rex64. Macroize insn from
     *ashr{qi,hi,si}3_cconly and *ashrdi3_cconly_rex64 using
     SWI mode iterator.
     (sign_extend splitters): Update for renamed ashr{di,si}3_patterns.
     * config/i386/i386.c (ix86_split_ashr): Update for renamed
     x86_shift<mode>_adj_3 expander.

Tested on x86_64-pc-linux-gnu {,-m32}, committed to mainline.

Uros.
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: x86-ashrt.diff.txt
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20100410/e0f11e25/attachment.txt>


More information about the Gcc-patches mailing list