[PATCH, i386]: Committed: Merge SSEMODEF and X87MODEF12 into MODEF mode iterator (+ other cleanups)

Uros Bizjak ubizjak@gmail.com
Sun Sep 9 10:55:00 GMT 2007


Hello!

Attached patch merges SSEMODEF and X87MODEF12 mode iterators into MODEF
iterator. Also, it removes operand constraints from expanders and
pre-regalloc splitters.

The patch was bootstrapped on x86_64 and regression tested with and
without -m32. Quite mechanical patch can be reviewed at [1].

> 2007-09-09  Uros Bizjak  <ubizjak@gmail.com>
> 
>         * config/i386/i386.md (X87MODEF12, SSEMODEF): Remove mode iterators.
>         Substitute all uses with ...
>         (MODEF): New mode iterator.
> 
>         (*cmpfp_<mode>_cc): Remove operand constraints from pre-regalloc
>         define_insn_and_split splitter pattern.
>         (fix_trunc<mode>_fisttp_i387_1): Ditto.
>         (*fix_trunc<mode>_i387_1): Ditto.
>         (*fistdi2_1): Ditto.
>         (*fist<mode>2_1): Ditto.
>         (frndintxf2_floor): Ditto.
>         (*fist<mode>2_floor_1): Ditto.
>         (frndintxf2_ceil): Ditto.
>         (*fist<mode>2_ceil_1): Ditto.
>         (frndintxf2_trunc): Ditto.
>         (frndintxf2_mask_pm): Ditto.
> 
>         (prologue): Use (const_int 0) as never generated filler insn.
>         (epilogue): Ditto.
>         (sibcall_epilogue): Ditto.
>         (eh_return_si): Ditto.
>         (eh_return_di): Ditto.
> 
>         (add<mode>3): Rename from adddf3 and addsf3.  Macroize expander
>         using MODEF mode iterator.
>         (sub<mode>3): Rename from subdf3 and subsf3.  Macroize expander
>         using MODEF mode iterator.
>         (mul<mode>3): Rename from muldf3 and mulsf3.  Macroize expander
>         using MODEF mode iterator.
>         (nearbyint<mode>2): Rename from nearbyintdf2 and nearbyintsf2.
>         Macroize expander using MODEF mode iterator.
> 
>         (zero_extendsidi2): Remove operand constraints from expander.
>         (smuldi3_highpart): Ditto.
>         (indirect_jump): Ditto.
>         (tablejump): Ditto.
>         (rsqrtsf2): Ditto.
>         * config/i386/sse.md (storentv4sf): Ditto.
>         (storentv2df): Ditto.
>         (storentv2di): Ditto.
>         (storentsi): Ditto.
>         (sse2_cvtpd2ps): Ditto.
>         (vec_interleave_highv16qi): Ditto.
>         (vec_interleave_lowv16qi): Ditto.
>         (vec_interleave_highv8hi): Ditto.
>         (vec_interleave_lowv8hi): Ditto.
>         (vec_interleave_highv4si): Ditto.
>         (vec_interleave_lowv4si): Ditto.
>         (vec_interleave_highv2di): Ditto.
>         (vec_interleave_lowv2di): Ditto.
>         (sse2_maskmovdqu): Ditto.
>         * config/i386/mmx.md (mmx_maskmovq): Ditto.

[1] http://gcc.gnu.org/viewcvs?view=rev&revision=128290

Uros.



More information about the Gcc-patches mailing list