nvir: Always split 64-bit IMAD/IMUL operations
authorPierre Moreau <pierre.morrow@free.fr>
Mon, 4 Dec 2017 23:51:04 +0000 (00:51 +0100)
committerKarol Herbst <kherbst@redhat.com>
Thu, 13 Sep 2018 18:49:38 +0000 (20:49 +0200)
Those operations do not map to actual hardware instructions, therefore
those should always be lowered to 32-bit instructions.

Fixes: 009c54aa7af "nv50/ir: Split 64-bit integer MAD/MUL operations"
Signed-off-by: Pierre Moreau <pierre.morrow@free.fr>
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Signed-off-by: Karol Herbst <kherbst@redhat.com>
src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp

index ecb4bae2a83651af98db0912bb48098362c4315c..d851cf3c37cdc9fab83af6ec9b5dbfa70536bcc6 100644 (file)
@@ -3986,7 +3986,7 @@ Program::optimizeSSA(int level)
    RUN_PASS(2, AlgebraicOpt, run);
    RUN_PASS(2, ModifierFolding, run); // before load propagation -> less checks
    RUN_PASS(1, ConstantFolding, foldAll);
-   RUN_PASS(1, Split64BitOpPreRA, run);
+   RUN_PASS(0, Split64BitOpPreRA, run);
    RUN_PASS(2, LateAlgebraicOpt, run);
    RUN_PASS(1, LoadPropagation, run);
    RUN_PASS(1, IndirectPropagation, run);