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]

Re: [PATCH] i386: Roundeven expansion for SSE4.1+


On 7/27/19 3:04 AM, Uros Bizjak wrote:
> On Wed, Jul 24, 2019 at 12:43 PM Tejas Joshi <tejasjoshi9673@gmail.com> wrote:
>>
>> Hi.
>> This is a patch that Uros suggested for roundeven expansion, here.
>> Thanks for the heads up.
>> <https://gcc.gnu.org/ml/gcc-patches/2019-07/msg01038.html>
>> I have rerun the testsuite on the patch, it survives the regression
>> tests and bootstraps on x86_64-linux-gnu. Note, patch to be applied on
>> top of
>> <https://gcc.gnu.org/ml/gcc-patches/2019-06/msg01828.html>
>>
>> Thanks,
>> Tejas
>>
>> gcc/ChangeLog:
>>
>> 2019-07-24  Tejas Joshi  <tejasjoshi9673@gmail.com>
>>
>>     * builtins.c (mathfn_built_in_2): Change CASE_MATHFN to
>>     CASE_MATHFN_FLOATN for roundeven.
>>     * config/i386/i386.c (ix86_i387_mode_needed): Add case I387_ROUNDEVEN.
>>     (ix86_mode_needed): Likewise.
>>     (ix86_mode_after): Likewise.
>>     (ix86_mode_entry): Likewise.
>>     (ix86_mode_exit): Likewise.
>>     (ix86_emit_mode_set): Likewise.
>>     (emit_i387_cw_initialization): Add case I387_CW_ROUNDEVEN.
>>     * config/i386/i386.h (ix86_stack_slot) : Add SLOT_CW_ROUNDEVEN.
>>     (ix86_entry): Add I387_ROUNDEVEN.
>>     (avx_u128_state): Add I387_CW_ANY.
>>     * config/i386/i386.md: Define UNSPEC_FRNDINT_ROUNDEVEN.
>>     (define_int_iterator): Likewise.
>>     (define_int_attr): Likewise for rounding_insn, rounding and ROUNDING.
>>     (define_constant): Define ROUND_ROUNDEVEN mode.
>>     (define_attr): Add roundeven mode for i387_cw.
>>     (<rouding_insn><mode>2): Add condition for ROUND_ROUNDEVEN.
>>     * internal-fn.def (ROUNDEVEN): New builtin function.
>>     * optabs.def (roundeven_optab): New optab.
>>
> 
> LGTM for the x86 part, but you are mixing middle-end changes in the
> patch, so you also need an OK from a middle-end maintainer.
I think the middle end bits are fine too.

Jeff


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]