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] |
Season's greetings to you! :) I've made zero_extend versions of SI mode patterns that write to W registers in order to make the implicit zero_extend that they do explicit, so GCC can be smarter about when it actually needs to plant a zero_extend (uxtw). This patch significantly reduces the number of redundant uxtw instructions seen in a variety of programs. (There are further patterns that can be done, but I have them in a separate patch that's still in development.) OK for trunk and backport to ARM/aarch64-4.7-branch? Cheers, Ian 2012-12-13 Ian Bolton <ian.bolton@arm.com> * gcc/config/aarch64/aarch64.md (*addsi3_aarch64_uxtw): New pattern. (*addsi3_compare0_uxtw): New pattern. (*add_<shift>_si_uxtw): New pattern. (*add_<optab><SHORT:mode>_si_uxtw): New pattern. (*add_<optab><SHORT:mode>_shft_si_uxtw): New pattern. (*add_<optab><SHORT:mode>_mult_si_uxtw): New pattern. (*add_<optab>si_multp2_uxtw): New pattern. (*addsi3_carryin_uxtw): New pattern. (*addsi3_carryin_alt1_uxtw): New pattern. (*addsi3_carryin_alt2_uxtw): New pattern. (*addsi3_carryin_alt3_uxtw): New pattern. (*add_uxtsi_multp2_uxtw): New pattern. (*subsi3_uxtw): New pattern. (*subsi3_compare0_uxtw): New pattern. (*sub_<shift>_si_uxtw): New pattern. (*sub_mul_imm_si_uxtw): New pattern. (*sub_<optab><SHORT:mode>_si_uxtw): New pattern. (*sub_<optab><SHORT:mode>_shft_si_uxtw): New pattern. (*sub_<optab>si_multp2_uxtw): New pattern. (*sub_uxtsi_multp2_uxtw): New pattern. (*negsi2_uxtw): New pattern. (*negsi2_compare0_uxtw): New pattern. (*neg_<shift>_si2_uxtw): New pattern. (*neg_mul_imm_si2_uxtw): New pattern. (*mulsi3_uxtw): New pattern. (*maddsi_uxtw): New pattern. (*msubsi_uxtw): New pattern. (*mulsi_neg_uxtw): New pattern. (*<su_optab>divsi3_uxtw): New pattern.
Attachment:
aarch64-rzx-patch1-v2.txt
Description: Text document
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |