This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
Hello! As the $subject says. Macroized in such a way that no functional change was introduced (although it was tempting :] ). The patch removes ~500 lines, otherwise it mostly moves code around. 2009-10-06 Uros Bizjak <ubizjak@gmail.com> * config/i386/i386.md (SWI48, SDWI, DWI): New mode iterators. (DWIH, g, di, doubleint_general_operand): New mode attributes. (general_operand): Handle TI mode. (add<mode>3): Macroize expander from add{qi,hi,si,di,ti}3 patterns using SDWI mode iterator. (*add<mode>3_doubleword): New insn_and_split pattern. Macroize pattern from *add{di,ti}3_1 patterns and corresponding splitters using SDWI mode iterator. (add<mode>3_carry): Macroize insn from add{qi,hi,si,di}3_carry patterns using SWI mode iterator. (*add<mode>3_cc): Macroize insn from add{si,di}3_cc patterns using SWI48 mode iterator. (*add<mode>_1): Ditto from add{si,di}_1 patterns. (*add<mode>_2): Ditto from add{si,di}_2 patterns. (*add<mode>_3): Ditto from add{si,di}_3 patterns. (*add<mode>_5): Ditto from add{si,di}_5 patterns. (sub<mode>3): Macroize expander from sub{qi,hi,si,di,ti}3 patterns using SDWI mode iterator. (*sub<mode>3_doubleword): New insn_and_split pattern. Macroize pattern from *sub{di,ti}3_1 patterns and corresponding splitters using SDWI mode iterator. (sub<mode>3_carry): Macroize insn from sub{qi,hi,si,di}3_carry patterns using SWI mode iterator. (*sub<mode>_1): Ditto from from sub{qi,hi,si,di}_1 patterns. (*sub<mode>_2): Ditto from sub{qi,hi,si,di}_2 patterns. (*sub<mode>_3): Ditto from sub{qi,hi,si,di}_3 patterns. (<plusminus_insn>xf3): Macroize expander from addxf3 and subxf3 patterns using plusminus code iterator. (<plusminus_insn><mode>3): Macroize expander from add<mode>3 and sub<mode>3 patterns using plusminus code iterator. * config/i386/i386.c (override_options): Update call to gen_subdi_carry_rex64 for renamed function. (ix86_expand_int_addcc): Update calls to gen_subdi3_carry_rex64 and gen_adddi3_carry_rex64 for renamed functions. Use indirect calls to instruction expanders. Tested on x86_64-pc-linux-gnu {,-m32}, committed to mainline. Uros.
Attachment:
p.diff.txt.bz2
Description: BZip2 compressed data
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |