nir: Drop lower_fmod64 option.
authorKenneth Graunke <kenneth@whitecape.org>
Mon, 3 Jun 2019 20:15:49 +0000 (13:15 -0700)
committerKenneth Graunke <kenneth@whitecape.org>
Wed, 5 Jun 2019 23:45:12 +0000 (16:45 -0700)
nir_lower_doubles offers a wide variety of fp64 lowering, including
lowering fmod@64.  The version there also better handles imprecisions
due to lowered frcp@64.  Let's consolidate on one version.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
src/compiler/nir/nir.h
src/compiler/nir/nir_opt_algebraic.py
src/intel/compiler/brw_compiler.c

index 7930e164acb571500cb5f733ee7a57e9e1d65caa..794b18334369fcf5f04286d83fcaae1dad970dd3 100644 (file)
@@ -2250,7 +2250,6 @@ typedef struct nir_shader_compiler_options {
    bool lower_fsqrt;
    bool lower_fmod16;
    bool lower_fmod32;
-   bool lower_fmod64;
    /** Lowers ibitfield_extract/ubitfield_extract to ibfe/ubfe. */
    bool lower_bitfield_extract;
    /** Lowers ibitfield_extract/ubitfield_extract to bfm, compares, shifts. */
index d36131ae1ac21df4f6624a6b8f49dd274cd606bc..c0894ce42c9eebe99e9358f9c183d9f4eb06f804 100644 (file)
@@ -773,7 +773,6 @@ optimizations.extend([
    # Misc. lowering
    (('fmod@16', a, b), ('fsub', a, ('fmul', b, ('ffloor', ('fdiv', a, b)))), 'options->lower_fmod16'),
    (('fmod@32', a, b), ('fsub', a, ('fmul', b, ('ffloor', ('fdiv', a, b)))), 'options->lower_fmod32'),
-   (('fmod@64', a, b), ('fsub', a, ('fmul', b, ('ffloor', ('fdiv', a, b)))), 'options->lower_fmod64'),
    (('frem', a, b), ('fsub', a, ('fmul', b, ('ftrunc', ('fdiv', a, b)))), 'options->lower_fmod32'),
    (('uadd_carry@32', a, b), ('b2i', ('ult', ('iadd', a, b), a)), 'options->lower_uadd_carry'),
    (('usub_borrow@32', a, b), ('b2i', ('ult', a, b)), 'options->lower_usub_borrow'),
index 536dc86ab78954ba07f43ce86b853fd5e73586f9..9da549f74483681028b75cabad9968b86deb0fa3 100644 (file)
@@ -36,7 +36,6 @@
    .lower_flrp16 = true,                                                      \
    .lower_fmod16 = true,                                                      \
    .lower_fmod32 = true,                                                      \
-   .lower_fmod64 = false,                                                     \
    .lower_bitfield_extract = true,                                            \
    .lower_bitfield_insert = true,                                             \
    .lower_uadd_carry = true,                                                  \