pan/bi: Add bi_spill helper

Generates STORE to 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 e488f53..f45e21e 100644
--- a/src/panfrost/bifrost/bi_ra.c
+++ b/src/panfrost/bifrost/bi_ra.c
@@ -174,6 +174,29 @@
         }
 }
 
+static bi_instruction
+bi_spill(unsigned node, uint64_t offset, unsigned channels)
+{
+        bi_instruction store = {
+                .type = BI_STORE,
+                .segment = BI_SEGMENT_TLS,
+                .vector_channels = channels,
+                .src = {
+                        node,
+                        BIR_INDEX_CONSTANT,
+                        BIR_INDEX_CONSTANT | 32,
+                },
+                .src_types = {
+                        nir_type_uint32,
+                        nir_type_uint32,
+                        nir_type_uint32
+                },
+                .constant = { .u64 = offset },
+        };
+
+        return store;
+}
+
 /* If register allocation fails, find the best spill node */
 
 static signed