[prim] Fix prim_packer_fifo when ClearOnRead is false

When we take the first part of an output word, we need to zero the
existing contents.

Signed-off-by: Rupert Swarbrick <rswarbrick@lowrisc.org>
diff --git a/hw/ip/prim/rtl/prim_packer_fifo.sv b/hw/ip/prim/rtl/prim_packer_fifo.sv
index 35482c7..95c143d 100644
--- a/hw/ip/prim/rtl/prim_packer_fifo.sv
+++ b/hw/ip/prim/rtl/prim_packer_fifo.sv
@@ -107,7 +107,7 @@
            depth_q;
 
     assign data_d = clear_data ? '0 :
-           load_data ? (data_q | wdata_shifted) :
+           load_data ? (wdata_shifted | (depth_q == 0 ? '0 : data_q)) :
            data_q;
 
     // set outputs