nv50/ir/nir: add skeleton getOperation for intrinsics
authorKarol Herbst <kherbst@redhat.com>
Sat, 23 Dec 2017 01:25:41 +0000 (02:25 +0100)
committerKarol Herbst <kherbst@redhat.com>
Sun, 17 Mar 2019 09:33:28 +0000 (10:33 +0100)
v7: don't assert in default case for getSubOp

Signed-off-by: Karol Herbst <kherbst@redhat.com>
Reviewed-by: Pierre Moreau <pierre.morrow@free.fr>
src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp

index 2c4513aad02c1561e1f0a6106aff09c6e17fc580..ab3bf7f843ab4ad0042b3b2330efbf77aa993954 100644 (file)
@@ -116,10 +116,12 @@ private:
    std::vector<DataType> getSTypes(nir_alu_instr *);
    DataType getSType(nir_src &, bool isFloat, bool isSigned);
 
+   operation getOperation(nir_intrinsic_op);
    operation getOperation(nir_op);
    operation getOperation(nir_texop);
    operation preOperationNeeded(nir_op);
 
+   int getSubOp(nir_intrinsic_op);
    int getSubOp(nir_op);
 
    CondCode getCondCode(nir_op);
@@ -457,6 +459,17 @@ Converter::getOperation(nir_texop op)
    }
 }
 
+operation
+Converter::getOperation(nir_intrinsic_op op)
+{
+   switch (op) {
+   default:
+      ERROR("couldn't get operation for nir_intrinsic_op %u\n", op);
+      assert(false);
+      return OP_NOP;
+   }
+}
+
 operation
 Converter::preOperationNeeded(nir_op op)
 {
@@ -481,6 +494,15 @@ Converter::getSubOp(nir_op op)
    }
 }
 
+int
+Converter::getSubOp(nir_intrinsic_op op)
+{
+   switch (op) {
+   default:
+      return 0;
+   }
+}
+
 CondCode
 Converter::getCondCode(nir_op op)
 {