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 2c4513a..ab3bf7f 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);
@@ -458,6 +460,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)
 {
    switch (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)
 {