diff --git a/ethosu/vela/pass_packing.py b/ethosu/vela/pass_packing.py
index c14a70b..8fb95f0 100644
--- a/ethosu/vela/pass_packing.py
+++ b/ethosu/vela/pass_packing.py
@@ -66,6 +66,7 @@
         "MaxPool",
         "AvgPoolAct",
         "MaxPoolAct",
+        "ReduceSum",
         # deconvolution
         "ResizeBilinear",
     )
@@ -85,10 +86,12 @@
         "Sub",
         "Minimum",
         "Maximum",
+        "SHL",
+        "SHR",
     )
 )
 
-unary_elem_wise_main_ops = set(("LeakyRelu", "Abs"))  # Unary element-wise operations
+unary_elem_wise_main_ops = set(("LeakyRelu", "Abs", "CLZ",))  # Unary element-wise operations
 
 elem_wise_main_ops = binary_elem_wise_main_ops | unary_elem_wise_main_ops
 
@@ -417,13 +420,12 @@
             # Swap broadcast input if applicable
             broadcast_input_check(ps)
 
+            # If only 1 input, IFM and IFM2 will be the same tensor
             ps.ifm_tensor = ps.inputs[0]
+            ps.ifm2_tensor = ps.inputs[-1]
 
-            if len(ps.inputs) == 1:
-                # Only 1 input, IFM and IFM2 are the same tensor
-                ps.ifm2_tensor = ps.inputs[0]
-            else:
-                ps.ifm2_tensor = ps.inputs[1]
+            if len(ps.inputs) > 2:
+                ps.ifm_tensor = ps.inputs[-2]
         else:
             ps.ifm_tensor = ifm_tensor
             ps.ifm2_tensor = None
@@ -432,6 +434,7 @@
         assert ps.placement != PassPlacement.Npu or ps.ofm_tensor is not None
         ps.weight_tensor = ps.get_primary_op_ifm_weights()[1]
         ps.scale_tensor = ps.get_primary_op_ifm_weights_biases_ofm()[2]
+        ps.lut_tensor = ps.get_primary_op_lut()
 
         for op in ps.ops:
             op.scheduled_pass = ps
