nv50/ir: add precise field to Instruction
authorKarol Herbst <karolherbst@gmail.com>
Fri, 23 Jun 2017 18:30:27 +0000 (20:30 +0200)
committerIlia Mirkin <imirkin@alum.mit.edu>
Sat, 22 Jul 2017 03:45:18 +0000 (23:45 -0400)
v4: initialize field with NULL

Signed-off-by: Karol Herbst <karolherbst@gmail.com>
Reviewed-by: Pierre Moreau <pierre.morrow@free.fr>
src/gallium/drivers/nouveau/codegen/nv50_ir.cpp
src/gallium/drivers/nouveau/codegen/nv50_ir.h

index 21641a4746c4c961c8eda1f66140b64998293d43..08181b790f4fa6e85745ddce1b4a894ae2060544 100644 (file)
@@ -575,6 +575,7 @@ void Instruction::init()
    encSize = 0;
    ipa = 0;
    mask = 0;
+   precise = 0;
 
    lanes = 0xf;
 
index 5c09fed05c11f464f0abe04507bc8a01eed9d4e6..bc15992df0efd68d8eed59ca79483472b76e2956 100644 (file)
@@ -884,6 +884,8 @@ public:
    unsigned perPatch   : 1;
    unsigned exit       : 1; // terminate program after insn
    unsigned mask       : 4; // for vector ops
+   // prevent algebraic optimisations that aren't bit-for-bit identical
+   unsigned precise    : 1;
 
    int8_t postFactor; // MUL/DIV(if < 0) by 1 << postFactor