pan/bi: Add bi_fill

Likewise generates LOAD from tls.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7206>
diff --git a/src/panfrost/bifrost/bi_ra.c b/src/panfrost/bifrost/bi_ra.c
index f45e21e..753089f 100644
--- a/src/panfrost/bifrost/bi_ra.c
+++ b/src/panfrost/bifrost/bi_ra.c
@@ -197,6 +197,29 @@
         return store;
 }
 
+static bi_instruction
+bi_fill(unsigned node, uint64_t offset, unsigned channels)
+{
+        bi_instruction load = {
+                .type = BI_LOAD,
+                .segment = BI_SEGMENT_TLS,
+                .vector_channels = channels,
+                .dest = node,
+                .dest_type = nir_type_uint32,
+                .src = {
+                        BIR_INDEX_CONSTANT,
+                        BIR_INDEX_CONSTANT | 32,
+                },
+                .src_types = {
+                        nir_type_uint32,
+                        nir_type_uint32
+                },
+                .constant = { .u64 = offset },
+        };
+
+        return load;
+}
+
 /* If register allocation fails, find the best spill node */
 
 static signed