AMDGPU: Remove redundant MIMG instruction variants
authorNicolai Haehnle <nhaehnle@gmail.com>
Thu, 21 Jun 2018 13:37:55 +0000 (13:37 +0000)
committerNicolai Haehnle <nhaehnle@gmail.com>
Thu, 21 Jun 2018 13:37:55 +0000 (13:37 +0000)
Summary:
For sample and gather ops, we can accurately determine the set of
vaddr-size instruction variants that are required. This reduces
the size of instruction tables by ~5%.

The number of machine instruction opcodes is reduced from 10002
to 9476.

Change-Id: Ie7fc65d3657b762c7816017fe70b2e9bec644a8a

Reviewers: arsenm, rampitec

Subscribers: kzhuravl, wdng, yaxunl, dstuttard, tpr, llvm-commits, t-tye

Differential Revision: https://reviews.llvm.org/D48168

llvm-svn: 335232

llvm/lib/Target/AMDGPU/MIMGInstructions.td
llvm/test/MC/AMDGPU/gfx7_asm_all.s
llvm/test/MC/AMDGPU/gfx8_asm_all.s

index 5792987..1e0bc62 100644 (file)
@@ -306,21 +306,68 @@ class MIMG_Sampler_Helper <bits<7> op, string asm, RegisterClass dst_rc,
                       #!if(BaseOpcode.HasD16, "$d16", "");
 }
 
-multiclass MIMG_Sampler_Src_Helper <bits<7> op, string asm, RegisterClass dst_rc,
+class MIMGAddrSize<int dw, bit enable_disasm> {
+  int NumWords = dw;
+
+  RegisterClass RegClass = !if(!le(NumWords, 0), ?,
+                           !if(!eq(NumWords, 1), VGPR_32,
+                           !if(!eq(NumWords, 2), VReg_64,
+                           !if(!eq(NumWords, 3), VReg_96,
+                           !if(!eq(NumWords, 4), VReg_128,
+                           !if(!le(NumWords, 8), VReg_256,
+                           !if(!le(NumWords, 16), VReg_512, ?)))))));
+
+  // Whether the instruction variant with this vaddr size should be enabled for
+  // the auto-generated disassembler.
+  bit Disassemble = enable_disasm;
+}
+
+// Return whether a value inside the range [min, max] (endpoints inclusive)
+// is in the given list.
+class isRangeInList<int min, int max, list<int> lst> {
+  bit ret = !foldl(0, lst, lhs, y, !or(lhs, !and(!le(min, y), !le(y, max))));
+}
+
+class MIMGAddrSizes_tmp<list<MIMGAddrSize> lst, int min> {
+  list<MIMGAddrSize> List = lst;
+  int Min = min;
+}
+
+class MIMG_Sampler_AddrSizes<AMDGPUSampleVariant sample> {
+  // List of all possible numbers of address words, taking all combinations of
+  // A16 and image dimension into account (note: no MSAA, since this is for
+  // sample/gather ops).
+  list<int> AllNumAddrWords =
+    !foreach(dw, !if(sample.Gradients,
+                     !if(!eq(sample.LodOrClamp, ""),
+                         [2, 3, 4, 5, 6, 7, 9],
+                         [2, 3, 4, 5, 7, 8, 10]),
+                     !if(!eq(sample.LodOrClamp, ""),
+                         [1, 2, 3],
+                         [1, 2, 3, 4])),
+             !add(dw, !size(sample.ExtraAddrArgs)));
+
+  // Generate machine instructions based on possible register classes for the
+  // required numbers of address words. The disassembler defaults to the
+  // smallest register class.
+  list<MIMGAddrSize> MachineInstrs =
+    !foldl(MIMGAddrSizes_tmp<[], 0>, [1, 2, 3, 4, 8, 16], lhs, dw,
+           !if(isRangeInList<lhs.Min, dw, AllNumAddrWords>.ret,
+               MIMGAddrSizes_tmp<
+                  !listconcat(lhs.List, [MIMGAddrSize<dw, !empty(lhs.List)>]),
+                  !if(!eq(dw, 3), 3, !add(dw, 1))>, // we still need _V4 for codegen w/ 3 dwords
+               lhs)).List;
+}
+
+multiclass MIMG_Sampler_Src_Helper <bits<7> op, string asm,
+                                    AMDGPUSampleVariant sample, RegisterClass dst_rc,
                                     bit enableDisasm = 0> {
-  let VAddrDwords = 1 in
-  def _V1 : MIMG_Sampler_Helper <op, asm, dst_rc, VGPR_32,
-                                 !if(enableDisasm, "AMDGPU", "")>;
-  let VAddrDwords = 2 in
-  def _V2 : MIMG_Sampler_Helper <op, asm, dst_rc, VReg_64>;
-  let VAddrDwords = 3 in
-  def _V3 : MIMG_Sampler_Helper <op, asm, dst_rc, VReg_96>;
-  let VAddrDwords = 4 in
-  def _V4 : MIMG_Sampler_Helper <op, asm, dst_rc, VReg_128>;
-  let VAddrDwords = 8 in
-  def _V8 : MIMG_Sampler_Helper <op, asm, dst_rc, VReg_256>;
-  let VAddrDwords = 16 in
-  def _V16 : MIMG_Sampler_Helper <op, asm, dst_rc, VReg_512>;
+  foreach addr = MIMG_Sampler_AddrSizes<sample>.MachineInstrs in {
+    let VAddrDwords = addr.NumWords in
+    def _V # addr.NumWords
+      : MIMG_Sampler_Helper <op, asm, dst_rc, addr.RegClass,
+                             !if(!and(enableDisasm, addr.Disassemble), "AMDGPU", "")>;
+  }
 }
 
 class MIMG_Sampler_BaseOpcode<AMDGPUSampleVariant sample>
@@ -341,13 +388,13 @@ multiclass MIMG_Sampler <bits<7> op, AMDGPUSampleVariant sample, bit wqm = 0,
   let BaseOpcode = !cast<MIMGBaseOpcode>(NAME), WQM = wqm,
       mayLoad = !if(isGetLod, 0, 1) in {
     let VDataDwords = 1 in
-    defm _V1 : MIMG_Sampler_Src_Helper<op, asm, VGPR_32, 1>;
+    defm _V1 : MIMG_Sampler_Src_Helper<op, asm, sample, VGPR_32, 1>;
     let VDataDwords = 2 in
-    defm _V2 : MIMG_Sampler_Src_Helper<op, asm, VReg_64>;
+    defm _V2 : MIMG_Sampler_Src_Helper<op, asm, sample, VReg_64>;
     let VDataDwords = 3 in
-    defm _V3 : MIMG_Sampler_Src_Helper<op, asm, VReg_96>;
+    defm _V3 : MIMG_Sampler_Src_Helper<op, asm, sample, VReg_96>;
     let VDataDwords = 4 in
-    defm _V4 : MIMG_Sampler_Src_Helper<op, asm, VReg_128>;
+    defm _V4 : MIMG_Sampler_Src_Helper<op, asm, sample, VReg_128>;
   }
 }
 
@@ -363,9 +410,9 @@ multiclass MIMG_Gather <bits<7> op, AMDGPUSampleVariant sample, bit wqm = 0,
   let BaseOpcode = !cast<MIMGBaseOpcode>(NAME), WQM = wqm,
       Gather4 = 1, hasPostISelHook = 0 in {
     let VDataDwords = 2 in
-    defm _V2 : MIMG_Sampler_Src_Helper<op, asm, VReg_64>; /* for packed D16 only */
+    defm _V2 : MIMG_Sampler_Src_Helper<op, asm, sample, VReg_64>; /* for packed D16 only */
     let VDataDwords = 4 in
-    defm _V4 : MIMG_Sampler_Src_Helper<op, asm, VReg_128, 1>;
+    defm _V4 : MIMG_Sampler_Src_Helper<op, asm, sample, VReg_128, 1>;
   }
 }
 
index ffc1fbb..80d6e2f 100644 (file)
@@ -5820,208 +5820,208 @@ image_gather4 v[5:8], v1, s[8:15], s[12:15] dmask:0x1 lwe
 image_gather4 v[5:8], v1, s[8:15], s[12:15] dmask:0x1 da
 // CHECK: [0x00,0x41,0x00,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_cl v[5:8], v1, s[8:15], s[12:15] dmask:0x1
+image_gather4_cl v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x04,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_cl v[252:255], v1, s[8:15], s[12:15] dmask:0x1
+image_gather4_cl v[252:255], v[1:4], s[8:15], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x04,0xf1,0x01,0xfc,0x62,0x00]
 
-image_gather4_cl v[5:8], v255, s[8:15], s[12:15] dmask:0x1
-// CHECK: [0x00,0x01,0x04,0xf1,0xff,0x05,0x62,0x00]
+image_gather4_cl v[5:8], v[254:255], s[8:15], s[12:15] dmask:0x1
+// CHECK: [0x00,0x01,0x04,0xf1,0xfe,0x05,0x62,0x00]
 
-image_gather4_cl v[5:8], v1, s[12:19], s[12:15] dmask:0x1
+image_gather4_cl v[5:8], v[1:4], s[12:19], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x04,0xf1,0x01,0x05,0x63,0x00]
 
-image_gather4_cl v[5:8], v1, s[96:103], s[12:15] dmask:0x1
+image_gather4_cl v[5:8], v[1:4], s[96:103], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x04,0xf1,0x01,0x05,0x78,0x00]
 
-image_gather4_cl v[5:8], v1, ttmp[4:11], s[12:15] dmask:0x1
+image_gather4_cl v[5:8], v[1:4], ttmp[4:11], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x04,0xf1,0x01,0x05,0x7d,0x00]
 
-image_gather4_cl v[5:8], v1, s[8:15], s[16:19] dmask:0x1
+image_gather4_cl v[5:8], v[1:4], s[8:15], s[16:19] dmask:0x1
 // CHECK: [0x00,0x01,0x04,0xf1,0x01,0x05,0x82,0x00]
 
-image_gather4_cl v[5:8], v1, s[8:15], s[100:103] dmask:0x1
+image_gather4_cl v[5:8], v[1:4], s[8:15], s[100:103] dmask:0x1
 // CHECK: [0x00,0x01,0x04,0xf1,0x01,0x05,0x22,0x03]
 
-image_gather4_cl v[5:8], v1, s[8:15], ttmp[8:11] dmask:0x1
+image_gather4_cl v[5:8], v[1:4], s[8:15], ttmp[8:11] dmask:0x1
 // CHECK: [0x00,0x01,0x04,0xf1,0x01,0x05,0xc2,0x03]
 
-image_gather4_cl v[5:8], v1, s[8:15], s[12:15] dmask:0x2
+image_gather4_cl v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x2
 // CHECK: [0x00,0x02,0x04,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_cl v[5:8], v1, s[8:15], s[12:15] dmask:0x4
+image_gather4_cl v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x4
 // CHECK: [0x00,0x04,0x04,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_cl v[5:8], v1, s[8:15], s[12:15] dmask:0x8
+image_gather4_cl v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x8
 // CHECK: [0x00,0x08,0x04,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_cl v[5:8], v1, s[8:15], s[12:15] dmask:0x1 unorm
+image_gather4_cl v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 unorm
 // CHECK: [0x00,0x11,0x04,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_cl v[5:8], v1, s[8:15], s[12:15] dmask:0x1 glc
+image_gather4_cl v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 glc
 // CHECK: [0x00,0x21,0x04,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_cl v[5:8], v1, s[8:15], s[12:15] dmask:0x1 slc
+image_gather4_cl v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 slc
 // CHECK: [0x00,0x01,0x04,0xf3,0x01,0x05,0x62,0x00]
 
-image_gather4_cl v[5:8], v1, s[8:15], s[12:15] dmask:0x1 lwe
+image_gather4_cl v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 lwe
 // CHECK: [0x00,0x01,0x06,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_cl v[5:8], v1, s[8:15], s[12:15] dmask:0x1 da
+image_gather4_cl v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 da
 // CHECK: [0x00,0x41,0x04,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_l v[5:8], v1, s[8:15], s[12:15] dmask:0x1
+image_gather4_l v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x10,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_l v[252:255], v1, s[8:15], s[12:15] dmask:0x1
+image_gather4_l v[252:255], v[1:4], s[8:15], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x10,0xf1,0x01,0xfc,0x62,0x00]
 
 image_gather4_l v[5:8], v255, s[8:15], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x10,0xf1,0xff,0x05,0x62,0x00]
 
-image_gather4_l v[5:8], v1, s[12:19], s[12:15] dmask:0x1
+image_gather4_l v[5:8], v[1:4], s[12:19], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x10,0xf1,0x01,0x05,0x63,0x00]
 
-image_gather4_l v[5:8], v1, s[96:103], s[12:15] dmask:0x1
+image_gather4_l v[5:8], v[1:4], s[96:103], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x10,0xf1,0x01,0x05,0x78,0x00]
 
 image_gather4_l v[5:8], v1, ttmp[4:11], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x10,0xf1,0x01,0x05,0x7d,0x00]
 
-image_gather4_l v[5:8], v1, s[8:15], s[16:19] dmask:0x1
+image_gather4_l v[5:8], v[1:4], s[8:15], s[16:19] dmask:0x1
 // CHECK: [0x00,0x01,0x10,0xf1,0x01,0x05,0x82,0x00]
 
-image_gather4_l v[5:8], v1, s[8:15], s[100:103] dmask:0x1
+image_gather4_l v[5:8], v[1:4], s[8:15], s[100:103] dmask:0x1
 // CHECK: [0x00,0x01,0x10,0xf1,0x01,0x05,0x22,0x03]
 
-image_gather4_l v[5:8], v1, s[8:15], ttmp[8:11] dmask:0x1
+image_gather4_l v[5:8], v[1:4], s[8:15], ttmp[8:11] dmask:0x1
 // CHECK: [0x00,0x01,0x10,0xf1,0x01,0x05,0xc2,0x03]
 
-image_gather4_l v[5:8], v1, s[8:15], s[12:15] dmask:0x2
+image_gather4_l v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x2
 // CHECK: [0x00,0x02,0x10,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_l v[5:8], v1, s[8:15], s[12:15] dmask:0x4
+image_gather4_l v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x4
 // CHECK: [0x00,0x04,0x10,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_l v[5:8], v1, s[8:15], s[12:15] dmask:0x8
+image_gather4_l v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x8
 // CHECK: [0x00,0x08,0x10,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_l v[5:8], v1, s[8:15], s[12:15] dmask:0x1 unorm
+image_gather4_l v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 unorm
 // CHECK: [0x00,0x11,0x10,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_l v[5:8], v1, s[8:15], s[12:15] dmask:0x1 glc
+image_gather4_l v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 glc
 // CHECK: [0x00,0x21,0x10,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_l v[5:8], v1, s[8:15], s[12:15] dmask:0x1 slc
+image_gather4_l v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 slc
 // CHECK: [0x00,0x01,0x10,0xf3,0x01,0x05,0x62,0x00]
 
-image_gather4_l v[5:8], v1, s[8:15], s[12:15] dmask:0x1 lwe
+image_gather4_l v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 lwe
 // CHECK: [0x00,0x01,0x12,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_l v[5:8], v1, s[8:15], s[12:15] dmask:0x1 da
+image_gather4_l v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 da
 // CHECK: [0x00,0x41,0x10,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_b v[5:8], v1, s[8:15], s[12:15] dmask:0x1
+image_gather4_b v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x14,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_b v[252:255], v1, s[8:15], s[12:15] dmask:0x1
+image_gather4_b v[252:255], v[1:4], s[8:15], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x14,0xf1,0x01,0xfc,0x62,0x00]
 
-image_gather4_b v[5:8], v255, s[8:15], s[12:15] dmask:0x1
-// CHECK: [0x00,0x01,0x14,0xf1,0xff,0x05,0x62,0x00]
+image_gather4_b v[5:8], v[254:255], s[8:15], s[12:15] dmask:0x1
+// CHECK: [0x00,0x01,0x14,0xf1,0xfe,0x05,0x62,0x00]
 
-image_gather4_b v[5:8], v1, s[12:19], s[12:15] dmask:0x1
+image_gather4_b v[5:8], v[1:4], s[12:19], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x14,0xf1,0x01,0x05,0x63,0x00]
 
-image_gather4_b v[5:8], v1, s[96:103], s[12:15] dmask:0x1
+image_gather4_b v[5:8], v[1:4], s[96:103], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x14,0xf1,0x01,0x05,0x78,0x00]
 
-image_gather4_b v[5:8], v1, ttmp[4:11], s[12:15] dmask:0x1
+image_gather4_b v[5:8], v[1:4], ttmp[4:11], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x14,0xf1,0x01,0x05,0x7d,0x00]
 
-image_gather4_b v[5:8], v1, s[8:15], s[16:19] dmask:0x1
+image_gather4_b v[5:8], v[1:4], s[8:15], s[16:19] dmask:0x1
 // CHECK: [0x00,0x01,0x14,0xf1,0x01,0x05,0x82,0x00]
 
-image_gather4_b v[5:8], v1, s[8:15], s[100:103] dmask:0x1
+image_gather4_b v[5:8], v[1:4], s[8:15], s[100:103] dmask:0x1
 // CHECK: [0x00,0x01,0x14,0xf1,0x01,0x05,0x22,0x03]
 
-image_gather4_b v[5:8], v1, s[8:15], ttmp[8:11] dmask:0x1
+image_gather4_b v[5:8], v[1:4], s[8:15], ttmp[8:11] dmask:0x1
 // CHECK: [0x00,0x01,0x14,0xf1,0x01,0x05,0xc2,0x03]
 
-image_gather4_b v[5:8], v1, s[8:15], s[12:15] dmask:0x2
+image_gather4_b v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x2
 // CHECK: [0x00,0x02,0x14,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_b v[5:8], v1, s[8:15], s[12:15] dmask:0x4
+image_gather4_b v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x4
 // CHECK: [0x00,0x04,0x14,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_b v[5:8], v1, s[8:15], s[12:15] dmask:0x8
+image_gather4_b v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x8
 // CHECK: [0x00,0x08,0x14,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_b v[5:8], v1, s[8:15], s[12:15] dmask:0x1 unorm
+image_gather4_b v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 unorm
 // CHECK: [0x00,0x11,0x14,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_b v[5:8], v1, s[8:15], s[12:15] dmask:0x1 glc
+image_gather4_b v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 glc
 // CHECK: [0x00,0x21,0x14,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_b v[5:8], v1, s[8:15], s[12:15] dmask:0x1 slc
+image_gather4_b v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 slc
 // CHECK: [0x00,0x01,0x14,0xf3,0x01,0x05,0x62,0x00]
 
-image_gather4_b v[5:8], v1, s[8:15], s[12:15] dmask:0x1 lwe
+image_gather4_b v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 lwe
 // CHECK: [0x00,0x01,0x16,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_b v[5:8], v1, s[8:15], s[12:15] dmask:0x1 da
+image_gather4_b v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 da
 // CHECK: [0x00,0x41,0x14,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_b_cl v[5:8], v1, s[8:15], s[12:15] dmask:0x1
+image_gather4_b_cl v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x18,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_b_cl v[252:255], v1, s[8:15], s[12:15] dmask:0x1
+image_gather4_b_cl v[252:255], v[1:4], s[8:15], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x18,0xf1,0x01,0xfc,0x62,0x00]
 
-image_gather4_b_cl v[5:8], v255, s[8:15], s[12:15] dmask:0x1
-// CHECK: [0x00,0x01,0x18,0xf1,0xff,0x05,0x62,0x00]
+image_gather4_b_cl v[5:8], v[253:255], s[8:15], s[12:15] dmask:0x1
+// CHECK: [0x00,0x01,0x18,0xf1,0xfd,0x05,0x62,0x00]
 
-image_gather4_b_cl v[5:8], v1, s[12:19], s[12:15] dmask:0x1
+image_gather4_b_cl v[5:8], v[1:4], s[12:19], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x18,0xf1,0x01,0x05,0x63,0x00]
 
-image_gather4_b_cl v[5:8], v1, s[96:103], s[12:15] dmask:0x1
+image_gather4_b_cl v[5:8], v[1:4], s[96:103], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x18,0xf1,0x01,0x05,0x78,0x00]
 
-image_gather4_b_cl v[5:8], v1, ttmp[4:11], s[12:15] dmask:0x1
+image_gather4_b_cl v[5:8], v[1:4], ttmp[4:11], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x18,0xf1,0x01,0x05,0x7d,0x00]
 
-image_gather4_b_cl v[5:8], v1, s[8:15], s[16:19] dmask:0x1
+image_gather4_b_cl v[5:8], v[1:4], s[8:15], s[16:19] dmask:0x1
 // CHECK: [0x00,0x01,0x18,0xf1,0x01,0x05,0x82,0x00]
 
-image_gather4_b_cl v[5:8], v1, s[8:15], s[100:103] dmask:0x1
+image_gather4_b_cl v[5:8], v[1:4], s[8:15], s[100:103] dmask:0x1
 // CHECK: [0x00,0x01,0x18,0xf1,0x01,0x05,0x22,0x03]
 
-image_gather4_b_cl v[5:8], v1, s[8:15], ttmp[8:11] dmask:0x1
+image_gather4_b_cl v[5:8], v[1:4], s[8:15], ttmp[8:11] dmask:0x1
 // CHECK: [0x00,0x01,0x18,0xf1,0x01,0x05,0xc2,0x03]
 
-image_gather4_b_cl v[5:8], v1, s[8:15], s[12:15] dmask:0x2
+image_gather4_b_cl v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x2
 // CHECK: [0x00,0x02,0x18,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_b_cl v[5:8], v1, s[8:15], s[12:15] dmask:0x4
+image_gather4_b_cl v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x4
 // CHECK: [0x00,0x04,0x18,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_b_cl v[5:8], v1, s[8:15], s[12:15] dmask:0x8
+image_gather4_b_cl v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x8
 // CHECK: [0x00,0x08,0x18,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_b_cl v[5:8], v1, s[8:15], s[12:15] dmask:0x1 unorm
+image_gather4_b_cl v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 unorm
 // CHECK: [0x00,0x11,0x18,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_b_cl v[5:8], v1, s[8:15], s[12:15] dmask:0x1 glc
+image_gather4_b_cl v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 glc
 // CHECK: [0x00,0x21,0x18,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_b_cl v[5:8], v1, s[8:15], s[12:15] dmask:0x1 slc
+image_gather4_b_cl v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 slc
 // CHECK: [0x00,0x01,0x18,0xf3,0x01,0x05,0x62,0x00]
 
-image_gather4_b_cl v[5:8], v1, s[8:15], s[12:15] dmask:0x1 lwe
+image_gather4_b_cl v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 lwe
 // CHECK: [0x00,0x01,0x1a,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_b_cl v[5:8], v1, s[8:15], s[12:15] dmask:0x1 da
+image_gather4_b_cl v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 da
 // CHECK: [0x00,0x41,0x18,0xf1,0x01,0x05,0x62,0x00]
 
 image_gather4_lz v[5:8], v1, s[8:15], s[12:15] dmask:0x1
@@ -6075,922 +6075,922 @@ image_gather4_lz v[5:8], v1, s[8:15], s[12:15] dmask:0x1 lwe
 image_gather4_lz v[5:8], v1, s[8:15], s[12:15] dmask:0x1 da
 // CHECK: [0x00,0x41,0x1c,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c v[5:8], v1, s[8:15], s[12:15] dmask:0x1
+image_gather4_c v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x20,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c v[252:255], v1, s[8:15], s[12:15] dmask:0x1
+image_gather4_c v[252:255], v[1:4], s[8:15], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x20,0xf1,0x01,0xfc,0x62,0x00]
 
-image_gather4_c v[5:8], v255, s[8:15], s[12:15] dmask:0x1
-// CHECK: [0x00,0x01,0x20,0xf1,0xff,0x05,0x62,0x00]
+image_gather4_c v[5:8], v[254:255], s[8:15], s[12:15] dmask:0x1
+// CHECK: [0x00,0x01,0x20,0xf1,0xfe,0x05,0x62,0x00]
 
-image_gather4_c v[5:8], v1, s[12:19], s[12:15] dmask:0x1
+image_gather4_c v[5:8], v[1:4], s[12:19], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x20,0xf1,0x01,0x05,0x63,0x00]
 
-image_gather4_c v[5:8], v1, s[96:103], s[12:15] dmask:0x1
+image_gather4_c v[5:8], v[1:4], s[96:103], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x20,0xf1,0x01,0x05,0x78,0x00]
 
-image_gather4_c v[5:8], v1, ttmp[4:11], s[12:15] dmask:0x1
+image_gather4_c v[5:8], v[1:4], ttmp[4:11], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x20,0xf1,0x01,0x05,0x7d,0x00]
 
-image_gather4_c v[5:8], v1, s[8:15], s[16:19] dmask:0x1
+image_gather4_c v[5:8], v[1:4], s[8:15], s[16:19] dmask:0x1
 // CHECK: [0x00,0x01,0x20,0xf1,0x01,0x05,0x82,0x00]
 
-image_gather4_c v[5:8], v1, s[8:15], s[100:103] dmask:0x1
+image_gather4_c v[5:8], v[1:4], s[8:15], s[100:103] dmask:0x1
 // CHECK: [0x00,0x01,0x20,0xf1,0x01,0x05,0x22,0x03]
 
-image_gather4_c v[5:8], v1, s[8:15], ttmp[8:11] dmask:0x1
+image_gather4_c v[5:8], v[1:4], s[8:15], ttmp[8:11] dmask:0x1
 // CHECK: [0x00,0x01,0x20,0xf1,0x01,0x05,0xc2,0x03]
 
-image_gather4_c v[5:8], v1, s[8:15], s[12:15] dmask:0x2
+image_gather4_c v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x2
 // CHECK: [0x00,0x02,0x20,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c v[5:8], v1, s[8:15], s[12:15] dmask:0x4
+image_gather4_c v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x4
 // CHECK: [0x00,0x04,0x20,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c v[5:8], v1, s[8:15], s[12:15] dmask:0x8
+image_gather4_c v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x8
 // CHECK: [0x00,0x08,0x20,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c v[5:8], v1, s[8:15], s[12:15] dmask:0x1 unorm
+image_gather4_c v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 unorm
 // CHECK: [0x00,0x11,0x20,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c v[5:8], v1, s[8:15], s[12:15] dmask:0x1 glc
+image_gather4_c v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 glc
 // CHECK: [0x00,0x21,0x20,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c v[5:8], v1, s[8:15], s[12:15] dmask:0x1 slc
+image_gather4_c v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 slc
 // CHECK: [0x00,0x01,0x20,0xf3,0x01,0x05,0x62,0x00]
 
-image_gather4_c v[5:8], v1, s[8:15], s[12:15] dmask:0x1 lwe
+image_gather4_c v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 lwe
 // CHECK: [0x00,0x01,0x22,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c v[5:8], v1, s[8:15], s[12:15] dmask:0x1 da
+image_gather4_c v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 da
 // CHECK: [0x00,0x41,0x20,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_cl v[5:8], v1, s[8:15], s[12:15] dmask:0x1
+image_gather4_c_cl v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x24,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_cl v[252:255], v1, s[8:15], s[12:15] dmask:0x1
+image_gather4_c_cl v[252:255], v[1:4], s[8:15], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x24,0xf1,0x01,0xfc,0x62,0x00]
 
-image_gather4_c_cl v[5:8], v255, s[8:15], s[12:15] dmask:0x1
-// CHECK: [0x00,0x01,0x24,0xf1,0xff,0x05,0x62,0x00]
+image_gather4_c_cl v[5:8], v[253:255], s[8:15], s[12:15] dmask:0x1
+// CHECK: [0x00,0x01,0x24,0xf1,0xfd,0x05,0x62,0x00]
 
-image_gather4_c_cl v[5:8], v1, s[12:19], s[12:15] dmask:0x1
+image_gather4_c_cl v[5:8], v[1:4], s[12:19], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x24,0xf1,0x01,0x05,0x63,0x00]
 
-image_gather4_c_cl v[5:8], v1, s[96:103], s[12:15] dmask:0x1
+image_gather4_c_cl v[5:8], v[1:4], s[96:103], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x24,0xf1,0x01,0x05,0x78,0x00]
 
-image_gather4_c_cl v[5:8], v1, ttmp[4:11], s[12:15] dmask:0x1
+image_gather4_c_cl v[5:8], v[1:4], ttmp[4:11], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x24,0xf1,0x01,0x05,0x7d,0x00]
 
-image_gather4_c_cl v[5:8], v1, s[8:15], s[16:19] dmask:0x1
+image_gather4_c_cl v[5:8], v[1:4], s[8:15], s[16:19] dmask:0x1
 // CHECK: [0x00,0x01,0x24,0xf1,0x01,0x05,0x82,0x00]
 
-image_gather4_c_cl v[5:8], v1, s[8:15], s[100:103] dmask:0x1
+image_gather4_c_cl v[5:8], v[1:4], s[8:15], s[100:103] dmask:0x1
 // CHECK: [0x00,0x01,0x24,0xf1,0x01,0x05,0x22,0x03]
 
-image_gather4_c_cl v[5:8], v1, s[8:15], ttmp[8:11] dmask:0x1
+image_gather4_c_cl v[5:8], v[1:4], s[8:15], ttmp[8:11] dmask:0x1
 // CHECK: [0x00,0x01,0x24,0xf1,0x01,0x05,0xc2,0x03]
 
-image_gather4_c_cl v[5:8], v1, s[8:15], s[12:15] dmask:0x2
+image_gather4_c_cl v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x2
 // CHECK: [0x00,0x02,0x24,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_cl v[5:8], v1, s[8:15], s[12:15] dmask:0x4
+image_gather4_c_cl v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x4
 // CHECK: [0x00,0x04,0x24,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_cl v[5:8], v1, s[8:15], s[12:15] dmask:0x8
+image_gather4_c_cl v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x8
 // CHECK: [0x00,0x08,0x24,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_cl v[5:8], v1, s[8:15], s[12:15] dmask:0x1 unorm
+image_gather4_c_cl v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 unorm
 // CHECK: [0x00,0x11,0x24,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_cl v[5:8], v1, s[8:15], s[12:15] dmask:0x1 glc
+image_gather4_c_cl v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 glc
 // CHECK: [0x00,0x21,0x24,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_cl v[5:8], v1, s[8:15], s[12:15] dmask:0x1 slc
+image_gather4_c_cl v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 slc
 // CHECK: [0x00,0x01,0x24,0xf3,0x01,0x05,0x62,0x00]
 
-image_gather4_c_cl v[5:8], v1, s[8:15], s[12:15] dmask:0x1 lwe
+image_gather4_c_cl v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 lwe
 // CHECK: [0x00,0x01,0x26,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_cl v[5:8], v1, s[8:15], s[12:15] dmask:0x1 da
+image_gather4_c_cl v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 da
 // CHECK: [0x00,0x41,0x24,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_l v[5:8], v1, s[8:15], s[12:15] dmask:0x1
+image_gather4_c_l v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x30,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_l v[252:255], v1, s[8:15], s[12:15] dmask:0x1
+image_gather4_c_l v[252:255], v[1:4], s[8:15], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x30,0xf1,0x01,0xfc,0x62,0x00]
 
-image_gather4_c_l v[5:8], v255, s[8:15], s[12:15] dmask:0x1
-// CHECK: [0x00,0x01,0x30,0xf1,0xff,0x05,0x62,0x00]
+image_gather4_c_l v[5:8], v[253:255], s[8:15], s[12:15] dmask:0x1
+// CHECK: [0x00,0x01,0x30,0xf1,0xfd,0x05,0x62,0x00]
 
-image_gather4_c_l v[5:8], v1, s[12:19], s[12:15] dmask:0x1
+image_gather4_c_l v[5:8], v[1:4], s[12:19], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x30,0xf1,0x01,0x05,0x63,0x00]
 
-image_gather4_c_l v[5:8], v1, s[96:103], s[12:15] dmask:0x1
+image_gather4_c_l v[5:8], v[1:4], s[96:103], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x30,0xf1,0x01,0x05,0x78,0x00]
 
-image_gather4_c_l v[5:8], v1, ttmp[4:11], s[12:15] dmask:0x1
+image_gather4_c_l v[5:8], v[1:4], ttmp[4:11], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x30,0xf1,0x01,0x05,0x7d,0x00]
 
-image_gather4_c_l v[5:8], v1, s[8:15], s[16:19] dmask:0x1
+image_gather4_c_l v[5:8], v[1:4], s[8:15], s[16:19] dmask:0x1
 // CHECK: [0x00,0x01,0x30,0xf1,0x01,0x05,0x82,0x00]
 
-image_gather4_c_l v[5:8], v1, s[8:15], s[100:103] dmask:0x1
+image_gather4_c_l v[5:8], v[1:4], s[8:15], s[100:103] dmask:0x1
 // CHECK: [0x00,0x01,0x30,0xf1,0x01,0x05,0x22,0x03]
 
-image_gather4_c_l v[5:8], v1, s[8:15], ttmp[8:11] dmask:0x1
+image_gather4_c_l v[5:8], v[1:4], s[8:15], ttmp[8:11] dmask:0x1
 // CHECK: [0x00,0x01,0x30,0xf1,0x01,0x05,0xc2,0x03]
 
-image_gather4_c_l v[5:8], v1, s[8:15], s[12:15] dmask:0x2
+image_gather4_c_l v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x2
 // CHECK: [0x00,0x02,0x30,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_l v[5:8], v1, s[8:15], s[12:15] dmask:0x4
+image_gather4_c_l v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x4
 // CHECK: [0x00,0x04,0x30,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_l v[5:8], v1, s[8:15], s[12:15] dmask:0x8
+image_gather4_c_l v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x8
 // CHECK: [0x00,0x08,0x30,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_l v[5:8], v1, s[8:15], s[12:15] dmask:0x1 unorm
+image_gather4_c_l v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 unorm
 // CHECK: [0x00,0x11,0x30,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_l v[5:8], v1, s[8:15], s[12:15] dmask:0x1 glc
+image_gather4_c_l v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 glc
 // CHECK: [0x00,0x21,0x30,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_l v[5:8], v1, s[8:15], s[12:15] dmask:0x1 slc
+image_gather4_c_l v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 slc
 // CHECK: [0x00,0x01,0x30,0xf3,0x01,0x05,0x62,0x00]
 
-image_gather4_c_l v[5:8], v1, s[8:15], s[12:15] dmask:0x1 lwe
+image_gather4_c_l v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 lwe
 // CHECK: [0x00,0x01,0x32,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_l v[5:8], v1, s[8:15], s[12:15] dmask:0x1 da
+image_gather4_c_l v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 da
 // CHECK: [0x00,0x41,0x30,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_b v[5:8], v1, s[8:15], s[12:15] dmask:0x1
+image_gather4_c_b v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x34,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_b v[252:255], v1, s[8:15], s[12:15] dmask:0x1
+image_gather4_c_b v[252:255], v[1:4], s[8:15], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x34,0xf1,0x01,0xfc,0x62,0x00]
 
-image_gather4_c_b v[5:8], v255, s[8:15], s[12:15] dmask:0x1
-// CHECK: [0x00,0x01,0x34,0xf1,0xff,0x05,0x62,0x00]
+image_gather4_c_b v[5:8], v[253:255], s[8:15], s[12:15] dmask:0x1
+// CHECK: [0x00,0x01,0x34,0xf1,0xfd,0x05,0x62,0x00]
 
-image_gather4_c_b v[5:8], v1, s[12:19], s[12:15] dmask:0x1
+image_gather4_c_b v[5:8], v[1:4], s[12:19], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x34,0xf1,0x01,0x05,0x63,0x00]
 
-image_gather4_c_b v[5:8], v1, s[96:103], s[12:15] dmask:0x1
+image_gather4_c_b v[5:8], v[1:4], s[96:103], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x34,0xf1,0x01,0x05,0x78,0x00]
 
-image_gather4_c_b v[5:8], v1, ttmp[4:11], s[12:15] dmask:0x1
+image_gather4_c_b v[5:8], v[1:4], ttmp[4:11], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x34,0xf1,0x01,0x05,0x7d,0x00]
 
-image_gather4_c_b v[5:8], v1, s[8:15], s[16:19] dmask:0x1
+image_gather4_c_b v[5:8], v[1:4], s[8:15], s[16:19] dmask:0x1
 // CHECK: [0x00,0x01,0x34,0xf1,0x01,0x05,0x82,0x00]
 
-image_gather4_c_b v[5:8], v1, s[8:15], s[100:103] dmask:0x1
+image_gather4_c_b v[5:8], v[1:4], s[8:15], s[100:103] dmask:0x1
 // CHECK: [0x00,0x01,0x34,0xf1,0x01,0x05,0x22,0x03]
 
-image_gather4_c_b v[5:8], v1, s[8:15], ttmp[8:11] dmask:0x1
+image_gather4_c_b v[5:8], v[1:4], s[8:15], ttmp[8:11] dmask:0x1
 // CHECK: [0x00,0x01,0x34,0xf1,0x01,0x05,0xc2,0x03]
 
-image_gather4_c_b v[5:8], v1, s[8:15], s[12:15] dmask:0x2
+image_gather4_c_b v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x2
 // CHECK: [0x00,0x02,0x34,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_b v[5:8], v1, s[8:15], s[12:15] dmask:0x4
+image_gather4_c_b v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x4
 // CHECK: [0x00,0x04,0x34,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_b v[5:8], v1, s[8:15], s[12:15] dmask:0x8
+image_gather4_c_b v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x8
 // CHECK: [0x00,0x08,0x34,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_b v[5:8], v1, s[8:15], s[12:15] dmask:0x1 unorm
+image_gather4_c_b v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 unorm
 // CHECK: [0x00,0x11,0x34,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_b v[5:8], v1, s[8:15], s[12:15] dmask:0x1 glc
+image_gather4_c_b v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 glc
 // CHECK: [0x00,0x21,0x34,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_b v[5:8], v1, s[8:15], s[12:15] dmask:0x1 slc
+image_gather4_c_b v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 slc
 // CHECK: [0x00,0x01,0x34,0xf3,0x01,0x05,0x62,0x00]
 
-image_gather4_c_b v[5:8], v1, s[8:15], s[12:15] dmask:0x1 lwe
+image_gather4_c_b v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 lwe
 // CHECK: [0x00,0x01,0x36,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_b v[5:8], v1, s[8:15], s[12:15] dmask:0x1 da
+image_gather4_c_b v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 da
 // CHECK: [0x00,0x41,0x34,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_b_cl v[5:8], v1, s[8:15], s[12:15] dmask:0x1
+image_gather4_c_b_cl v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x38,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_b_cl v[252:255], v1, s[8:15], s[12:15] dmask:0x1
+image_gather4_c_b_cl v[252:255], v[1:4], s[8:15], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x38,0xf1,0x01,0xfc,0x62,0x00]
 
-image_gather4_c_b_cl v[5:8], v255, s[8:15], s[12:15] dmask:0x1
-// CHECK: [0x00,0x01,0x38,0xf1,0xff,0x05,0x62,0x00]
+image_gather4_c_b_cl v[5:8], v[252:255], s[8:15], s[12:15] dmask:0x1
+// CHECK: [0x00,0x01,0x38,0xf1,0xfc,0x05,0x62,0x00]
 
-image_gather4_c_b_cl v[5:8], v1, s[12:19], s[12:15] dmask:0x1
+image_gather4_c_b_cl v[5:8], v[1:4], s[12:19], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x38,0xf1,0x01,0x05,0x63,0x00]
 
-image_gather4_c_b_cl v[5:8], v1, s[96:103], s[12:15] dmask:0x1
+image_gather4_c_b_cl v[5:8], v[1:4], s[96:103], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x38,0xf1,0x01,0x05,0x78,0x00]
 
-image_gather4_c_b_cl v[5:8], v1, ttmp[4:11], s[12:15] dmask:0x1
+image_gather4_c_b_cl v[5:8], v[1:4], ttmp[4:11], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x38,0xf1,0x01,0x05,0x7d,0x00]
 
-image_gather4_c_b_cl v[5:8], v1, s[8:15], s[16:19] dmask:0x1
+image_gather4_c_b_cl v[5:8], v[1:4], s[8:15], s[16:19] dmask:0x1
 // CHECK: [0x00,0x01,0x38,0xf1,0x01,0x05,0x82,0x00]
 
-image_gather4_c_b_cl v[5:8], v1, s[8:15], s[100:103] dmask:0x1
+image_gather4_c_b_cl v[5:8], v[1:4], s[8:15], s[100:103] dmask:0x1
 // CHECK: [0x00,0x01,0x38,0xf1,0x01,0x05,0x22,0x03]
 
-image_gather4_c_b_cl v[5:8], v1, s[8:15], ttmp[8:11] dmask:0x1
+image_gather4_c_b_cl v[5:8], v[1:4], s[8:15], ttmp[8:11] dmask:0x1
 // CHECK: [0x00,0x01,0x38,0xf1,0x01,0x05,0xc2,0x03]
 
-image_gather4_c_b_cl v[5:8], v1, s[8:15], s[12:15] dmask:0x2
+image_gather4_c_b_cl v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x2
 // CHECK: [0x00,0x02,0x38,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_b_cl v[5:8], v1, s[8:15], s[12:15] dmask:0x4
+image_gather4_c_b_cl v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x4
 // CHECK: [0x00,0x04,0x38,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_b_cl v[5:8], v1, s[8:15], s[12:15] dmask:0x8
+image_gather4_c_b_cl v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x8
 // CHECK: [0x00,0x08,0x38,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_b_cl v[5:8], v1, s[8:15], s[12:15] dmask:0x1 unorm
+image_gather4_c_b_cl v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 unorm
 // CHECK: [0x00,0x11,0x38,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_b_cl v[5:8], v1, s[8:15], s[12:15] dmask:0x1 glc
+image_gather4_c_b_cl v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 glc
 // CHECK: [0x00,0x21,0x38,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_b_cl v[5:8], v1, s[8:15], s[12:15] dmask:0x1 slc
+image_gather4_c_b_cl v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 slc
 // CHECK: [0x00,0x01,0x38,0xf3,0x01,0x05,0x62,0x00]
 
-image_gather4_c_b_cl v[5:8], v1, s[8:15], s[12:15] dmask:0x1 lwe
+image_gather4_c_b_cl v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 lwe
 // CHECK: [0x00,0x01,0x3a,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_b_cl v[5:8], v1, s[8:15], s[12:15] dmask:0x1 da
+image_gather4_c_b_cl v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 da
 // CHECK: [0x00,0x41,0x38,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_lz v[5:8], v1, s[8:15], s[12:15] dmask:0x1
+image_gather4_c_lz v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x3c,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_lz v[252:255], v1, s[8:15], s[12:15] dmask:0x1
+image_gather4_c_lz v[252:255], v[1:4], s[8:15], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x3c,0xf1,0x01,0xfc,0x62,0x00]
 
-image_gather4_c_lz v[5:8], v255, s[8:15], s[12:15] dmask:0x1
-// CHECK: [0x00,0x01,0x3c,0xf1,0xff,0x05,0x62,0x00]
+image_gather4_c_lz v[5:8], v[254:255], s[8:15], s[12:15] dmask:0x1
+// CHECK: [0x00,0x01,0x3c,0xf1,0xfe,0x05,0x62,0x00]
 
-image_gather4_c_lz v[5:8], v1, s[12:19], s[12:15] dmask:0x1
+image_gather4_c_lz v[5:8], v[1:4], s[12:19], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x3c,0xf1,0x01,0x05,0x63,0x00]
 
-image_gather4_c_lz v[5:8], v1, s[96:103], s[12:15] dmask:0x1
+image_gather4_c_lz v[5:8], v[1:4], s[96:103], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x3c,0xf1,0x01,0x05,0x78,0x00]
 
-image_gather4_c_lz v[5:8], v1, ttmp[4:11], s[12:15] dmask:0x1
+image_gather4_c_lz v[5:8], v[1:4], ttmp[4:11], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x3c,0xf1,0x01,0x05,0x7d,0x00]
 
-image_gather4_c_lz v[5:8], v1, s[8:15], s[16:19] dmask:0x1
+image_gather4_c_lz v[5:8], v[1:4], s[8:15], s[16:19] dmask:0x1
 // CHECK: [0x00,0x01,0x3c,0xf1,0x01,0x05,0x82,0x00]
 
-image_gather4_c_lz v[5:8], v1, s[8:15], s[100:103] dmask:0x1
+image_gather4_c_lz v[5:8], v[1:4], s[8:15], s[100:103] dmask:0x1
 // CHECK: [0x00,0x01,0x3c,0xf1,0x01,0x05,0x22,0x03]
 
-image_gather4_c_lz v[5:8], v1, s[8:15], ttmp[8:11] dmask:0x1
+image_gather4_c_lz v[5:8], v[1:4], s[8:15], ttmp[8:11] dmask:0x1
 // CHECK: [0x00,0x01,0x3c,0xf1,0x01,0x05,0xc2,0x03]
 
-image_gather4_c_lz v[5:8], v1, s[8:15], s[12:15] dmask:0x2
+image_gather4_c_lz v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x2
 // CHECK: [0x00,0x02,0x3c,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_lz v[5:8], v1, s[8:15], s[12:15] dmask:0x4
+image_gather4_c_lz v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x4
 // CHECK: [0x00,0x04,0x3c,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_lz v[5:8], v1, s[8:15], s[12:15] dmask:0x8
+image_gather4_c_lz v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x8
 // CHECK: [0x00,0x08,0x3c,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_lz v[5:8], v1, s[8:15], s[12:15] dmask:0x1 unorm
+image_gather4_c_lz v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 unorm
 // CHECK: [0x00,0x11,0x3c,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_lz v[5:8], v1, s[8:15], s[12:15] dmask:0x1 glc
+image_gather4_c_lz v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 glc
 // CHECK: [0x00,0x21,0x3c,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_lz v[5:8], v1, s[8:15], s[12:15] dmask:0x1 slc
+image_gather4_c_lz v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 slc
 // CHECK: [0x00,0x01,0x3c,0xf3,0x01,0x05,0x62,0x00]
 
-image_gather4_c_lz v[5:8], v1, s[8:15], s[12:15] dmask:0x1 lwe
+image_gather4_c_lz v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 lwe
 // CHECK: [0x00,0x01,0x3e,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_lz v[5:8], v1, s[8:15], s[12:15] dmask:0x1 da
+image_gather4_c_lz v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 da
 // CHECK: [0x00,0x41,0x3c,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1
+image_gather4_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x40,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_o v[252:255], v1, s[8:15], s[12:15] dmask:0x1
+image_gather4_o v[252:255], v[1:4], s[8:15], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x40,0xf1,0x01,0xfc,0x62,0x00]
 
-image_gather4_o v[5:8], v255, s[8:15], s[12:15] dmask:0x1
-// CHECK: [0x00,0x01,0x40,0xf1,0xff,0x05,0x62,0x00]
+image_gather4_o v[5:8], v[254:255], s[8:15], s[12:15] dmask:0x1
+// CHECK: [0x00,0x01,0x40,0xf1,0xfe,0x05,0x62,0x00]
 
-image_gather4_o v[5:8], v1, s[12:19], s[12:15] dmask:0x1
+image_gather4_o v[5:8], v[1:4], s[12:19], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x40,0xf1,0x01,0x05,0x63,0x00]
 
-image_gather4_o v[5:8], v1, s[96:103], s[12:15] dmask:0x1
+image_gather4_o v[5:8], v[1:4], s[96:103], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x40,0xf1,0x01,0x05,0x78,0x00]
 
-image_gather4_o v[5:8], v1, ttmp[4:11], s[12:15] dmask:0x1
+image_gather4_o v[5:8], v[1:4], ttmp[4:11], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x40,0xf1,0x01,0x05,0x7d,0x00]
 
-image_gather4_o v[5:8], v1, s[8:15], s[16:19] dmask:0x1
+image_gather4_o v[5:8], v[1:4], s[8:15], s[16:19] dmask:0x1
 // CHECK: [0x00,0x01,0x40,0xf1,0x01,0x05,0x82,0x00]
 
-image_gather4_o v[5:8], v1, s[8:15], s[100:103] dmask:0x1
+image_gather4_o v[5:8], v[1:4], s[8:15], s[100:103] dmask:0x1
 // CHECK: [0x00,0x01,0x40,0xf1,0x01,0x05,0x22,0x03]
 
-image_gather4_o v[5:8], v1, s[8:15], ttmp[8:11] dmask:0x1
+image_gather4_o v[5:8], v[1:4], s[8:15], ttmp[8:11] dmask:0x1
 // CHECK: [0x00,0x01,0x40,0xf1,0x01,0x05,0xc2,0x03]
 
-image_gather4_o v[5:8], v1, s[8:15], s[12:15] dmask:0x2
+image_gather4_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x2
 // CHECK: [0x00,0x02,0x40,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_o v[5:8], v1, s[8:15], s[12:15] dmask:0x4
+image_gather4_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x4
 // CHECK: [0x00,0x04,0x40,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_o v[5:8], v1, s[8:15], s[12:15] dmask:0x8
+image_gather4_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x8
 // CHECK: [0x00,0x08,0x40,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 unorm
+image_gather4_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 unorm
 // CHECK: [0x00,0x11,0x40,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 glc
+image_gather4_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 glc
 // CHECK: [0x00,0x21,0x40,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 slc
+image_gather4_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 slc
 // CHECK: [0x00,0x01,0x40,0xf3,0x01,0x05,0x62,0x00]
 
-image_gather4_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 lwe
+image_gather4_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 lwe
 // CHECK: [0x00,0x01,0x42,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 da
+image_gather4_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 da
 // CHECK: [0x00,0x41,0x40,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_cl_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1
+image_gather4_cl_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x44,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_cl_o v[252:255], v1, s[8:15], s[12:15] dmask:0x1
+image_gather4_cl_o v[252:255], v[1:4], s[8:15], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x44,0xf1,0x01,0xfc,0x62,0x00]
 
-image_gather4_cl_o v[5:8], v255, s[8:15], s[12:15] dmask:0x1
-// CHECK: [0x00,0x01,0x44,0xf1,0xff,0x05,0x62,0x00]
+image_gather4_cl_o v[5:8], v[253:255], s[8:15], s[12:15] dmask:0x1
+// CHECK: [0x00,0x01,0x44,0xf1,0xfd,0x05,0x62,0x00]
 
-image_gather4_cl_o v[5:8], v1, s[12:19], s[12:15] dmask:0x1
+image_gather4_cl_o v[5:8], v[1:4], s[12:19], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x44,0xf1,0x01,0x05,0x63,0x00]
 
-image_gather4_cl_o v[5:8], v1, s[96:103], s[12:15] dmask:0x1
+image_gather4_cl_o v[5:8], v[1:4], s[96:103], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x44,0xf1,0x01,0x05,0x78,0x00]
 
-image_gather4_cl_o v[5:8], v1, ttmp[4:11], s[12:15] dmask:0x1
+image_gather4_cl_o v[5:8], v[1:4], ttmp[4:11], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x44,0xf1,0x01,0x05,0x7d,0x00]
 
-image_gather4_cl_o v[5:8], v1, s[8:15], s[16:19] dmask:0x1
+image_gather4_cl_o v[5:8], v[1:4], s[8:15], s[16:19] dmask:0x1
 // CHECK: [0x00,0x01,0x44,0xf1,0x01,0x05,0x82,0x00]
 
-image_gather4_cl_o v[5:8], v1, s[8:15], s[100:103] dmask:0x1
+image_gather4_cl_o v[5:8], v[1:4], s[8:15], s[100:103] dmask:0x1
 // CHECK: [0x00,0x01,0x44,0xf1,0x01,0x05,0x22,0x03]
 
-image_gather4_cl_o v[5:8], v1, s[8:15], ttmp[8:11] dmask:0x1
+image_gather4_cl_o v[5:8], v[1:4], s[8:15], ttmp[8:11] dmask:0x1
 // CHECK: [0x00,0x01,0x44,0xf1,0x01,0x05,0xc2,0x03]
 
-image_gather4_cl_o v[5:8], v1, s[8:15], s[12:15] dmask:0x2
+image_gather4_cl_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x2
 // CHECK: [0x00,0x02,0x44,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_cl_o v[5:8], v1, s[8:15], s[12:15] dmask:0x4
+image_gather4_cl_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x4
 // CHECK: [0x00,0x04,0x44,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_cl_o v[5:8], v1, s[8:15], s[12:15] dmask:0x8
+image_gather4_cl_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x8
 // CHECK: [0x00,0x08,0x44,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_cl_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 unorm
+image_gather4_cl_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 unorm
 // CHECK: [0x00,0x11,0x44,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_cl_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 glc
+image_gather4_cl_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 glc
 // CHECK: [0x00,0x21,0x44,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_cl_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 slc
+image_gather4_cl_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 slc
 // CHECK: [0x00,0x01,0x44,0xf3,0x01,0x05,0x62,0x00]
 
-image_gather4_cl_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 lwe
+image_gather4_cl_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 lwe
 // CHECK: [0x00,0x01,0x46,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_cl_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 da
+image_gather4_cl_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 da
 // CHECK: [0x00,0x41,0x44,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_l_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1
+image_gather4_l_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x50,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_l_o v[252:255], v1, s[8:15], s[12:15] dmask:0x1
+image_gather4_l_o v[252:255], v[1:4], s[8:15], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x50,0xf1,0x01,0xfc,0x62,0x00]
 
-image_gather4_l_o v[5:8], v255, s[8:15], s[12:15] dmask:0x1
-// CHECK: [0x00,0x01,0x50,0xf1,0xff,0x05,0x62,0x00]
+image_gather4_l_o v[5:8], v[253:255], s[8:15], s[12:15] dmask:0x1
+// CHECK: [0x00,0x01,0x50,0xf1,0xfd,0x05,0x62,0x00]
 
-image_gather4_l_o v[5:8], v1, s[12:19], s[12:15] dmask:0x1
+image_gather4_l_o v[5:8], v[1:4], s[12:19], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x50,0xf1,0x01,0x05,0x63,0x00]
 
-image_gather4_l_o v[5:8], v1, s[96:103], s[12:15] dmask:0x1
+image_gather4_l_o v[5:8], v[1:4], s[96:103], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x50,0xf1,0x01,0x05,0x78,0x00]
 
-image_gather4_l_o v[5:8], v1, ttmp[4:11], s[12:15] dmask:0x1
+image_gather4_l_o v[5:8], v[1:4], ttmp[4:11], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x50,0xf1,0x01,0x05,0x7d,0x00]
 
-image_gather4_l_o v[5:8], v1, s[8:15], s[16:19] dmask:0x1
+image_gather4_l_o v[5:8], v[1:4], s[8:15], s[16:19] dmask:0x1
 // CHECK: [0x00,0x01,0x50,0xf1,0x01,0x05,0x82,0x00]
 
-image_gather4_l_o v[5:8], v1, s[8:15], s[100:103] dmask:0x1
+image_gather4_l_o v[5:8], v[1:4], s[8:15], s[100:103] dmask:0x1
 // CHECK: [0x00,0x01,0x50,0xf1,0x01,0x05,0x22,0x03]
 
-image_gather4_l_o v[5:8], v1, s[8:15], ttmp[8:11] dmask:0x1
+image_gather4_l_o v[5:8], v[1:4], s[8:15], ttmp[8:11] dmask:0x1
 // CHECK: [0x00,0x01,0x50,0xf1,0x01,0x05,0xc2,0x03]
 
-image_gather4_l_o v[5:8], v1, s[8:15], s[12:15] dmask:0x2
+image_gather4_l_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x2
 // CHECK: [0x00,0x02,0x50,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_l_o v[5:8], v1, s[8:15], s[12:15] dmask:0x4
+image_gather4_l_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x4
 // CHECK: [0x00,0x04,0x50,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_l_o v[5:8], v1, s[8:15], s[12:15] dmask:0x8
+image_gather4_l_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x8
 // CHECK: [0x00,0x08,0x50,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_l_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 unorm
+image_gather4_l_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 unorm
 // CHECK: [0x00,0x11,0x50,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_l_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 glc
+image_gather4_l_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 glc
 // CHECK: [0x00,0x21,0x50,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_l_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 slc
+image_gather4_l_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 slc
 // CHECK: [0x00,0x01,0x50,0xf3,0x01,0x05,0x62,0x00]
 
-image_gather4_l_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 lwe
+image_gather4_l_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 lwe
 // CHECK: [0x00,0x01,0x52,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_l_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 da
+image_gather4_l_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 da
 // CHECK: [0x00,0x41,0x50,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_b_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1
+image_gather4_b_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x54,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_b_o v[252:255], v1, s[8:15], s[12:15] dmask:0x1
+image_gather4_b_o v[252:255], v[1:4], s[8:15], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x54,0xf1,0x01,0xfc,0x62,0x00]
 
-image_gather4_b_o v[5:8], v255, s[8:15], s[12:15] dmask:0x1
-// CHECK: [0x00,0x01,0x54,0xf1,0xff,0x05,0x62,0x00]
+image_gather4_b_o v[5:8], v[253:255], s[8:15], s[12:15] dmask:0x1
+// CHECK: [0x00,0x01,0x54,0xf1,0xfd,0x05,0x62,0x00]
 
-image_gather4_b_o v[5:8], v1, s[12:19], s[12:15] dmask:0x1
+image_gather4_b_o v[5:8], v[1:4], s[12:19], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x54,0xf1,0x01,0x05,0x63,0x00]
 
-image_gather4_b_o v[5:8], v1, s[96:103], s[12:15] dmask:0x1
+image_gather4_b_o v[5:8], v[1:4], s[96:103], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x54,0xf1,0x01,0x05,0x78,0x00]
 
-image_gather4_b_o v[5:8], v1, ttmp[4:11], s[12:15] dmask:0x1
+image_gather4_b_o v[5:8], v[1:4], ttmp[4:11], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x54,0xf1,0x01,0x05,0x7d,0x00]
 
-image_gather4_b_o v[5:8], v1, s[8:15], s[16:19] dmask:0x1
+image_gather4_b_o v[5:8], v[1:4], s[8:15], s[16:19] dmask:0x1
 // CHECK: [0x00,0x01,0x54,0xf1,0x01,0x05,0x82,0x00]
 
-image_gather4_b_o v[5:8], v1, s[8:15], s[100:103] dmask:0x1
+image_gather4_b_o v[5:8], v[1:4], s[8:15], s[100:103] dmask:0x1
 // CHECK: [0x00,0x01,0x54,0xf1,0x01,0x05,0x22,0x03]
 
-image_gather4_b_o v[5:8], v1, s[8:15], ttmp[8:11] dmask:0x1
+image_gather4_b_o v[5:8], v[1:4], s[8:15], ttmp[8:11] dmask:0x1
 // CHECK: [0x00,0x01,0x54,0xf1,0x01,0x05,0xc2,0x03]
 
-image_gather4_b_o v[5:8], v1, s[8:15], s[12:15] dmask:0x2
+image_gather4_b_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x2
 // CHECK: [0x00,0x02,0x54,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_b_o v[5:8], v1, s[8:15], s[12:15] dmask:0x4
+image_gather4_b_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x4
 // CHECK: [0x00,0x04,0x54,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_b_o v[5:8], v1, s[8:15], s[12:15] dmask:0x8
+image_gather4_b_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x8
 // CHECK: [0x00,0x08,0x54,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_b_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 unorm
+image_gather4_b_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 unorm
 // CHECK: [0x00,0x11,0x54,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_b_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 glc
+image_gather4_b_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 glc
 // CHECK: [0x00,0x21,0x54,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_b_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 slc
+image_gather4_b_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 slc
 // CHECK: [0x00,0x01,0x54,0xf3,0x01,0x05,0x62,0x00]
 
-image_gather4_b_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 lwe
+image_gather4_b_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 lwe
 // CHECK: [0x00,0x01,0x56,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_b_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 da
+image_gather4_b_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 da
 // CHECK: [0x00,0x41,0x54,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_b_cl_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1
+image_gather4_b_cl_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x58,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_b_cl_o v[252:255], v1, s[8:15], s[12:15] dmask:0x1
+image_gather4_b_cl_o v[252:255], v[1:4], s[8:15], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x58,0xf1,0x01,0xfc,0x62,0x00]
 
-image_gather4_b_cl_o v[5:8], v255, s[8:15], s[12:15] dmask:0x1
-// CHECK: [0x00,0x01,0x58,0xf1,0xff,0x05,0x62,0x00]
+image_gather4_b_cl_o v[5:8], v[252:255], s[8:15], s[12:15] dmask:0x1
+// CHECK: [0x00,0x01,0x58,0xf1,0xfc,0x05,0x62,0x00]
 
-image_gather4_b_cl_o v[5:8], v1, s[12:19], s[12:15] dmask:0x1
+image_gather4_b_cl_o v[5:8], v[1:4], s[12:19], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x58,0xf1,0x01,0x05,0x63,0x00]
 
-image_gather4_b_cl_o v[5:8], v1, s[96:103], s[12:15] dmask:0x1
+image_gather4_b_cl_o v[5:8], v[1:4], s[96:103], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x58,0xf1,0x01,0x05,0x78,0x00]
 
-image_gather4_b_cl_o v[5:8], v1, ttmp[4:11], s[12:15] dmask:0x1
+image_gather4_b_cl_o v[5:8], v[1:4], ttmp[4:11], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x58,0xf1,0x01,0x05,0x7d,0x00]
 
-image_gather4_b_cl_o v[5:8], v1, s[8:15], s[16:19] dmask:0x1
+image_gather4_b_cl_o v[5:8], v[1:4], s[8:15], s[16:19] dmask:0x1
 // CHECK: [0x00,0x01,0x58,0xf1,0x01,0x05,0x82,0x00]
 
-image_gather4_b_cl_o v[5:8], v1, s[8:15], s[100:103] dmask:0x1
+image_gather4_b_cl_o v[5:8], v[1:4], s[8:15], s[100:103] dmask:0x1
 // CHECK: [0x00,0x01,0x58,0xf1,0x01,0x05,0x22,0x03]
 
-image_gather4_b_cl_o v[5:8], v1, s[8:15], ttmp[8:11] dmask:0x1
+image_gather4_b_cl_o v[5:8], v[1:4], s[8:15], ttmp[8:11] dmask:0x1
 // CHECK: [0x00,0x01,0x58,0xf1,0x01,0x05,0xc2,0x03]
 
-image_gather4_b_cl_o v[5:8], v1, s[8:15], s[12:15] dmask:0x2
+image_gather4_b_cl_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x2
 // CHECK: [0x00,0x02,0x58,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_b_cl_o v[5:8], v1, s[8:15], s[12:15] dmask:0x4
+image_gather4_b_cl_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x4
 // CHECK: [0x00,0x04,0x58,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_b_cl_o v[5:8], v1, s[8:15], s[12:15] dmask:0x8
+image_gather4_b_cl_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x8
 // CHECK: [0x00,0x08,0x58,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_b_cl_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 unorm
+image_gather4_b_cl_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 unorm
 // CHECK: [0x00,0x11,0x58,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_b_cl_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 glc
+image_gather4_b_cl_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 glc
 // CHECK: [0x00,0x21,0x58,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_b_cl_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 slc
+image_gather4_b_cl_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 slc
 // CHECK: [0x00,0x01,0x58,0xf3,0x01,0x05,0x62,0x00]
 
-image_gather4_b_cl_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 lwe
+image_gather4_b_cl_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 lwe
 // CHECK: [0x00,0x01,0x5a,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_b_cl_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 da
+image_gather4_b_cl_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 da
 // CHECK: [0x00,0x41,0x58,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_lz_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1
+image_gather4_lz_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x5c,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_lz_o v[252:255], v1, s[8:15], s[12:15] dmask:0x1
+image_gather4_lz_o v[252:255], v[1:4], s[8:15], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x5c,0xf1,0x01,0xfc,0x62,0x00]
 
-image_gather4_lz_o v[5:8], v255, s[8:15], s[12:15] dmask:0x1
-// CHECK: [0x00,0x01,0x5c,0xf1,0xff,0x05,0x62,0x00]
+image_gather4_lz_o v[5:8], v[253:255], s[8:15], s[12:15] dmask:0x1
+// CHECK: [0x00,0x01,0x5c,0xf1,0xfd,0x05,0x62,0x00]
 
-image_gather4_lz_o v[5:8], v1, s[12:19], s[12:15] dmask:0x1
+image_gather4_lz_o v[5:8], v[1:4], s[12:19], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x5c,0xf1,0x01,0x05,0x63,0x00]
 
-image_gather4_lz_o v[5:8], v1, s[96:103], s[12:15] dmask:0x1
+image_gather4_lz_o v[5:8], v[1:4], s[96:103], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x5c,0xf1,0x01,0x05,0x78,0x00]
 
-image_gather4_lz_o v[5:8], v1, ttmp[4:11], s[12:15] dmask:0x1
+image_gather4_lz_o v[5:8], v[1:4], ttmp[4:11], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x5c,0xf1,0x01,0x05,0x7d,0x00]
 
-image_gather4_lz_o v[5:8], v1, s[8:15], s[16:19] dmask:0x1
+image_gather4_lz_o v[5:8], v[1:4], s[8:15], s[16:19] dmask:0x1
 // CHECK: [0x00,0x01,0x5c,0xf1,0x01,0x05,0x82,0x00]
 
-image_gather4_lz_o v[5:8], v1, s[8:15], s[100:103] dmask:0x1
+image_gather4_lz_o v[5:8], v[1:4], s[8:15], s[100:103] dmask:0x1
 // CHECK: [0x00,0x01,0x5c,0xf1,0x01,0x05,0x22,0x03]
 
-image_gather4_lz_o v[5:8], v1, s[8:15], ttmp[8:11] dmask:0x1
+image_gather4_lz_o v[5:8], v[1:4], s[8:15], ttmp[8:11] dmask:0x1
 // CHECK: [0x00,0x01,0x5c,0xf1,0x01,0x05,0xc2,0x03]
 
-image_gather4_lz_o v[5:8], v1, s[8:15], s[12:15] dmask:0x2
+image_gather4_lz_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x2
 // CHECK: [0x00,0x02,0x5c,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_lz_o v[5:8], v1, s[8:15], s[12:15] dmask:0x4
+image_gather4_lz_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x4
 // CHECK: [0x00,0x04,0x5c,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_lz_o v[5:8], v1, s[8:15], s[12:15] dmask:0x8
+image_gather4_lz_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x8
 // CHECK: [0x00,0x08,0x5c,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_lz_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 unorm
+image_gather4_lz_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 unorm
 // CHECK: [0x00,0x11,0x5c,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_lz_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 glc
+image_gather4_lz_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 glc
 // CHECK: [0x00,0x21,0x5c,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_lz_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 slc
+image_gather4_lz_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 slc
 // CHECK: [0x00,0x01,0x5c,0xf3,0x01,0x05,0x62,0x00]
 
-image_gather4_lz_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 lwe
+image_gather4_lz_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 lwe
 // CHECK: [0x00,0x01,0x5e,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_lz_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 da
+image_gather4_lz_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 da
 // CHECK: [0x00,0x41,0x5c,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1
+image_gather4_c_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x60,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_o v[252:255], v1, s[8:15], s[12:15] dmask:0x1
+image_gather4_c_o v[252:255], v[1:4], s[8:15], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x60,0xf1,0x01,0xfc,0x62,0x00]
 
-image_gather4_c_o v[5:8], v255, s[8:15], s[12:15] dmask:0x1
-// CHECK: [0x00,0x01,0x60,0xf1,0xff,0x05,0x62,0x00]
+image_gather4_c_o v[5:8], v[253:255], s[8:15], s[12:15] dmask:0x1
+// CHECK: [0x00,0x01,0x60,0xf1,0xfd,0x05,0x62,0x00]
 
-image_gather4_c_o v[5:8], v1, s[12:19], s[12:15] dmask:0x1
+image_gather4_c_o v[5:8], v[1:4], s[12:19], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x60,0xf1,0x01,0x05,0x63,0x00]
 
-image_gather4_c_o v[5:8], v1, s[96:103], s[12:15] dmask:0x1
+image_gather4_c_o v[5:8], v[1:4], s[96:103], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x60,0xf1,0x01,0x05,0x78,0x00]
 
-image_gather4_c_o v[5:8], v1, ttmp[4:11], s[12:15] dmask:0x1
+image_gather4_c_o v[5:8], v[1:4], ttmp[4:11], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x60,0xf1,0x01,0x05,0x7d,0x00]
 
-image_gather4_c_o v[5:8], v1, s[8:15], s[16:19] dmask:0x1
+image_gather4_c_o v[5:8], v[1:4], s[8:15], s[16:19] dmask:0x1
 // CHECK: [0x00,0x01,0x60,0xf1,0x01,0x05,0x82,0x00]
 
-image_gather4_c_o v[5:8], v1, s[8:15], s[100:103] dmask:0x1
+image_gather4_c_o v[5:8], v[1:4], s[8:15], s[100:103] dmask:0x1
 // CHECK: [0x00,0x01,0x60,0xf1,0x01,0x05,0x22,0x03]
 
-image_gather4_c_o v[5:8], v1, s[8:15], ttmp[8:11] dmask:0x1
+image_gather4_c_o v[5:8], v[1:4], s[8:15], ttmp[8:11] dmask:0x1
 // CHECK: [0x00,0x01,0x60,0xf1,0x01,0x05,0xc2,0x03]
 
-image_gather4_c_o v[5:8], v1, s[8:15], s[12:15] dmask:0x2
+image_gather4_c_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x2
 // CHECK: [0x00,0x02,0x60,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_o v[5:8], v1, s[8:15], s[12:15] dmask:0x4
+image_gather4_c_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x4
 // CHECK: [0x00,0x04,0x60,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_o v[5:8], v1, s[8:15], s[12:15] dmask:0x8
+image_gather4_c_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x8
 // CHECK: [0x00,0x08,0x60,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 unorm
+image_gather4_c_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 unorm
 // CHECK: [0x00,0x11,0x60,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 glc
+image_gather4_c_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 glc
 // CHECK: [0x00,0x21,0x60,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 slc
+image_gather4_c_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 slc
 // CHECK: [0x00,0x01,0x60,0xf3,0x01,0x05,0x62,0x00]
 
-image_gather4_c_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 lwe
+image_gather4_c_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 lwe
 // CHECK: [0x00,0x01,0x62,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 da
+image_gather4_c_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 da
 // CHECK: [0x00,0x41,0x60,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_cl_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1
+image_gather4_c_cl_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x64,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_cl_o v[252:255], v1, s[8:15], s[12:15] dmask:0x1
+image_gather4_c_cl_o v[252:255], v[1:4], s[8:15], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x64,0xf1,0x01,0xfc,0x62,0x00]
 
-image_gather4_c_cl_o v[5:8], v255, s[8:15], s[12:15] dmask:0x1
-// CHECK: [0x00,0x01,0x64,0xf1,0xff,0x05,0x62,0x00]
+image_gather4_c_cl_o v[5:8], v[252:255], s[8:15], s[12:15] dmask:0x1
+// CHECK: [0x00,0x01,0x64,0xf1,0xfc,0x05,0x62,0x00]
 
-image_gather4_c_cl_o v[5:8], v1, s[12:19], s[12:15] dmask:0x1
+image_gather4_c_cl_o v[5:8], v[1:4], s[12:19], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x64,0xf1,0x01,0x05,0x63,0x00]
 
-image_gather4_c_cl_o v[5:8], v1, s[96:103], s[12:15] dmask:0x1
+image_gather4_c_cl_o v[5:8], v[1:4], s[96:103], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x64,0xf1,0x01,0x05,0x78,0x00]
 
-image_gather4_c_cl_o v[5:8], v1, ttmp[4:11], s[12:15] dmask:0x1
+image_gather4_c_cl_o v[5:8], v[1:4], ttmp[4:11], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x64,0xf1,0x01,0x05,0x7d,0x00]
 
-image_gather4_c_cl_o v[5:8], v1, s[8:15], s[16:19] dmask:0x1
+image_gather4_c_cl_o v[5:8], v[1:4], s[8:15], s[16:19] dmask:0x1
 // CHECK: [0x00,0x01,0x64,0xf1,0x01,0x05,0x82,0x00]
 
-image_gather4_c_cl_o v[5:8], v1, s[8:15], s[100:103] dmask:0x1
+image_gather4_c_cl_o v[5:8], v[1:4], s[8:15], s[100:103] dmask:0x1
 // CHECK: [0x00,0x01,0x64,0xf1,0x01,0x05,0x22,0x03]
 
-image_gather4_c_cl_o v[5:8], v1, s[8:15], ttmp[8:11] dmask:0x1
+image_gather4_c_cl_o v[5:8], v[1:4], s[8:15], ttmp[8:11] dmask:0x1
 // CHECK: [0x00,0x01,0x64,0xf1,0x01,0x05,0xc2,0x03]
 
-image_gather4_c_cl_o v[5:8], v1, s[8:15], s[12:15] dmask:0x2
+image_gather4_c_cl_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x2
 // CHECK: [0x00,0x02,0x64,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_cl_o v[5:8], v1, s[8:15], s[12:15] dmask:0x4
+image_gather4_c_cl_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x4
 // CHECK: [0x00,0x04,0x64,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_cl_o v[5:8], v1, s[8:15], s[12:15] dmask:0x8
+image_gather4_c_cl_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x8
 // CHECK: [0x00,0x08,0x64,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_cl_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 unorm
+image_gather4_c_cl_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 unorm
 // CHECK: [0x00,0x11,0x64,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_cl_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 glc
+image_gather4_c_cl_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 glc
 // CHECK: [0x00,0x21,0x64,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_cl_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 slc
+image_gather4_c_cl_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 slc
 // CHECK: [0x00,0x01,0x64,0xf3,0x01,0x05,0x62,0x00]
 
-image_gather4_c_cl_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 lwe
+image_gather4_c_cl_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 lwe
 // CHECK: [0x00,0x01,0x66,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_cl_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 da
+image_gather4_c_cl_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 da
 // CHECK: [0x00,0x41,0x64,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_l_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1
+image_gather4_c_l_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x70,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_l_o v[252:255], v1, s[8:15], s[12:15] dmask:0x1
+image_gather4_c_l_o v[252:255], v[1:4], s[8:15], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x70,0xf1,0x01,0xfc,0x62,0x00]
 
-image_gather4_c_l_o v[5:8], v255, s[8:15], s[12:15] dmask:0x1
-// CHECK: [0x00,0x01,0x70,0xf1,0xff,0x05,0x62,0x00]
+image_gather4_c_l_o v[5:8], v[252:255], s[8:15], s[12:15] dmask:0x1
+// CHECK: [0x00,0x01,0x70,0xf1,0xfc,0x05,0x62,0x00]
 
-image_gather4_c_l_o v[5:8], v1, s[12:19], s[12:15] dmask:0x1
+image_gather4_c_l_o v[5:8], v[1:4], s[12:19], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x70,0xf1,0x01,0x05,0x63,0x00]
 
-image_gather4_c_l_o v[5:8], v1, s[96:103], s[12:15] dmask:0x1
+image_gather4_c_l_o v[5:8], v[1:4], s[96:103], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x70,0xf1,0x01,0x05,0x78,0x00]
 
-image_gather4_c_l_o v[5:8], v1, ttmp[4:11], s[12:15] dmask:0x1
+image_gather4_c_l_o v[5:8], v[1:4], ttmp[4:11], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x70,0xf1,0x01,0x05,0x7d,0x00]
 
-image_gather4_c_l_o v[5:8], v1, s[8:15], s[16:19] dmask:0x1
+image_gather4_c_l_o v[5:8], v[1:4], s[8:15], s[16:19] dmask:0x1
 // CHECK: [0x00,0x01,0x70,0xf1,0x01,0x05,0x82,0x00]
 
-image_gather4_c_l_o v[5:8], v1, s[8:15], s[100:103] dmask:0x1
+image_gather4_c_l_o v[5:8], v[1:4], s[8:15], s[100:103] dmask:0x1
 // CHECK: [0x00,0x01,0x70,0xf1,0x01,0x05,0x22,0x03]
 
-image_gather4_c_l_o v[5:8], v1, s[8:15], ttmp[8:11] dmask:0x1
+image_gather4_c_l_o v[5:8], v[1:4], s[8:15], ttmp[8:11] dmask:0x1
 // CHECK: [0x00,0x01,0x70,0xf1,0x01,0x05,0xc2,0x03]
 
-image_gather4_c_l_o v[5:8], v1, s[8:15], s[12:15] dmask:0x2
+image_gather4_c_l_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x2
 // CHECK: [0x00,0x02,0x70,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_l_o v[5:8], v1, s[8:15], s[12:15] dmask:0x4
+image_gather4_c_l_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x4
 // CHECK: [0x00,0x04,0x70,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_l_o v[5:8], v1, s[8:15], s[12:15] dmask:0x8
+image_gather4_c_l_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x8
 // CHECK: [0x00,0x08,0x70,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_l_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 unorm
+image_gather4_c_l_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 unorm
 // CHECK: [0x00,0x11,0x70,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_l_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 glc
+image_gather4_c_l_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 glc
 // CHECK: [0x00,0x21,0x70,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_l_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 slc
+image_gather4_c_l_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 slc
 // CHECK: [0x00,0x01,0x70,0xf3,0x01,0x05,0x62,0x00]
 
-image_gather4_c_l_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 lwe
+image_gather4_c_l_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 lwe
 // CHECK: [0x00,0x01,0x72,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_l_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 da
+image_gather4_c_l_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 da
 // CHECK: [0x00,0x41,0x70,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_b_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1
+image_gather4_c_b_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x74,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_b_o v[252:255], v1, s[8:15], s[12:15] dmask:0x1
+image_gather4_c_b_o v[252:255], v[1:4], s[8:15], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x74,0xf1,0x01,0xfc,0x62,0x00]
 
-image_gather4_c_b_o v[5:8], v255, s[8:15], s[12:15] dmask:0x1
-// CHECK: [0x00,0x01,0x74,0xf1,0xff,0x05,0x62,0x00]
+image_gather4_c_b_o v[5:8], v[252:255], s[8:15], s[12:15] dmask:0x1
+// CHECK: [0x00,0x01,0x74,0xf1,0xfc,0x05,0x62,0x00]
 
-image_gather4_c_b_o v[5:8], v1, s[12:19], s[12:15] dmask:0x1
+image_gather4_c_b_o v[5:8], v[1:4], s[12:19], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x74,0xf1,0x01,0x05,0x63,0x00]
 
-image_gather4_c_b_o v[5:8], v1, s[96:103], s[12:15] dmask:0x1
+image_gather4_c_b_o v[5:8], v[1:4], s[96:103], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x74,0xf1,0x01,0x05,0x78,0x00]
 
-image_gather4_c_b_o v[5:8], v1, ttmp[4:11], s[12:15] dmask:0x1
+image_gather4_c_b_o v[5:8], v[1:4], ttmp[4:11], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x74,0xf1,0x01,0x05,0x7d,0x00]
 
-image_gather4_c_b_o v[5:8], v1, s[8:15], s[16:19] dmask:0x1
+image_gather4_c_b_o v[5:8], v[1:4], s[8:15], s[16:19] dmask:0x1
 // CHECK: [0x00,0x01,0x74,0xf1,0x01,0x05,0x82,0x00]
 
-image_gather4_c_b_o v[5:8], v1, s[8:15], s[100:103] dmask:0x1
+image_gather4_c_b_o v[5:8], v[1:4], s[8:15], s[100:103] dmask:0x1
 // CHECK: [0x00,0x01,0x74,0xf1,0x01,0x05,0x22,0x03]
 
-image_gather4_c_b_o v[5:8], v1, s[8:15], ttmp[8:11] dmask:0x1
+image_gather4_c_b_o v[5:8], v[1:4], s[8:15], ttmp[8:11] dmask:0x1
 // CHECK: [0x00,0x01,0x74,0xf1,0x01,0x05,0xc2,0x03]
 
-image_gather4_c_b_o v[5:8], v1, s[8:15], s[12:15] dmask:0x2
+image_gather4_c_b_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x2
 // CHECK: [0x00,0x02,0x74,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_b_o v[5:8], v1, s[8:15], s[12:15] dmask:0x4
+image_gather4_c_b_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x4
 // CHECK: [0x00,0x04,0x74,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_b_o v[5:8], v1, s[8:15], s[12:15] dmask:0x8
+image_gather4_c_b_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x8
 // CHECK: [0x00,0x08,0x74,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_b_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 unorm
+image_gather4_c_b_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 unorm
 // CHECK: [0x00,0x11,0x74,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_b_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 glc
+image_gather4_c_b_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 glc
 // CHECK: [0x00,0x21,0x74,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_b_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 slc
+image_gather4_c_b_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 slc
 // CHECK: [0x00,0x01,0x74,0xf3,0x01,0x05,0x62,0x00]
 
-image_gather4_c_b_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 lwe
+image_gather4_c_b_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 lwe
 // CHECK: [0x00,0x01,0x76,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_b_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 da
+image_gather4_c_b_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 da
 // CHECK: [0x00,0x41,0x74,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_b_cl_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1
+image_gather4_c_b_cl_o v[5:8], v[1:8], s[8:15], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x78,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_b_cl_o v[252:255], v1, s[8:15], s[12:15] dmask:0x1
+image_gather4_c_b_cl_o v[252:255], v[1:8], s[8:15], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x78,0xf1,0x01,0xfc,0x62,0x00]
 
-image_gather4_c_b_cl_o v[5:8], v255, s[8:15], s[12:15] dmask:0x1
-// CHECK: [0x00,0x01,0x78,0xf1,0xff,0x05,0x62,0x00]
+image_gather4_c_b_cl_o v[5:8], v[248:255], s[8:15], s[12:15] dmask:0x1
+// CHECK: [0x00,0x01,0x78,0xf1,0xf8,0x05,0x62,0x00]
 
-image_gather4_c_b_cl_o v[5:8], v1, s[12:19], s[12:15] dmask:0x1
+image_gather4_c_b_cl_o v[5:8], v[1:8], s[12:19], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x78,0xf1,0x01,0x05,0x63,0x00]
 
-image_gather4_c_b_cl_o v[5:8], v1, s[96:103], s[12:15] dmask:0x1
+image_gather4_c_b_cl_o v[5:8], v[1:8], s[96:103], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x78,0xf1,0x01,0x05,0x78,0x00]
 
-image_gather4_c_b_cl_o v[5:8], v1, ttmp[4:11], s[12:15] dmask:0x1
+image_gather4_c_b_cl_o v[5:8], v[1:8], ttmp[4:11], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x78,0xf1,0x01,0x05,0x7d,0x00]
 
-image_gather4_c_b_cl_o v[5:8], v1, s[8:15], s[16:19] dmask:0x1
+image_gather4_c_b_cl_o v[5:8], v[1:8], s[8:15], s[16:19] dmask:0x1
 // CHECK: [0x00,0x01,0x78,0xf1,0x01,0x05,0x82,0x00]
 
-image_gather4_c_b_cl_o v[5:8], v1, s[8:15], s[100:103] dmask:0x1
+image_gather4_c_b_cl_o v[5:8], v[1:8], s[8:15], s[100:103] dmask:0x1
 // CHECK: [0x00,0x01,0x78,0xf1,0x01,0x05,0x22,0x03]
 
-image_gather4_c_b_cl_o v[5:8], v1, s[8:15], ttmp[8:11] dmask:0x1
+image_gather4_c_b_cl_o v[5:8], v[1:8], s[8:15], ttmp[8:11] dmask:0x1
 // CHECK: [0x00,0x01,0x78,0xf1,0x01,0x05,0xc2,0x03]
 
-image_gather4_c_b_cl_o v[5:8], v1, s[8:15], s[12:15] dmask:0x2
+image_gather4_c_b_cl_o v[5:8], v[1:8], s[8:15], s[12:15] dmask:0x2
 // CHECK: [0x00,0x02,0x78,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_b_cl_o v[5:8], v1, s[8:15], s[12:15] dmask:0x4
+image_gather4_c_b_cl_o v[5:8], v[1:8], s[8:15], s[12:15] dmask:0x4
 // CHECK: [0x00,0x04,0x78,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_b_cl_o v[5:8], v1, s[8:15], s[12:15] dmask:0x8
+image_gather4_c_b_cl_o v[5:8], v[1:8], s[8:15], s[12:15] dmask:0x8
 // CHECK: [0x00,0x08,0x78,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_b_cl_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 unorm
+image_gather4_c_b_cl_o v[5:8], v[1:8], s[8:15], s[12:15] dmask:0x1 unorm
 // CHECK: [0x00,0x11,0x78,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_b_cl_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 glc
+image_gather4_c_b_cl_o v[5:8], v[1:8], s[8:15], s[12:15] dmask:0x1 glc
 // CHECK: [0x00,0x21,0x78,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_b_cl_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 slc
+image_gather4_c_b_cl_o v[5:8], v[1:8], s[8:15], s[12:15] dmask:0x1 slc
 // CHECK: [0x00,0x01,0x78,0xf3,0x01,0x05,0x62,0x00]
 
-image_gather4_c_b_cl_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 lwe
+image_gather4_c_b_cl_o v[5:8], v[1:8], s[8:15], s[12:15] dmask:0x1 lwe
 // CHECK: [0x00,0x01,0x7a,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_b_cl_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 da
+image_gather4_c_b_cl_o v[5:8], v[1:8], s[8:15], s[12:15] dmask:0x1 da
 // CHECK: [0x00,0x41,0x78,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_lz_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1
+image_gather4_c_lz_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x7c,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_lz_o v[252:255], v1, s[8:15], s[12:15] dmask:0x1
+image_gather4_c_lz_o v[252:255], v[1:4], s[8:15], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x7c,0xf1,0x01,0xfc,0x62,0x00]
 
-image_gather4_c_lz_o v[5:8], v255, s[8:15], s[12:15] dmask:0x1
-// CHECK: [0x00,0x01,0x7c,0xf1,0xff,0x05,0x62,0x00]
+image_gather4_c_lz_o v[5:8], v[252:255], s[8:15], s[12:15] dmask:0x1
+// CHECK: [0x00,0x01,0x7c,0xf1,0xfc,0x05,0x62,0x00]
 
-image_gather4_c_lz_o v[5:8], v1, s[12:19], s[12:15] dmask:0x1
+image_gather4_c_lz_o v[5:8], v[1:4], s[12:19], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x7c,0xf1,0x01,0x05,0x63,0x00]
 
-image_gather4_c_lz_o v[5:8], v1, s[96:103], s[12:15] dmask:0x1
+image_gather4_c_lz_o v[5:8], v[1:4], s[96:103], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x7c,0xf1,0x01,0x05,0x78,0x00]
 
-image_gather4_c_lz_o v[5:8], v1, ttmp[4:11], s[12:15] dmask:0x1
+image_gather4_c_lz_o v[5:8], v[1:4], ttmp[4:11], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x7c,0xf1,0x01,0x05,0x7d,0x00]
 
-image_gather4_c_lz_o v[5:8], v1, s[8:15], s[16:19] dmask:0x1
+image_gather4_c_lz_o v[5:8], v[1:4], s[8:15], s[16:19] dmask:0x1
 // CHECK: [0x00,0x01,0x7c,0xf1,0x01,0x05,0x82,0x00]
 
-image_gather4_c_lz_o v[5:8], v1, s[8:15], s[100:103] dmask:0x1
+image_gather4_c_lz_o v[5:8], v[1:4], s[8:15], s[100:103] dmask:0x1
 // CHECK: [0x00,0x01,0x7c,0xf1,0x01,0x05,0x22,0x03]
 
-image_gather4_c_lz_o v[5:8], v1, s[8:15], ttmp[8:11] dmask:0x1
+image_gather4_c_lz_o v[5:8], v[1:4], s[8:15], ttmp[8:11] dmask:0x1
 // CHECK: [0x00,0x01,0x7c,0xf1,0x01,0x05,0xc2,0x03]
 
-image_gather4_c_lz_o v[5:8], v1, s[8:15], s[12:15] dmask:0x2
+image_gather4_c_lz_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x2
 // CHECK: [0x00,0x02,0x7c,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_lz_o v[5:8], v1, s[8:15], s[12:15] dmask:0x4
+image_gather4_c_lz_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x4
 // CHECK: [0x00,0x04,0x7c,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_lz_o v[5:8], v1, s[8:15], s[12:15] dmask:0x8
+image_gather4_c_lz_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x8
 // CHECK: [0x00,0x08,0x7c,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_lz_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 unorm
+image_gather4_c_lz_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 unorm
 // CHECK: [0x00,0x11,0x7c,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_lz_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 glc
+image_gather4_c_lz_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 glc
 // CHECK: [0x00,0x21,0x7c,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_lz_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 slc
+image_gather4_c_lz_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 slc
 // CHECK: [0x00,0x01,0x7c,0xf3,0x01,0x05,0x62,0x00]
 
-image_gather4_c_lz_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 lwe
+image_gather4_c_lz_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 lwe
 // CHECK: [0x00,0x01,0x7e,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_lz_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 da
+image_gather4_c_lz_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 da
 // CHECK: [0x00,0x41,0x7c,0xf1,0x01,0x05,0x62,0x00]
 
 image_get_lod v5, v1, s[8:15], s[12:15] dmask:0x1
index 6ce432b..9ae178a 100644 (file)
@@ -5781,220 +5781,220 @@ image_gather4 v[5:8], v1, s[8:15], s[12:15] dmask:0x1 da
 image_gather4 v[5:8], v1, s[8:15], s[12:15] dmask:0x1 d16
 // CHECK: [0x00,0x01,0x00,0xf1,0x01,0x05,0x62,0x80]
 
-image_gather4_cl v[5:8], v1, s[8:15], s[12:15] dmask:0x1
+image_gather4_cl v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x04,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_cl v[252:255], v1, s[8:15], s[12:15] dmask:0x1
+image_gather4_cl v[252:255], v[1:4], s[8:15], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x04,0xf1,0x01,0xfc,0x62,0x00]
 
-image_gather4_cl v[5:8], v255, s[8:15], s[12:15] dmask:0x1
-// CHECK: [0x00,0x01,0x04,0xf1,0xff,0x05,0x62,0x00]
+image_gather4_cl v[5:8], v[254:255], s[8:15], s[12:15] dmask:0x1
+// CHECK: [0x00,0x01,0x04,0xf1,0xfe,0x05,0x62,0x00]
 
-image_gather4_cl v[5:8], v1, s[12:19], s[12:15] dmask:0x1
+image_gather4_cl v[5:8], v[1:4], s[12:19], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x04,0xf1,0x01,0x05,0x63,0x00]
 
-image_gather4_cl v[5:8], v1, s[92:99], s[12:15] dmask:0x1
+image_gather4_cl v[5:8], v[1:4], s[92:99], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x04,0xf1,0x01,0x05,0x77,0x00]
 
-image_gather4_cl v[5:8], v1, ttmp[4:11], s[12:15] dmask:0x1
+image_gather4_cl v[5:8], v[1:4], ttmp[4:11], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x04,0xf1,0x01,0x05,0x7d,0x00]
 
-image_gather4_cl v[5:8], v1, s[8:15], s[16:19] dmask:0x1
+image_gather4_cl v[5:8], v[1:4], s[8:15], s[16:19] dmask:0x1
 // CHECK: [0x00,0x01,0x04,0xf1,0x01,0x05,0x82,0x00]
 
-image_gather4_cl v[5:8], v1, s[8:15], s[96:99] dmask:0x1
+image_gather4_cl v[5:8], v[1:4], s[8:15], s[96:99] dmask:0x1
 // CHECK: [0x00,0x01,0x04,0xf1,0x01,0x05,0x02,0x03]
 
-image_gather4_cl v[5:8], v1, s[8:15], ttmp[8:11] dmask:0x1
+image_gather4_cl v[5:8], v[1:4], s[8:15], ttmp[8:11] dmask:0x1
 // CHECK: [0x00,0x01,0x04,0xf1,0x01,0x05,0xc2,0x03]
 
-image_gather4_cl v[5:8], v1, s[8:15], s[12:15] dmask:0x2
+image_gather4_cl v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x2
 // CHECK: [0x00,0x02,0x04,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_cl v[5:8], v1, s[8:15], s[12:15] dmask:0x4
+image_gather4_cl v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x4
 // CHECK: [0x00,0x04,0x04,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_cl v[5:8], v1, s[8:15], s[12:15] dmask:0x8
+image_gather4_cl v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x8
 // CHECK: [0x00,0x08,0x04,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_cl v[5:8], v1, s[8:15], s[12:15] dmask:0x1 unorm
+image_gather4_cl v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 unorm
 // CHECK: [0x00,0x11,0x04,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_cl v[5:8], v1, s[8:15], s[12:15] dmask:0x1 glc
+image_gather4_cl v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 glc
 // CHECK: [0x00,0x21,0x04,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_cl v[5:8], v1, s[8:15], s[12:15] dmask:0x1 slc
+image_gather4_cl v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 slc
 // CHECK: [0x00,0x01,0x04,0xf3,0x01,0x05,0x62,0x00]
 
-image_gather4_cl v[5:8], v1, s[8:15], s[12:15] dmask:0x1 lwe
+image_gather4_cl v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 lwe
 // CHECK: [0x00,0x01,0x06,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_cl v[5:8], v1, s[8:15], s[12:15] dmask:0x1 da
+image_gather4_cl v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 da
 // CHECK: [0x00,0x41,0x04,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_cl v[5:8], v1, s[8:15], s[12:15] dmask:0x1 d16
+image_gather4_cl v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 d16
 // CHECK: [0x00,0x01,0x04,0xf1,0x01,0x05,0x62,0x80]
 
-image_gather4_l v[5:8], v1, s[8:15], s[12:15] dmask:0x1
+image_gather4_l v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x10,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_l v[252:255], v1, s[8:15], s[12:15] dmask:0x1
+image_gather4_l v[252:255], v[1:4], s[8:15], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x10,0xf1,0x01,0xfc,0x62,0x00]
 
-image_gather4_l v[5:8], v255, s[8:15], s[12:15] dmask:0x1
-// CHECK: [0x00,0x01,0x10,0xf1,0xff,0x05,0x62,0x00]
+image_gather4_l v[5:8], v[254:255], s[8:15], s[12:15] dmask:0x1
+// CHECK: [0x00,0x01,0x10,0xf1,0xfe,0x05,0x62,0x00]
 
-image_gather4_l v[5:8], v1, s[12:19], s[12:15] dmask:0x1
+image_gather4_l v[5:8], v[1:4], s[12:19], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x10,0xf1,0x01,0x05,0x63,0x00]
 
-image_gather4_l v[5:8], v1, s[92:99], s[12:15] dmask:0x1
+image_gather4_l v[5:8], v[1:4], s[92:99], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x10,0xf1,0x01,0x05,0x77,0x00]
 
-image_gather4_l v[5:8], v1, ttmp[4:11], s[12:15] dmask:0x1
+image_gather4_l v[5:8], v[1:4], ttmp[4:11], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x10,0xf1,0x01,0x05,0x7d,0x00]
 
-image_gather4_l v[5:8], v1, s[8:15], s[16:19] dmask:0x1
+image_gather4_l v[5:8], v[1:4], s[8:15], s[16:19] dmask:0x1
 // CHECK: [0x00,0x01,0x10,0xf1,0x01,0x05,0x82,0x00]
 
-image_gather4_l v[5:8], v1, s[8:15], s[96:99] dmask:0x1
+image_gather4_l v[5:8], v[1:4], s[8:15], s[96:99] dmask:0x1
 // CHECK: [0x00,0x01,0x10,0xf1,0x01,0x05,0x02,0x03]
 
-image_gather4_l v[5:8], v1, s[8:15], ttmp[8:11] dmask:0x1
+image_gather4_l v[5:8], v[1:4], s[8:15], ttmp[8:11] dmask:0x1
 // CHECK: [0x00,0x01,0x10,0xf1,0x01,0x05,0xc2,0x03]
 
-image_gather4_l v[5:8], v1, s[8:15], s[12:15] dmask:0x2
+image_gather4_l v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x2
 // CHECK: [0x00,0x02,0x10,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_l v[5:8], v1, s[8:15], s[12:15] dmask:0x4
+image_gather4_l v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x4
 // CHECK: [0x00,0x04,0x10,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_l v[5:8], v1, s[8:15], s[12:15] dmask:0x8
+image_gather4_l v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x8
 // CHECK: [0x00,0x08,0x10,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_l v[5:8], v1, s[8:15], s[12:15] dmask:0x1 unorm
+image_gather4_l v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 unorm
 // CHECK: [0x00,0x11,0x10,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_l v[5:8], v1, s[8:15], s[12:15] dmask:0x1 glc
+image_gather4_l v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 glc
 // CHECK: [0x00,0x21,0x10,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_l v[5:8], v1, s[8:15], s[12:15] dmask:0x1 slc
+image_gather4_l v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 slc
 // CHECK: [0x00,0x01,0x10,0xf3,0x01,0x05,0x62,0x00]
 
-image_gather4_l v[5:8], v1, s[8:15], s[12:15] dmask:0x1 lwe
+image_gather4_l v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 lwe
 // CHECK: [0x00,0x01,0x12,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_l v[5:8], v1, s[8:15], s[12:15] dmask:0x1 da
+image_gather4_l v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 da
 // CHECK: [0x00,0x41,0x10,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_l v[5:8], v1, s[8:15], s[12:15] dmask:0x1 d16
+image_gather4_l v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 d16
 // CHECK: [0x00,0x01,0x10,0xf1,0x01,0x05,0x62,0x80]
 
-image_gather4_b v[5:8], v1, s[8:15], s[12:15] dmask:0x1
+image_gather4_b v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x14,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_b v[252:255], v1, s[8:15], s[12:15] dmask:0x1
+image_gather4_b v[252:255], v[1:4], s[8:15], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x14,0xf1,0x01,0xfc,0x62,0x00]
 
-image_gather4_b v[5:8], v255, s[8:15], s[12:15] dmask:0x1
-// CHECK: [0x00,0x01,0x14,0xf1,0xff,0x05,0x62,0x00]
+image_gather4_b v[5:8], v[254:255], s[8:15], s[12:15] dmask:0x1
+// CHECK: [0x00,0x01,0x14,0xf1,0xfe,0x05,0x62,0x00]
 
-image_gather4_b v[5:8], v1, s[12:19], s[12:15] dmask:0x1
+image_gather4_b v[5:8], v[1:4], s[12:19], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x14,0xf1,0x01,0x05,0x63,0x00]
 
-image_gather4_b v[5:8], v1, s[92:99], s[12:15] dmask:0x1
+image_gather4_b v[5:8], v[1:4], s[92:99], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x14,0xf1,0x01,0x05,0x77,0x00]
 
-image_gather4_b v[5:8], v1, ttmp[4:11], s[12:15] dmask:0x1
+image_gather4_b v[5:8], v[1:4], ttmp[4:11], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x14,0xf1,0x01,0x05,0x7d,0x00]
 
-image_gather4_b v[5:8], v1, s[8:15], s[16:19] dmask:0x1
+image_gather4_b v[5:8], v[1:4], s[8:15], s[16:19] dmask:0x1
 // CHECK: [0x00,0x01,0x14,0xf1,0x01,0x05,0x82,0x00]
 
-image_gather4_b v[5:8], v1, s[8:15], s[96:99] dmask:0x1
+image_gather4_b v[5:8], v[1:4], s[8:15], s[96:99] dmask:0x1
 // CHECK: [0x00,0x01,0x14,0xf1,0x01,0x05,0x02,0x03]
 
-image_gather4_b v[5:8], v1, s[8:15], ttmp[8:11] dmask:0x1
+image_gather4_b v[5:8], v[1:4], s[8:15], ttmp[8:11] dmask:0x1
 // CHECK: [0x00,0x01,0x14,0xf1,0x01,0x05,0xc2,0x03]
 
-image_gather4_b v[5:8], v1, s[8:15], s[12:15] dmask:0x2
+image_gather4_b v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x2
 // CHECK: [0x00,0x02,0x14,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_b v[5:8], v1, s[8:15], s[12:15] dmask:0x4
+image_gather4_b v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x4
 // CHECK: [0x00,0x04,0x14,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_b v[5:8], v1, s[8:15], s[12:15] dmask:0x8
+image_gather4_b v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x8
 // CHECK: [0x00,0x08,0x14,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_b v[5:8], v1, s[8:15], s[12:15] dmask:0x1 unorm
+image_gather4_b v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 unorm
 // CHECK: [0x00,0x11,0x14,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_b v[5:8], v1, s[8:15], s[12:15] dmask:0x1 glc
+image_gather4_b v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 glc
 // CHECK: [0x00,0x21,0x14,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_b v[5:8], v1, s[8:15], s[12:15] dmask:0x1 slc
+image_gather4_b v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 slc
 // CHECK: [0x00,0x01,0x14,0xf3,0x01,0x05,0x62,0x00]
 
-image_gather4_b v[5:8], v1, s[8:15], s[12:15] dmask:0x1 lwe
+image_gather4_b v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 lwe
 // CHECK: [0x00,0x01,0x16,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_b v[5:8], v1, s[8:15], s[12:15] dmask:0x1 da
+image_gather4_b v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 da
 // CHECK: [0x00,0x41,0x14,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_b v[5:8], v1, s[8:15], s[12:15] dmask:0x1 d16
+image_gather4_b v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 d16
 // CHECK: [0x00,0x01,0x14,0xf1,0x01,0x05,0x62,0x80]
 
-image_gather4_b_cl v[5:8], v1, s[8:15], s[12:15] dmask:0x1
+image_gather4_b_cl v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x18,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_b_cl v[252:255], v1, s[8:15], s[12:15] dmask:0x1
+image_gather4_b_cl v[252:255], v[1:4], s[8:15], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x18,0xf1,0x01,0xfc,0x62,0x00]
 
-image_gather4_b_cl v[5:8], v255, s[8:15], s[12:15] dmask:0x1
-// CHECK: [0x00,0x01,0x18,0xf1,0xff,0x05,0x62,0x00]
+image_gather4_b_cl v[5:8], v[253:255], s[8:15], s[12:15] dmask:0x1
+// CHECK: [0x00,0x01,0x18,0xf1,0xfd,0x05,0x62,0x00]
 
-image_gather4_b_cl v[5:8], v1, s[12:19], s[12:15] dmask:0x1
+image_gather4_b_cl v[5:8], v[1:4], s[12:19], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x18,0xf1,0x01,0x05,0x63,0x00]
 
-image_gather4_b_cl v[5:8], v1, s[92:99], s[12:15] dmask:0x1
+image_gather4_b_cl v[5:8], v[1:4], s[92:99], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x18,0xf1,0x01,0x05,0x77,0x00]
 
-image_gather4_b_cl v[5:8], v1, ttmp[4:11], s[12:15] dmask:0x1
+image_gather4_b_cl v[5:8], v[1:4], ttmp[4:11], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x18,0xf1,0x01,0x05,0x7d,0x00]
 
-image_gather4_b_cl v[5:8], v1, s[8:15], s[16:19] dmask:0x1
+image_gather4_b_cl v[5:8], v[1:4], s[8:15], s[16:19] dmask:0x1
 // CHECK: [0x00,0x01,0x18,0xf1,0x01,0x05,0x82,0x00]
 
-image_gather4_b_cl v[5:8], v1, s[8:15], s[96:99] dmask:0x1
+image_gather4_b_cl v[5:8], v[1:4], s[8:15], s[96:99] dmask:0x1
 // CHECK: [0x00,0x01,0x18,0xf1,0x01,0x05,0x02,0x03]
 
-image_gather4_b_cl v[5:8], v1, s[8:15], ttmp[8:11] dmask:0x1
+image_gather4_b_cl v[5:8], v[1:4], s[8:15], ttmp[8:11] dmask:0x1
 // CHECK: [0x00,0x01,0x18,0xf1,0x01,0x05,0xc2,0x03]
 
-image_gather4_b_cl v[5:8], v1, s[8:15], s[12:15] dmask:0x2
+image_gather4_b_cl v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x2
 // CHECK: [0x00,0x02,0x18,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_b_cl v[5:8], v1, s[8:15], s[12:15] dmask:0x4
+image_gather4_b_cl v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x4
 // CHECK: [0x00,0x04,0x18,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_b_cl v[5:8], v1, s[8:15], s[12:15] dmask:0x8
+image_gather4_b_cl v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x8
 // CHECK: [0x00,0x08,0x18,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_b_cl v[5:8], v1, s[8:15], s[12:15] dmask:0x1 unorm
+image_gather4_b_cl v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 unorm
 // CHECK: [0x00,0x11,0x18,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_b_cl v[5:8], v1, s[8:15], s[12:15] dmask:0x1 glc
+image_gather4_b_cl v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 glc
 // CHECK: [0x00,0x21,0x18,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_b_cl v[5:8], v1, s[8:15], s[12:15] dmask:0x1 slc
+image_gather4_b_cl v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 slc
 // CHECK: [0x00,0x01,0x18,0xf3,0x01,0x05,0x62,0x00]
 
-image_gather4_b_cl v[5:8], v1, s[8:15], s[12:15] dmask:0x1 lwe
+image_gather4_b_cl v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 lwe
 // CHECK: [0x00,0x01,0x1a,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_b_cl v[5:8], v1, s[8:15], s[12:15] dmask:0x1 da
+image_gather4_b_cl v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 da
 // CHECK: [0x00,0x41,0x18,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_b_cl v[5:8], v1, s[8:15], s[12:15] dmask:0x1 d16
+image_gather4_b_cl v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 d16
 // CHECK: [0x00,0x01,0x18,0xf1,0x01,0x05,0x62,0x80]
 
 image_gather4_lz v[5:8], v1, s[8:15], s[12:15] dmask:0x1
@@ -6051,976 +6051,976 @@ image_gather4_lz v[5:8], v1, s[8:15], s[12:15] dmask:0x1 da
 image_gather4_lz v[5:8], v1, s[8:15], s[12:15] dmask:0x1 d16
 // CHECK: [0x00,0x01,0x1c,0xf1,0x01,0x05,0x62,0x80]
 
-image_gather4_c v[5:8], v1, s[8:15], s[12:15] dmask:0x1
+image_gather4_c v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x20,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c v[252:255], v1, s[8:15], s[12:15] dmask:0x1
+image_gather4_c v[252:255], v[1:4], s[8:15], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x20,0xf1,0x01,0xfc,0x62,0x00]
 
-image_gather4_c v[5:8], v255, s[8:15], s[12:15] dmask:0x1
-// CHECK: [0x00,0x01,0x20,0xf1,0xff,0x05,0x62,0x00]
+image_gather4_c v[5:8], v[254:255], s[8:15], s[12:15] dmask:0x1
+// CHECK: [0x00,0x01,0x20,0xf1,0xfe,0x05,0x62,0x00]
 
-image_gather4_c v[5:8], v1, s[12:19], s[12:15] dmask:0x1
+image_gather4_c v[5:8], v[1:4], s[12:19], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x20,0xf1,0x01,0x05,0x63,0x00]
 
-image_gather4_c v[5:8], v1, s[92:99], s[12:15] dmask:0x1
+image_gather4_c v[5:8], v[1:4], s[92:99], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x20,0xf1,0x01,0x05,0x77,0x00]
 
-image_gather4_c v[5:8], v1, ttmp[4:11], s[12:15] dmask:0x1
+image_gather4_c v[5:8], v[1:4], ttmp[4:11], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x20,0xf1,0x01,0x05,0x7d,0x00]
 
-image_gather4_c v[5:8], v1, s[8:15], s[16:19] dmask:0x1
+image_gather4_c v[5:8], v[1:4], s[8:15], s[16:19] dmask:0x1
 // CHECK: [0x00,0x01,0x20,0xf1,0x01,0x05,0x82,0x00]
 
-image_gather4_c v[5:8], v1, s[8:15], s[96:99] dmask:0x1
+image_gather4_c v[5:8], v[1:4], s[8:15], s[96:99] dmask:0x1
 // CHECK: [0x00,0x01,0x20,0xf1,0x01,0x05,0x02,0x03]
 
-image_gather4_c v[5:8], v1, s[8:15], ttmp[8:11] dmask:0x1
+image_gather4_c v[5:8], v[1:4], s[8:15], ttmp[8:11] dmask:0x1
 // CHECK: [0x00,0x01,0x20,0xf1,0x01,0x05,0xc2,0x03]
 
-image_gather4_c v[5:8], v1, s[8:15], s[12:15] dmask:0x2
+image_gather4_c v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x2
 // CHECK: [0x00,0x02,0x20,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c v[5:8], v1, s[8:15], s[12:15] dmask:0x4
+image_gather4_c v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x4
 // CHECK: [0x00,0x04,0x20,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c v[5:8], v1, s[8:15], s[12:15] dmask:0x8
+image_gather4_c v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x8
 // CHECK: [0x00,0x08,0x20,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c v[5:8], v1, s[8:15], s[12:15] dmask:0x1 unorm
+image_gather4_c v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 unorm
 // CHECK: [0x00,0x11,0x20,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c v[5:8], v1, s[8:15], s[12:15] dmask:0x1 glc
+image_gather4_c v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 glc
 // CHECK: [0x00,0x21,0x20,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c v[5:8], v1, s[8:15], s[12:15] dmask:0x1 slc
+image_gather4_c v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 slc
 // CHECK: [0x00,0x01,0x20,0xf3,0x01,0x05,0x62,0x00]
 
-image_gather4_c v[5:8], v1, s[8:15], s[12:15] dmask:0x1 lwe
+image_gather4_c v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 lwe
 // CHECK: [0x00,0x01,0x22,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c v[5:8], v1, s[8:15], s[12:15] dmask:0x1 da
+image_gather4_c v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 da
 // CHECK: [0x00,0x41,0x20,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c v[5:8], v1, s[8:15], s[12:15] dmask:0x1 d16
+image_gather4_c v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 d16
 // CHECK: [0x00,0x01,0x20,0xf1,0x01,0x05,0x62,0x80]
 
-image_gather4_c_cl v[5:8], v1, s[8:15], s[12:15] dmask:0x1
+image_gather4_c_cl v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x24,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_cl v[252:255], v1, s[8:15], s[12:15] dmask:0x1
+image_gather4_c_cl v[252:255], v[1:4], s[8:15], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x24,0xf1,0x01,0xfc,0x62,0x00]
 
-image_gather4_c_cl v[5:8], v255, s[8:15], s[12:15] dmask:0x1
-// CHECK: [0x00,0x01,0x24,0xf1,0xff,0x05,0x62,0x00]
+image_gather4_c_cl v[5:8], v[253:255], s[8:15], s[12:15] dmask:0x1
+// CHECK: [0x00,0x01,0x24,0xf1,0xfd,0x05,0x62,0x00]
 
-image_gather4_c_cl v[5:8], v1, s[12:19], s[12:15] dmask:0x1
+image_gather4_c_cl v[5:8], v[1:4], s[12:19], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x24,0xf1,0x01,0x05,0x63,0x00]
 
-image_gather4_c_cl v[5:8], v1, s[92:99], s[12:15] dmask:0x1
+image_gather4_c_cl v[5:8], v[1:4], s[92:99], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x24,0xf1,0x01,0x05,0x77,0x00]
 
-image_gather4_c_cl v[5:8], v1, ttmp[4:11], s[12:15] dmask:0x1
+image_gather4_c_cl v[5:8], v[1:4], ttmp[4:11], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x24,0xf1,0x01,0x05,0x7d,0x00]
 
-image_gather4_c_cl v[5:8], v1, s[8:15], s[16:19] dmask:0x1
+image_gather4_c_cl v[5:8], v[1:4], s[8:15], s[16:19] dmask:0x1
 // CHECK: [0x00,0x01,0x24,0xf1,0x01,0x05,0x82,0x00]
 
-image_gather4_c_cl v[5:8], v1, s[8:15], s[96:99] dmask:0x1
+image_gather4_c_cl v[5:8], v[1:4], s[8:15], s[96:99] dmask:0x1
 // CHECK: [0x00,0x01,0x24,0xf1,0x01,0x05,0x02,0x03]
 
-image_gather4_c_cl v[5:8], v1, s[8:15], ttmp[8:11] dmask:0x1
+image_gather4_c_cl v[5:8], v[1:4], s[8:15], ttmp[8:11] dmask:0x1
 // CHECK: [0x00,0x01,0x24,0xf1,0x01,0x05,0xc2,0x03]
 
-image_gather4_c_cl v[5:8], v1, s[8:15], s[12:15] dmask:0x2
+image_gather4_c_cl v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x2
 // CHECK: [0x00,0x02,0x24,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_cl v[5:8], v1, s[8:15], s[12:15] dmask:0x4
+image_gather4_c_cl v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x4
 // CHECK: [0x00,0x04,0x24,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_cl v[5:8], v1, s[8:15], s[12:15] dmask:0x8
+image_gather4_c_cl v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x8
 // CHECK: [0x00,0x08,0x24,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_cl v[5:8], v1, s[8:15], s[12:15] dmask:0x1 unorm
+image_gather4_c_cl v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 unorm
 // CHECK: [0x00,0x11,0x24,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_cl v[5:8], v1, s[8:15], s[12:15] dmask:0x1 glc
+image_gather4_c_cl v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 glc
 // CHECK: [0x00,0x21,0x24,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_cl v[5:8], v1, s[8:15], s[12:15] dmask:0x1 slc
+image_gather4_c_cl v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 slc
 // CHECK: [0x00,0x01,0x24,0xf3,0x01,0x05,0x62,0x00]
 
-image_gather4_c_cl v[5:8], v1, s[8:15], s[12:15] dmask:0x1 lwe
+image_gather4_c_cl v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 lwe
 // CHECK: [0x00,0x01,0x26,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_cl v[5:8], v1, s[8:15], s[12:15] dmask:0x1 da
+image_gather4_c_cl v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 da
 // CHECK: [0x00,0x41,0x24,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_cl v[5:8], v1, s[8:15], s[12:15] dmask:0x1 d16
+image_gather4_c_cl v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 d16
 // CHECK: [0x00,0x01,0x24,0xf1,0x01,0x05,0x62,0x80]
 
-image_gather4_c_l v[5:8], v1, s[8:15], s[12:15] dmask:0x1
+image_gather4_c_l v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x30,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_l v[252:255], v1, s[8:15], s[12:15] dmask:0x1
+image_gather4_c_l v[252:255], v[1:4], s[8:15], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x30,0xf1,0x01,0xfc,0x62,0x00]
 
-image_gather4_c_l v[5:8], v255, s[8:15], s[12:15] dmask:0x1
-// CHECK: [0x00,0x01,0x30,0xf1,0xff,0x05,0x62,0x00]
+image_gather4_c_l v[5:8], v[253:255], s[8:15], s[12:15] dmask:0x1
+// CHECK: [0x00,0x01,0x30,0xf1,0xfd,0x05,0x62,0x00]
 
-image_gather4_c_l v[5:8], v1, s[12:19], s[12:15] dmask:0x1
+image_gather4_c_l v[5:8], v[1:4], s[12:19], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x30,0xf1,0x01,0x05,0x63,0x00]
 
-image_gather4_c_l v[5:8], v1, s[92:99], s[12:15] dmask:0x1
+image_gather4_c_l v[5:8], v[1:4], s[92:99], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x30,0xf1,0x01,0x05,0x77,0x00]
 
-image_gather4_c_l v[5:8], v1, ttmp[4:11], s[12:15] dmask:0x1
+image_gather4_c_l v[5:8], v[1:4], ttmp[4:11], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x30,0xf1,0x01,0x05,0x7d,0x00]
 
-image_gather4_c_l v[5:8], v1, s[8:15], s[16:19] dmask:0x1
+image_gather4_c_l v[5:8], v[1:4], s[8:15], s[16:19] dmask:0x1
 // CHECK: [0x00,0x01,0x30,0xf1,0x01,0x05,0x82,0x00]
 
-image_gather4_c_l v[5:8], v1, s[8:15], s[96:99] dmask:0x1
+image_gather4_c_l v[5:8], v[1:4], s[8:15], s[96:99] dmask:0x1
 // CHECK: [0x00,0x01,0x30,0xf1,0x01,0x05,0x02,0x03]
 
-image_gather4_c_l v[5:8], v1, s[8:15], ttmp[8:11] dmask:0x1
+image_gather4_c_l v[5:8], v[1:4], s[8:15], ttmp[8:11] dmask:0x1
 // CHECK: [0x00,0x01,0x30,0xf1,0x01,0x05,0xc2,0x03]
 
-image_gather4_c_l v[5:8], v1, s[8:15], s[12:15] dmask:0x2
+image_gather4_c_l v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x2
 // CHECK: [0x00,0x02,0x30,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_l v[5:8], v1, s[8:15], s[12:15] dmask:0x4
+image_gather4_c_l v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x4
 // CHECK: [0x00,0x04,0x30,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_l v[5:8], v1, s[8:15], s[12:15] dmask:0x8
+image_gather4_c_l v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x8
 // CHECK: [0x00,0x08,0x30,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_l v[5:8], v1, s[8:15], s[12:15] dmask:0x1 unorm
+image_gather4_c_l v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 unorm
 // CHECK: [0x00,0x11,0x30,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_l v[5:8], v1, s[8:15], s[12:15] dmask:0x1 glc
+image_gather4_c_l v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 glc
 // CHECK: [0x00,0x21,0x30,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_l v[5:8], v1, s[8:15], s[12:15] dmask:0x1 slc
+image_gather4_c_l v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 slc
 // CHECK: [0x00,0x01,0x30,0xf3,0x01,0x05,0x62,0x00]
 
-image_gather4_c_l v[5:8], v1, s[8:15], s[12:15] dmask:0x1 lwe
+image_gather4_c_l v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 lwe
 // CHECK: [0x00,0x01,0x32,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_l v[5:8], v1, s[8:15], s[12:15] dmask:0x1 da
+image_gather4_c_l v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 da
 // CHECK: [0x00,0x41,0x30,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_l v[5:8], v1, s[8:15], s[12:15] dmask:0x1 d16
+image_gather4_c_l v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 d16
 // CHECK: [0x00,0x01,0x30,0xf1,0x01,0x05,0x62,0x80]
 
-image_gather4_c_b v[5:8], v1, s[8:15], s[12:15] dmask:0x1
+image_gather4_c_b v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x34,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_b v[252:255], v1, s[8:15], s[12:15] dmask:0x1
+image_gather4_c_b v[252:255], v[1:4], s[8:15], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x34,0xf1,0x01,0xfc,0x62,0x00]
 
-image_gather4_c_b v[5:8], v255, s[8:15], s[12:15] dmask:0x1
-// CHECK: [0x00,0x01,0x34,0xf1,0xff,0x05,0x62,0x00]
+image_gather4_c_b v[5:8], v[253:255], s[8:15], s[12:15] dmask:0x1
+// CHECK: [0x00,0x01,0x34,0xf1,0xfd,0x05,0x62,0x00]
 
-image_gather4_c_b v[5:8], v1, s[12:19], s[12:15] dmask:0x1
+image_gather4_c_b v[5:8], v[1:4], s[12:19], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x34,0xf1,0x01,0x05,0x63,0x00]
 
-image_gather4_c_b v[5:8], v1, s[92:99], s[12:15] dmask:0x1
+image_gather4_c_b v[5:8], v[1:4], s[92:99], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x34,0xf1,0x01,0x05,0x77,0x00]
 
-image_gather4_c_b v[5:8], v1, ttmp[4:11], s[12:15] dmask:0x1
+image_gather4_c_b v[5:8], v[1:4], ttmp[4:11], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x34,0xf1,0x01,0x05,0x7d,0x00]
 
-image_gather4_c_b v[5:8], v1, s[8:15], s[16:19] dmask:0x1
+image_gather4_c_b v[5:8], v[1:4], s[8:15], s[16:19] dmask:0x1
 // CHECK: [0x00,0x01,0x34,0xf1,0x01,0x05,0x82,0x00]
 
-image_gather4_c_b v[5:8], v1, s[8:15], s[96:99] dmask:0x1
+image_gather4_c_b v[5:8], v[1:4], s[8:15], s[96:99] dmask:0x1
 // CHECK: [0x00,0x01,0x34,0xf1,0x01,0x05,0x02,0x03]
 
-image_gather4_c_b v[5:8], v1, s[8:15], ttmp[8:11] dmask:0x1
+image_gather4_c_b v[5:8], v[1:4], s[8:15], ttmp[8:11] dmask:0x1
 // CHECK: [0x00,0x01,0x34,0xf1,0x01,0x05,0xc2,0x03]
 
-image_gather4_c_b v[5:8], v1, s[8:15], s[12:15] dmask:0x2
+image_gather4_c_b v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x2
 // CHECK: [0x00,0x02,0x34,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_b v[5:8], v1, s[8:15], s[12:15] dmask:0x4
+image_gather4_c_b v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x4
 // CHECK: [0x00,0x04,0x34,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_b v[5:8], v1, s[8:15], s[12:15] dmask:0x8
+image_gather4_c_b v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x8
 // CHECK: [0x00,0x08,0x34,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_b v[5:8], v1, s[8:15], s[12:15] dmask:0x1 unorm
+image_gather4_c_b v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 unorm
 // CHECK: [0x00,0x11,0x34,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_b v[5:8], v1, s[8:15], s[12:15] dmask:0x1 glc
+image_gather4_c_b v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 glc
 // CHECK: [0x00,0x21,0x34,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_b v[5:8], v1, s[8:15], s[12:15] dmask:0x1 slc
+image_gather4_c_b v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 slc
 // CHECK: [0x00,0x01,0x34,0xf3,0x01,0x05,0x62,0x00]
 
-image_gather4_c_b v[5:8], v1, s[8:15], s[12:15] dmask:0x1 lwe
+image_gather4_c_b v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 lwe
 // CHECK: [0x00,0x01,0x36,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_b v[5:8], v1, s[8:15], s[12:15] dmask:0x1 da
+image_gather4_c_b v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 da
 // CHECK: [0x00,0x41,0x34,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_b v[5:8], v1, s[8:15], s[12:15] dmask:0x1 d16
+image_gather4_c_b v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 d16
 // CHECK: [0x00,0x01,0x34,0xf1,0x01,0x05,0x62,0x80]
 
-image_gather4_c_b_cl v[5:8], v1, s[8:15], s[12:15] dmask:0x1
+image_gather4_c_b_cl v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x38,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_b_cl v[252:255], v1, s[8:15], s[12:15] dmask:0x1
+image_gather4_c_b_cl v[252:255], v[1:4], s[8:15], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x38,0xf1,0x01,0xfc,0x62,0x00]
 
-image_gather4_c_b_cl v[5:8], v255, s[8:15], s[12:15] dmask:0x1
-// CHECK: [0x00,0x01,0x38,0xf1,0xff,0x05,0x62,0x00]
+image_gather4_c_b_cl v[5:8], v[252:255], s[8:15], s[12:15] dmask:0x1
+// CHECK: [0x00,0x01,0x38,0xf1,0xfc,0x05,0x62,0x00]
 
-image_gather4_c_b_cl v[5:8], v1, s[12:19], s[12:15] dmask:0x1
+image_gather4_c_b_cl v[5:8], v[1:4], s[12:19], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x38,0xf1,0x01,0x05,0x63,0x00]
 
-image_gather4_c_b_cl v[5:8], v1, s[92:99], s[12:15] dmask:0x1
+image_gather4_c_b_cl v[5:8], v[1:4], s[92:99], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x38,0xf1,0x01,0x05,0x77,0x00]
 
-image_gather4_c_b_cl v[5:8], v1, ttmp[4:11], s[12:15] dmask:0x1
+image_gather4_c_b_cl v[5:8], v[1:4], ttmp[4:11], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x38,0xf1,0x01,0x05,0x7d,0x00]
 
-image_gather4_c_b_cl v[5:8], v1, s[8:15], s[16:19] dmask:0x1
+image_gather4_c_b_cl v[5:8], v[1:4], s[8:15], s[16:19] dmask:0x1
 // CHECK: [0x00,0x01,0x38,0xf1,0x01,0x05,0x82,0x00]
 
-image_gather4_c_b_cl v[5:8], v1, s[8:15], s[96:99] dmask:0x1
+image_gather4_c_b_cl v[5:8], v[1:4], s[8:15], s[96:99] dmask:0x1
 // CHECK: [0x00,0x01,0x38,0xf1,0x01,0x05,0x02,0x03]
 
-image_gather4_c_b_cl v[5:8], v1, s[8:15], ttmp[8:11] dmask:0x1
+image_gather4_c_b_cl v[5:8], v[1:4], s[8:15], ttmp[8:11] dmask:0x1
 // CHECK: [0x00,0x01,0x38,0xf1,0x01,0x05,0xc2,0x03]
 
-image_gather4_c_b_cl v[5:8], v1, s[8:15], s[12:15] dmask:0x2
+image_gather4_c_b_cl v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x2
 // CHECK: [0x00,0x02,0x38,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_b_cl v[5:8], v1, s[8:15], s[12:15] dmask:0x4
+image_gather4_c_b_cl v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x4
 // CHECK: [0x00,0x04,0x38,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_b_cl v[5:8], v1, s[8:15], s[12:15] dmask:0x8
+image_gather4_c_b_cl v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x8
 // CHECK: [0x00,0x08,0x38,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_b_cl v[5:8], v1, s[8:15], s[12:15] dmask:0x1 unorm
+image_gather4_c_b_cl v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 unorm
 // CHECK: [0x00,0x11,0x38,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_b_cl v[5:8], v1, s[8:15], s[12:15] dmask:0x1 glc
+image_gather4_c_b_cl v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 glc
 // CHECK: [0x00,0x21,0x38,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_b_cl v[5:8], v1, s[8:15], s[12:15] dmask:0x1 slc
+image_gather4_c_b_cl v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 slc
 // CHECK: [0x00,0x01,0x38,0xf3,0x01,0x05,0x62,0x00]
 
-image_gather4_c_b_cl v[5:8], v1, s[8:15], s[12:15] dmask:0x1 lwe
+image_gather4_c_b_cl v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 lwe
 // CHECK: [0x00,0x01,0x3a,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_b_cl v[5:8], v1, s[8:15], s[12:15] dmask:0x1 da
+image_gather4_c_b_cl v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 da
 // CHECK: [0x00,0x41,0x38,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_b_cl v[5:8], v1, s[8:15], s[12:15] dmask:0x1 d16
+image_gather4_c_b_cl v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 d16
 // CHECK: [0x00,0x01,0x38,0xf1,0x01,0x05,0x62,0x80]
 
-image_gather4_c_lz v[5:8], v1, s[8:15], s[12:15] dmask:0x1
+image_gather4_c_lz v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x3c,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_lz v[252:255], v1, s[8:15], s[12:15] dmask:0x1
+image_gather4_c_lz v[252:255], v[1:4], s[8:15], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x3c,0xf1,0x01,0xfc,0x62,0x00]
 
-image_gather4_c_lz v[5:8], v255, s[8:15], s[12:15] dmask:0x1
-// CHECK: [0x00,0x01,0x3c,0xf1,0xff,0x05,0x62,0x00]
+image_gather4_c_lz v[5:8], v[254:255], s[8:15], s[12:15] dmask:0x1
+// CHECK: [0x00,0x01,0x3c,0xf1,0xfe,0x05,0x62,0x00]
 
-image_gather4_c_lz v[5:8], v1, s[12:19], s[12:15] dmask:0x1
+image_gather4_c_lz v[5:8], v[1:4], s[12:19], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x3c,0xf1,0x01,0x05,0x63,0x00]
 
-image_gather4_c_lz v[5:8], v1, s[92:99], s[12:15] dmask:0x1
+image_gather4_c_lz v[5:8], v[1:4], s[92:99], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x3c,0xf1,0x01,0x05,0x77,0x00]
 
-image_gather4_c_lz v[5:8], v1, ttmp[4:11], s[12:15] dmask:0x1
+image_gather4_c_lz v[5:8], v[1:4], ttmp[4:11], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x3c,0xf1,0x01,0x05,0x7d,0x00]
 
-image_gather4_c_lz v[5:8], v1, s[8:15], s[16:19] dmask:0x1
+image_gather4_c_lz v[5:8], v[1:4], s[8:15], s[16:19] dmask:0x1
 // CHECK: [0x00,0x01,0x3c,0xf1,0x01,0x05,0x82,0x00]
 
-image_gather4_c_lz v[5:8], v1, s[8:15], s[96:99] dmask:0x1
+image_gather4_c_lz v[5:8], v[1:4], s[8:15], s[96:99] dmask:0x1
 // CHECK: [0x00,0x01,0x3c,0xf1,0x01,0x05,0x02,0x03]
 
-image_gather4_c_lz v[5:8], v1, s[8:15], ttmp[8:11] dmask:0x1
+image_gather4_c_lz v[5:8], v[1:4], s[8:15], ttmp[8:11] dmask:0x1
 // CHECK: [0x00,0x01,0x3c,0xf1,0x01,0x05,0xc2,0x03]
 
-image_gather4_c_lz v[5:8], v1, s[8:15], s[12:15] dmask:0x2
+image_gather4_c_lz v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x2
 // CHECK: [0x00,0x02,0x3c,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_lz v[5:8], v1, s[8:15], s[12:15] dmask:0x4
+image_gather4_c_lz v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x4
 // CHECK: [0x00,0x04,0x3c,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_lz v[5:8], v1, s[8:15], s[12:15] dmask:0x8
+image_gather4_c_lz v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x8
 // CHECK: [0x00,0x08,0x3c,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_lz v[5:8], v1, s[8:15], s[12:15] dmask:0x1 unorm
+image_gather4_c_lz v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 unorm
 // CHECK: [0x00,0x11,0x3c,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_lz v[5:8], v1, s[8:15], s[12:15] dmask:0x1 glc
+image_gather4_c_lz v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 glc
 // CHECK: [0x00,0x21,0x3c,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_lz v[5:8], v1, s[8:15], s[12:15] dmask:0x1 slc
+image_gather4_c_lz v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 slc
 // CHECK: [0x00,0x01,0x3c,0xf3,0x01,0x05,0x62,0x00]
 
-image_gather4_c_lz v[5:8], v1, s[8:15], s[12:15] dmask:0x1 lwe
+image_gather4_c_lz v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 lwe
 // CHECK: [0x00,0x01,0x3e,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_lz v[5:8], v1, s[8:15], s[12:15] dmask:0x1 da
+image_gather4_c_lz v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 da
 // CHECK: [0x00,0x41,0x3c,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_lz v[5:8], v1, s[8:15], s[12:15] dmask:0x1 d16
+image_gather4_c_lz v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 d16
 // CHECK: [0x00,0x01,0x3c,0xf1,0x01,0x05,0x62,0x80]
 
-image_gather4_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1
+image_gather4_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x40,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_o v[252:255], v1, s[8:15], s[12:15] dmask:0x1
+image_gather4_o v[252:255], v[1:4], s[8:15], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x40,0xf1,0x01,0xfc,0x62,0x00]
 
-image_gather4_o v[5:8], v255, s[8:15], s[12:15] dmask:0x1
-// CHECK: [0x00,0x01,0x40,0xf1,0xff,0x05,0x62,0x00]
+image_gather4_o v[5:8], v[254:255], s[8:15], s[12:15] dmask:0x1
+// CHECK: [0x00,0x01,0x40,0xf1,0xfe,0x05,0x62,0x00]
 
-image_gather4_o v[5:8], v1, s[12:19], s[12:15] dmask:0x1
+image_gather4_o v[5:8], v[1:4], s[12:19], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x40,0xf1,0x01,0x05,0x63,0x00]
 
-image_gather4_o v[5:8], v1, s[92:99], s[12:15] dmask:0x1
+image_gather4_o v[5:8], v[1:4], s[92:99], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x40,0xf1,0x01,0x05,0x77,0x00]
 
-image_gather4_o v[5:8], v1, ttmp[4:11], s[12:15] dmask:0x1
+image_gather4_o v[5:8], v[1:4], ttmp[4:11], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x40,0xf1,0x01,0x05,0x7d,0x00]
 
-image_gather4_o v[5:8], v1, s[8:15], s[16:19] dmask:0x1
+image_gather4_o v[5:8], v[1:4], s[8:15], s[16:19] dmask:0x1
 // CHECK: [0x00,0x01,0x40,0xf1,0x01,0x05,0x82,0x00]
 
-image_gather4_o v[5:8], v1, s[8:15], s[96:99] dmask:0x1
+image_gather4_o v[5:8], v[1:4], s[8:15], s[96:99] dmask:0x1
 // CHECK: [0x00,0x01,0x40,0xf1,0x01,0x05,0x02,0x03]
 
-image_gather4_o v[5:8], v1, s[8:15], ttmp[8:11] dmask:0x1
+image_gather4_o v[5:8], v[1:4], s[8:15], ttmp[8:11] dmask:0x1
 // CHECK: [0x00,0x01,0x40,0xf1,0x01,0x05,0xc2,0x03]
 
-image_gather4_o v[5:8], v1, s[8:15], s[12:15] dmask:0x2
+image_gather4_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x2
 // CHECK: [0x00,0x02,0x40,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_o v[5:8], v1, s[8:15], s[12:15] dmask:0x4
+image_gather4_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x4
 // CHECK: [0x00,0x04,0x40,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_o v[5:8], v1, s[8:15], s[12:15] dmask:0x8
+image_gather4_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x8
 // CHECK: [0x00,0x08,0x40,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 unorm
+image_gather4_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 unorm
 // CHECK: [0x00,0x11,0x40,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 glc
+image_gather4_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 glc
 // CHECK: [0x00,0x21,0x40,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 slc
+image_gather4_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 slc
 // CHECK: [0x00,0x01,0x40,0xf3,0x01,0x05,0x62,0x00]
 
-image_gather4_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 lwe
+image_gather4_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 lwe
 // CHECK: [0x00,0x01,0x42,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 da
+image_gather4_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 da
 // CHECK: [0x00,0x41,0x40,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 d16
+image_gather4_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 d16
 // CHECK: [0x00,0x01,0x40,0xf1,0x01,0x05,0x62,0x80]
 
-image_gather4_cl_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1
+image_gather4_cl_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x44,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_cl_o v[252:255], v1, s[8:15], s[12:15] dmask:0x1
+image_gather4_cl_o v[252:255], v[1:4], s[8:15], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x44,0xf1,0x01,0xfc,0x62,0x00]
 
-image_gather4_cl_o v[5:8], v255, s[8:15], s[12:15] dmask:0x1
-// CHECK: [0x00,0x01,0x44,0xf1,0xff,0x05,0x62,0x00]
+image_gather4_cl_o v[5:8], v[253:255], s[8:15], s[12:15] dmask:0x1
+// CHECK: [0x00,0x01,0x44,0xf1,0xfd,0x05,0x62,0x00]
 
-image_gather4_cl_o v[5:8], v1, s[12:19], s[12:15] dmask:0x1
+image_gather4_cl_o v[5:8], v[1:4], s[12:19], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x44,0xf1,0x01,0x05,0x63,0x00]
 
-image_gather4_cl_o v[5:8], v1, s[92:99], s[12:15] dmask:0x1
+image_gather4_cl_o v[5:8], v[1:4], s[92:99], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x44,0xf1,0x01,0x05,0x77,0x00]
 
-image_gather4_cl_o v[5:8], v1, ttmp[4:11], s[12:15] dmask:0x1
+image_gather4_cl_o v[5:8], v[1:4], ttmp[4:11], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x44,0xf1,0x01,0x05,0x7d,0x00]
 
-image_gather4_cl_o v[5:8], v1, s[8:15], s[16:19] dmask:0x1
+image_gather4_cl_o v[5:8], v[1:4], s[8:15], s[16:19] dmask:0x1
 // CHECK: [0x00,0x01,0x44,0xf1,0x01,0x05,0x82,0x00]
 
-image_gather4_cl_o v[5:8], v1, s[8:15], s[96:99] dmask:0x1
+image_gather4_cl_o v[5:8], v[1:4], s[8:15], s[96:99] dmask:0x1
 // CHECK: [0x00,0x01,0x44,0xf1,0x01,0x05,0x02,0x03]
 
-image_gather4_cl_o v[5:8], v1, s[8:15], ttmp[8:11] dmask:0x1
+image_gather4_cl_o v[5:8], v[1:4], s[8:15], ttmp[8:11] dmask:0x1
 // CHECK: [0x00,0x01,0x44,0xf1,0x01,0x05,0xc2,0x03]
 
-image_gather4_cl_o v[5:8], v1, s[8:15], s[12:15] dmask:0x2
+image_gather4_cl_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x2
 // CHECK: [0x00,0x02,0x44,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_cl_o v[5:8], v1, s[8:15], s[12:15] dmask:0x4
+image_gather4_cl_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x4
 // CHECK: [0x00,0x04,0x44,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_cl_o v[5:8], v1, s[8:15], s[12:15] dmask:0x8
+image_gather4_cl_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x8
 // CHECK: [0x00,0x08,0x44,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_cl_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 unorm
+image_gather4_cl_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 unorm
 // CHECK: [0x00,0x11,0x44,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_cl_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 glc
+image_gather4_cl_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 glc
 // CHECK: [0x00,0x21,0x44,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_cl_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 slc
+image_gather4_cl_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 slc
 // CHECK: [0x00,0x01,0x44,0xf3,0x01,0x05,0x62,0x00]
 
-image_gather4_cl_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 lwe
+image_gather4_cl_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 lwe
 // CHECK: [0x00,0x01,0x46,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_cl_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 da
+image_gather4_cl_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 da
 // CHECK: [0x00,0x41,0x44,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_cl_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 d16
+image_gather4_cl_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 d16
 // CHECK: [0x00,0x01,0x44,0xf1,0x01,0x05,0x62,0x80]
 
-image_gather4_l_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1
+image_gather4_l_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x50,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_l_o v[252:255], v1, s[8:15], s[12:15] dmask:0x1
+image_gather4_l_o v[252:255], v[1:4], s[8:15], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x50,0xf1,0x01,0xfc,0x62,0x00]
 
-image_gather4_l_o v[5:8], v255, s[8:15], s[12:15] dmask:0x1
-// CHECK: [0x00,0x01,0x50,0xf1,0xff,0x05,0x62,0x00]
+image_gather4_l_o v[5:8], v[253:255], s[8:15], s[12:15] dmask:0x1
+// CHECK: [0x00,0x01,0x50,0xf1,0xfd,0x05,0x62,0x00]
 
-image_gather4_l_o v[5:8], v1, s[12:19], s[12:15] dmask:0x1
+image_gather4_l_o v[5:8], v[1:4], s[12:19], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x50,0xf1,0x01,0x05,0x63,0x00]
 
-image_gather4_l_o v[5:8], v1, s[92:99], s[12:15] dmask:0x1
+image_gather4_l_o v[5:8], v[1:4], s[92:99], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x50,0xf1,0x01,0x05,0x77,0x00]
 
-image_gather4_l_o v[5:8], v1, ttmp[4:11], s[12:15] dmask:0x1
+image_gather4_l_o v[5:8], v[1:4], ttmp[4:11], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x50,0xf1,0x01,0x05,0x7d,0x00]
 
-image_gather4_l_o v[5:8], v1, s[8:15], s[16:19] dmask:0x1
+image_gather4_l_o v[5:8], v[1:4], s[8:15], s[16:19] dmask:0x1
 // CHECK: [0x00,0x01,0x50,0xf1,0x01,0x05,0x82,0x00]
 
-image_gather4_l_o v[5:8], v1, s[8:15], s[96:99] dmask:0x1
+image_gather4_l_o v[5:8], v[1:4], s[8:15], s[96:99] dmask:0x1
 // CHECK: [0x00,0x01,0x50,0xf1,0x01,0x05,0x02,0x03]
 
-image_gather4_l_o v[5:8], v1, s[8:15], ttmp[8:11] dmask:0x1
+image_gather4_l_o v[5:8], v[1:4], s[8:15], ttmp[8:11] dmask:0x1
 // CHECK: [0x00,0x01,0x50,0xf1,0x01,0x05,0xc2,0x03]
 
-image_gather4_l_o v[5:8], v1, s[8:15], s[12:15] dmask:0x2
+image_gather4_l_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x2
 // CHECK: [0x00,0x02,0x50,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_l_o v[5:8], v1, s[8:15], s[12:15] dmask:0x4
+image_gather4_l_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x4
 // CHECK: [0x00,0x04,0x50,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_l_o v[5:8], v1, s[8:15], s[12:15] dmask:0x8
+image_gather4_l_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x8
 // CHECK: [0x00,0x08,0x50,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_l_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 unorm
+image_gather4_l_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 unorm
 // CHECK: [0x00,0x11,0x50,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_l_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 glc
+image_gather4_l_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 glc
 // CHECK: [0x00,0x21,0x50,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_l_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 slc
+image_gather4_l_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 slc
 // CHECK: [0x00,0x01,0x50,0xf3,0x01,0x05,0x62,0x00]
 
-image_gather4_l_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 lwe
+image_gather4_l_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 lwe
 // CHECK: [0x00,0x01,0x52,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_l_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 da
+image_gather4_l_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 da
 // CHECK: [0x00,0x41,0x50,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_l_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 d16
+image_gather4_l_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 d16
 // CHECK: [0x00,0x01,0x50,0xf1,0x01,0x05,0x62,0x80]
 
-image_gather4_b_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1
+image_gather4_b_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x54,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_b_o v[252:255], v1, s[8:15], s[12:15] dmask:0x1
+image_gather4_b_o v[252:255], v[1:4], s[8:15], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x54,0xf1,0x01,0xfc,0x62,0x00]
 
-image_gather4_b_o v[5:8], v255, s[8:15], s[12:15] dmask:0x1
-// CHECK: [0x00,0x01,0x54,0xf1,0xff,0x05,0x62,0x00]
+image_gather4_b_o v[5:8], v[253:255], s[8:15], s[12:15] dmask:0x1
+// CHECK: [0x00,0x01,0x54,0xf1,0xfd,0x05,0x62,0x00]
 
-image_gather4_b_o v[5:8], v1, s[12:19], s[12:15] dmask:0x1
+image_gather4_b_o v[5:8], v[1:4], s[12:19], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x54,0xf1,0x01,0x05,0x63,0x00]
 
-image_gather4_b_o v[5:8], v1, s[92:99], s[12:15] dmask:0x1
+image_gather4_b_o v[5:8], v[1:4], s[92:99], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x54,0xf1,0x01,0x05,0x77,0x00]
 
-image_gather4_b_o v[5:8], v1, ttmp[4:11], s[12:15] dmask:0x1
+image_gather4_b_o v[5:8], v[1:4], ttmp[4:11], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x54,0xf1,0x01,0x05,0x7d,0x00]
 
-image_gather4_b_o v[5:8], v1, s[8:15], s[16:19] dmask:0x1
+image_gather4_b_o v[5:8], v[1:4], s[8:15], s[16:19] dmask:0x1
 // CHECK: [0x00,0x01,0x54,0xf1,0x01,0x05,0x82,0x00]
 
-image_gather4_b_o v[5:8], v1, s[8:15], s[96:99] dmask:0x1
+image_gather4_b_o v[5:8], v[1:4], s[8:15], s[96:99] dmask:0x1
 // CHECK: [0x00,0x01,0x54,0xf1,0x01,0x05,0x02,0x03]
 
-image_gather4_b_o v[5:8], v1, s[8:15], ttmp[8:11] dmask:0x1
+image_gather4_b_o v[5:8], v[1:4], s[8:15], ttmp[8:11] dmask:0x1
 // CHECK: [0x00,0x01,0x54,0xf1,0x01,0x05,0xc2,0x03]
 
-image_gather4_b_o v[5:8], v1, s[8:15], s[12:15] dmask:0x2
+image_gather4_b_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x2
 // CHECK: [0x00,0x02,0x54,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_b_o v[5:8], v1, s[8:15], s[12:15] dmask:0x4
+image_gather4_b_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x4
 // CHECK: [0x00,0x04,0x54,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_b_o v[5:8], v1, s[8:15], s[12:15] dmask:0x8
+image_gather4_b_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x8
 // CHECK: [0x00,0x08,0x54,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_b_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 unorm
+image_gather4_b_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 unorm
 // CHECK: [0x00,0x11,0x54,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_b_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 glc
+image_gather4_b_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 glc
 // CHECK: [0x00,0x21,0x54,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_b_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 slc
+image_gather4_b_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 slc
 // CHECK: [0x00,0x01,0x54,0xf3,0x01,0x05,0x62,0x00]
 
-image_gather4_b_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 lwe
+image_gather4_b_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 lwe
 // CHECK: [0x00,0x01,0x56,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_b_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 da
+image_gather4_b_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 da
 // CHECK: [0x00,0x41,0x54,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_b_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 d16
+image_gather4_b_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 d16
 // CHECK: [0x00,0x01,0x54,0xf1,0x01,0x05,0x62,0x80]
 
-image_gather4_b_cl_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1
+image_gather4_b_cl_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x58,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_b_cl_o v[252:255], v1, s[8:15], s[12:15] dmask:0x1
+image_gather4_b_cl_o v[252:255], v[1:4], s[8:15], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x58,0xf1,0x01,0xfc,0x62,0x00]
 
-image_gather4_b_cl_o v[5:8], v255, s[8:15], s[12:15] dmask:0x1
-// CHECK: [0x00,0x01,0x58,0xf1,0xff,0x05,0x62,0x00]
+image_gather4_b_cl_o v[5:8], v[252:255], s[8:15], s[12:15] dmask:0x1
+// CHECK: [0x00,0x01,0x58,0xf1,0xfc,0x05,0x62,0x00]
 
-image_gather4_b_cl_o v[5:8], v1, s[12:19], s[12:15] dmask:0x1
+image_gather4_b_cl_o v[5:8], v[1:4], s[12:19], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x58,0xf1,0x01,0x05,0x63,0x00]
 
-image_gather4_b_cl_o v[5:8], v1, s[92:99], s[12:15] dmask:0x1
+image_gather4_b_cl_o v[5:8], v[1:4], s[92:99], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x58,0xf1,0x01,0x05,0x77,0x00]
 
-image_gather4_b_cl_o v[5:8], v1, ttmp[4:11], s[12:15] dmask:0x1
+image_gather4_b_cl_o v[5:8], v[1:4], ttmp[4:11], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x58,0xf1,0x01,0x05,0x7d,0x00]
 
-image_gather4_b_cl_o v[5:8], v1, s[8:15], s[16:19] dmask:0x1
+image_gather4_b_cl_o v[5:8], v[1:4], s[8:15], s[16:19] dmask:0x1
 // CHECK: [0x00,0x01,0x58,0xf1,0x01,0x05,0x82,0x00]
 
-image_gather4_b_cl_o v[5:8], v1, s[8:15], s[96:99] dmask:0x1
+image_gather4_b_cl_o v[5:8], v[1:4], s[8:15], s[96:99] dmask:0x1
 // CHECK: [0x00,0x01,0x58,0xf1,0x01,0x05,0x02,0x03]
 
-image_gather4_b_cl_o v[5:8], v1, s[8:15], ttmp[8:11] dmask:0x1
+image_gather4_b_cl_o v[5:8], v[1:4], s[8:15], ttmp[8:11] dmask:0x1
 // CHECK: [0x00,0x01,0x58,0xf1,0x01,0x05,0xc2,0x03]
 
-image_gather4_b_cl_o v[5:8], v1, s[8:15], s[12:15] dmask:0x2
+image_gather4_b_cl_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x2
 // CHECK: [0x00,0x02,0x58,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_b_cl_o v[5:8], v1, s[8:15], s[12:15] dmask:0x4
+image_gather4_b_cl_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x4
 // CHECK: [0x00,0x04,0x58,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_b_cl_o v[5:8], v1, s[8:15], s[12:15] dmask:0x8
+image_gather4_b_cl_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x8
 // CHECK: [0x00,0x08,0x58,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_b_cl_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 unorm
+image_gather4_b_cl_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 unorm
 // CHECK: [0x00,0x11,0x58,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_b_cl_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 glc
+image_gather4_b_cl_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 glc
 // CHECK: [0x00,0x21,0x58,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_b_cl_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 slc
+image_gather4_b_cl_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 slc
 // CHECK: [0x00,0x01,0x58,0xf3,0x01,0x05,0x62,0x00]
 
-image_gather4_b_cl_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 lwe
+image_gather4_b_cl_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 lwe
 // CHECK: [0x00,0x01,0x5a,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_b_cl_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 da
+image_gather4_b_cl_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 da
 // CHECK: [0x00,0x41,0x58,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_b_cl_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 d16
+image_gather4_b_cl_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 d16
 // CHECK: [0x00,0x01,0x58,0xf1,0x01,0x05,0x62,0x80]
 
-image_gather4_lz_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1
+image_gather4_lz_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x5c,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_lz_o v[252:255], v1, s[8:15], s[12:15] dmask:0x1
+image_gather4_lz_o v[252:255], v[1:4], s[8:15], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x5c,0xf1,0x01,0xfc,0x62,0x00]
 
-image_gather4_lz_o v[5:8], v255, s[8:15], s[12:15] dmask:0x1
-// CHECK: [0x00,0x01,0x5c,0xf1,0xff,0x05,0x62,0x00]
+image_gather4_lz_o v[5:8], v[254:255], s[8:15], s[12:15] dmask:0x1
+// CHECK: [0x00,0x01,0x5c,0xf1,0xfe,0x05,0x62,0x00]
 
-image_gather4_lz_o v[5:8], v1, s[12:19], s[12:15] dmask:0x1
+image_gather4_lz_o v[5:8], v[1:4], s[12:19], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x5c,0xf1,0x01,0x05,0x63,0x00]
 
-image_gather4_lz_o v[5:8], v1, s[92:99], s[12:15] dmask:0x1
+image_gather4_lz_o v[5:8], v[1:4], s[92:99], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x5c,0xf1,0x01,0x05,0x77,0x00]
 
-image_gather4_lz_o v[5:8], v1, ttmp[4:11], s[12:15] dmask:0x1
+image_gather4_lz_o v[5:8], v[1:4], ttmp[4:11], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x5c,0xf1,0x01,0x05,0x7d,0x00]
 
-image_gather4_lz_o v[5:8], v1, s[8:15], s[16:19] dmask:0x1
+image_gather4_lz_o v[5:8], v[1:4], s[8:15], s[16:19] dmask:0x1
 // CHECK: [0x00,0x01,0x5c,0xf1,0x01,0x05,0x82,0x00]
 
-image_gather4_lz_o v[5:8], v1, s[8:15], s[96:99] dmask:0x1
+image_gather4_lz_o v[5:8], v[1:4], s[8:15], s[96:99] dmask:0x1
 // CHECK: [0x00,0x01,0x5c,0xf1,0x01,0x05,0x02,0x03]
 
-image_gather4_lz_o v[5:8], v1, s[8:15], ttmp[8:11] dmask:0x1
+image_gather4_lz_o v[5:8], v[1:4], s[8:15], ttmp[8:11] dmask:0x1
 // CHECK: [0x00,0x01,0x5c,0xf1,0x01,0x05,0xc2,0x03]
 
-image_gather4_lz_o v[5:8], v1, s[8:15], s[12:15] dmask:0x2
+image_gather4_lz_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x2
 // CHECK: [0x00,0x02,0x5c,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_lz_o v[5:8], v1, s[8:15], s[12:15] dmask:0x4
+image_gather4_lz_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x4
 // CHECK: [0x00,0x04,0x5c,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_lz_o v[5:8], v1, s[8:15], s[12:15] dmask:0x8
+image_gather4_lz_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x8
 // CHECK: [0x00,0x08,0x5c,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_lz_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 unorm
+image_gather4_lz_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 unorm
 // CHECK: [0x00,0x11,0x5c,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_lz_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 glc
+image_gather4_lz_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 glc
 // CHECK: [0x00,0x21,0x5c,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_lz_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 slc
+image_gather4_lz_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 slc
 // CHECK: [0x00,0x01,0x5c,0xf3,0x01,0x05,0x62,0x00]
 
-image_gather4_lz_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 lwe
+image_gather4_lz_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 lwe
 // CHECK: [0x00,0x01,0x5e,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_lz_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 da
+image_gather4_lz_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 da
 // CHECK: [0x00,0x41,0x5c,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_lz_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 d16
+image_gather4_lz_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 d16
 // CHECK: [0x00,0x01,0x5c,0xf1,0x01,0x05,0x62,0x80]
 
-image_gather4_c_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1
+image_gather4_c_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x60,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_o v[252:255], v1, s[8:15], s[12:15] dmask:0x1
+image_gather4_c_o v[252:255], v[1:4], s[8:15], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x60,0xf1,0x01,0xfc,0x62,0x00]
 
-image_gather4_c_o v[5:8], v255, s[8:15], s[12:15] dmask:0x1
-// CHECK: [0x00,0x01,0x60,0xf1,0xff,0x05,0x62,0x00]
+image_gather4_c_o v[5:8], v[253:255], s[8:15], s[12:15] dmask:0x1
+// CHECK: [0x00,0x01,0x60,0xf1,0xfd,0x05,0x62,0x00]
 
-image_gather4_c_o v[5:8], v1, s[12:19], s[12:15] dmask:0x1
+image_gather4_c_o v[5:8], v[1:4], s[12:19], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x60,0xf1,0x01,0x05,0x63,0x00]
 
-image_gather4_c_o v[5:8], v1, s[92:99], s[12:15] dmask:0x1
+image_gather4_c_o v[5:8], v[1:4], s[92:99], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x60,0xf1,0x01,0x05,0x77,0x00]
 
-image_gather4_c_o v[5:8], v1, ttmp[4:11], s[12:15] dmask:0x1
+image_gather4_c_o v[5:8], v[1:4], ttmp[4:11], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x60,0xf1,0x01,0x05,0x7d,0x00]
 
-image_gather4_c_o v[5:8], v1, s[8:15], s[16:19] dmask:0x1
+image_gather4_c_o v[5:8], v[1:4], s[8:15], s[16:19] dmask:0x1
 // CHECK: [0x00,0x01,0x60,0xf1,0x01,0x05,0x82,0x00]
 
-image_gather4_c_o v[5:8], v1, s[8:15], s[96:99] dmask:0x1
+image_gather4_c_o v[5:8], v[1:4], s[8:15], s[96:99] dmask:0x1
 // CHECK: [0x00,0x01,0x60,0xf1,0x01,0x05,0x02,0x03]
 
-image_gather4_c_o v[5:8], v1, s[8:15], ttmp[8:11] dmask:0x1
+image_gather4_c_o v[5:8], v[1:4], s[8:15], ttmp[8:11] dmask:0x1
 // CHECK: [0x00,0x01,0x60,0xf1,0x01,0x05,0xc2,0x03]
 
-image_gather4_c_o v[5:8], v1, s[8:15], s[12:15] dmask:0x2
+image_gather4_c_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x2
 // CHECK: [0x00,0x02,0x60,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_o v[5:8], v1, s[8:15], s[12:15] dmask:0x4
+image_gather4_c_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x4
 // CHECK: [0x00,0x04,0x60,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_o v[5:8], v1, s[8:15], s[12:15] dmask:0x8
+image_gather4_c_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x8
 // CHECK: [0x00,0x08,0x60,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 unorm
+image_gather4_c_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 unorm
 // CHECK: [0x00,0x11,0x60,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 glc
+image_gather4_c_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 glc
 // CHECK: [0x00,0x21,0x60,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 slc
+image_gather4_c_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 slc
 // CHECK: [0x00,0x01,0x60,0xf3,0x01,0x05,0x62,0x00]
 
-image_gather4_c_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 lwe
+image_gather4_c_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 lwe
 // CHECK: [0x00,0x01,0x62,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 da
+image_gather4_c_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 da
 // CHECK: [0x00,0x41,0x60,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 d16
+image_gather4_c_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 d16
 // CHECK: [0x00,0x01,0x60,0xf1,0x01,0x05,0x62,0x80]
 
-image_gather4_c_cl_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1
+image_gather4_c_cl_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x64,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_cl_o v[252:255], v1, s[8:15], s[12:15] dmask:0x1
+image_gather4_c_cl_o v[252:255], v[1:4], s[8:15], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x64,0xf1,0x01,0xfc,0x62,0x00]
 
-image_gather4_c_cl_o v[5:8], v255, s[8:15], s[12:15] dmask:0x1
-// CHECK: [0x00,0x01,0x64,0xf1,0xff,0x05,0x62,0x00]
+image_gather4_c_cl_o v[5:8], v[252:255], s[8:15], s[12:15] dmask:0x1
+// CHECK: [0x00,0x01,0x64,0xf1,0xfc,0x05,0x62,0x00]
 
-image_gather4_c_cl_o v[5:8], v1, s[12:19], s[12:15] dmask:0x1
+image_gather4_c_cl_o v[5:8], v[1:4], s[12:19], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x64,0xf1,0x01,0x05,0x63,0x00]
 
-image_gather4_c_cl_o v[5:8], v1, s[92:99], s[12:15] dmask:0x1
+image_gather4_c_cl_o v[5:8], v[1:4], s[92:99], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x64,0xf1,0x01,0x05,0x77,0x00]
 
-image_gather4_c_cl_o v[5:8], v1, ttmp[4:11], s[12:15] dmask:0x1
+image_gather4_c_cl_o v[5:8], v[1:4], ttmp[4:11], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x64,0xf1,0x01,0x05,0x7d,0x00]
 
-image_gather4_c_cl_o v[5:8], v1, s[8:15], s[16:19] dmask:0x1
+image_gather4_c_cl_o v[5:8], v[1:4], s[8:15], s[16:19] dmask:0x1
 // CHECK: [0x00,0x01,0x64,0xf1,0x01,0x05,0x82,0x00]
 
-image_gather4_c_cl_o v[5:8], v1, s[8:15], s[96:99] dmask:0x1
+image_gather4_c_cl_o v[5:8], v[1:4], s[8:15], s[96:99] dmask:0x1
 // CHECK: [0x00,0x01,0x64,0xf1,0x01,0x05,0x02,0x03]
 
-image_gather4_c_cl_o v[5:8], v1, s[8:15], ttmp[8:11] dmask:0x1
+image_gather4_c_cl_o v[5:8], v[1:4], s[8:15], ttmp[8:11] dmask:0x1
 // CHECK: [0x00,0x01,0x64,0xf1,0x01,0x05,0xc2,0x03]
 
-image_gather4_c_cl_o v[5:8], v1, s[8:15], s[12:15] dmask:0x2
+image_gather4_c_cl_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x2
 // CHECK: [0x00,0x02,0x64,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_cl_o v[5:8], v1, s[8:15], s[12:15] dmask:0x4
+image_gather4_c_cl_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x4
 // CHECK: [0x00,0x04,0x64,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_cl_o v[5:8], v1, s[8:15], s[12:15] dmask:0x8
+image_gather4_c_cl_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x8
 // CHECK: [0x00,0x08,0x64,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_cl_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 unorm
+image_gather4_c_cl_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 unorm
 // CHECK: [0x00,0x11,0x64,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_cl_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 glc
+image_gather4_c_cl_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 glc
 // CHECK: [0x00,0x21,0x64,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_cl_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 slc
+image_gather4_c_cl_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 slc
 // CHECK: [0x00,0x01,0x64,0xf3,0x01,0x05,0x62,0x00]
 
-image_gather4_c_cl_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 lwe
+image_gather4_c_cl_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 lwe
 // CHECK: [0x00,0x01,0x66,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_cl_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 da
+image_gather4_c_cl_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 da
 // CHECK: [0x00,0x41,0x64,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_cl_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 d16
+image_gather4_c_cl_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 d16
 // CHECK: [0x00,0x01,0x64,0xf1,0x01,0x05,0x62,0x80]
 
-image_gather4_c_l_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1
+image_gather4_c_l_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x70,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_l_o v[252:255], v1, s[8:15], s[12:15] dmask:0x1
+image_gather4_c_l_o v[252:255], v[1:4], s[8:15], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x70,0xf1,0x01,0xfc,0x62,0x00]
 
-image_gather4_c_l_o v[5:8], v255, s[8:15], s[12:15] dmask:0x1
-// CHECK: [0x00,0x01,0x70,0xf1,0xff,0x05,0x62,0x00]
+image_gather4_c_l_o v[5:8], v[252:255], s[8:15], s[12:15] dmask:0x1
+// CHECK: [0x00,0x01,0x70,0xf1,0xfc,0x05,0x62,0x00]
 
-image_gather4_c_l_o v[5:8], v1, s[12:19], s[12:15] dmask:0x1
+image_gather4_c_l_o v[5:8], v[1:4], s[12:19], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x70,0xf1,0x01,0x05,0x63,0x00]
 
-image_gather4_c_l_o v[5:8], v1, s[92:99], s[12:15] dmask:0x1
+image_gather4_c_l_o v[5:8], v[1:4], s[92:99], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x70,0xf1,0x01,0x05,0x77,0x00]
 
-image_gather4_c_l_o v[5:8], v1, ttmp[4:11], s[12:15] dmask:0x1
+image_gather4_c_l_o v[5:8], v[1:4], ttmp[4:11], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x70,0xf1,0x01,0x05,0x7d,0x00]
 
-image_gather4_c_l_o v[5:8], v1, s[8:15], s[16:19] dmask:0x1
+image_gather4_c_l_o v[5:8], v[1:4], s[8:15], s[16:19] dmask:0x1
 // CHECK: [0x00,0x01,0x70,0xf1,0x01,0x05,0x82,0x00]
 
-image_gather4_c_l_o v[5:8], v1, s[8:15], s[96:99] dmask:0x1
+image_gather4_c_l_o v[5:8], v[1:4], s[8:15], s[96:99] dmask:0x1
 // CHECK: [0x00,0x01,0x70,0xf1,0x01,0x05,0x02,0x03]
 
-image_gather4_c_l_o v[5:8], v1, s[8:15], ttmp[8:11] dmask:0x1
+image_gather4_c_l_o v[5:8], v[1:4], s[8:15], ttmp[8:11] dmask:0x1
 // CHECK: [0x00,0x01,0x70,0xf1,0x01,0x05,0xc2,0x03]
 
-image_gather4_c_l_o v[5:8], v1, s[8:15], s[12:15] dmask:0x2
+image_gather4_c_l_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x2
 // CHECK: [0x00,0x02,0x70,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_l_o v[5:8], v1, s[8:15], s[12:15] dmask:0x4
+image_gather4_c_l_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x4
 // CHECK: [0x00,0x04,0x70,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_l_o v[5:8], v1, s[8:15], s[12:15] dmask:0x8
+image_gather4_c_l_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x8
 // CHECK: [0x00,0x08,0x70,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_l_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 unorm
+image_gather4_c_l_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 unorm
 // CHECK: [0x00,0x11,0x70,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_l_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 glc
+image_gather4_c_l_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 glc
 // CHECK: [0x00,0x21,0x70,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_l_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 slc
+image_gather4_c_l_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 slc
 // CHECK: [0x00,0x01,0x70,0xf3,0x01,0x05,0x62,0x00]
 
-image_gather4_c_l_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 lwe
+image_gather4_c_l_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 lwe
 // CHECK: [0x00,0x01,0x72,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_l_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 da
+image_gather4_c_l_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 da
 // CHECK: [0x00,0x41,0x70,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_l_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 d16
+image_gather4_c_l_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 d16
 // CHECK: [0x00,0x01,0x70,0xf1,0x01,0x05,0x62,0x80]
 
-image_gather4_c_b_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1
+image_gather4_c_b_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x74,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_b_o v[252:255], v1, s[8:15], s[12:15] dmask:0x1
+image_gather4_c_b_o v[252:255], v[1:4], s[8:15], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x74,0xf1,0x01,0xfc,0x62,0x00]
 
-image_gather4_c_b_o v[5:8], v255, s[8:15], s[12:15] dmask:0x1
-// CHECK: [0x00,0x01,0x74,0xf1,0xff,0x05,0x62,0x00]
+image_gather4_c_b_o v[5:8], v[252:255], s[8:15], s[12:15] dmask:0x1
+// CHECK: [0x00,0x01,0x74,0xf1,0xfc,0x05,0x62,0x00]
 
-image_gather4_c_b_o v[5:8], v1, s[12:19], s[12:15] dmask:0x1
+image_gather4_c_b_o v[5:8], v[1:4], s[12:19], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x74,0xf1,0x01,0x05,0x63,0x00]
 
-image_gather4_c_b_o v[5:8], v1, s[92:99], s[12:15] dmask:0x1
+image_gather4_c_b_o v[5:8], v[1:4], s[92:99], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x74,0xf1,0x01,0x05,0x77,0x00]
 
-image_gather4_c_b_o v[5:8], v1, ttmp[4:11], s[12:15] dmask:0x1
+image_gather4_c_b_o v[5:8], v[1:4], ttmp[4:11], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x74,0xf1,0x01,0x05,0x7d,0x00]
 
-image_gather4_c_b_o v[5:8], v1, s[8:15], s[16:19] dmask:0x1
+image_gather4_c_b_o v[5:8], v[1:4], s[8:15], s[16:19] dmask:0x1
 // CHECK: [0x00,0x01,0x74,0xf1,0x01,0x05,0x82,0x00]
 
-image_gather4_c_b_o v[5:8], v1, s[8:15], s[96:99] dmask:0x1
+image_gather4_c_b_o v[5:8], v[1:4], s[8:15], s[96:99] dmask:0x1
 // CHECK: [0x00,0x01,0x74,0xf1,0x01,0x05,0x02,0x03]
 
-image_gather4_c_b_o v[5:8], v1, s[8:15], ttmp[8:11] dmask:0x1
+image_gather4_c_b_o v[5:8], v[1:4], s[8:15], ttmp[8:11] dmask:0x1
 // CHECK: [0x00,0x01,0x74,0xf1,0x01,0x05,0xc2,0x03]
 
-image_gather4_c_b_o v[5:8], v1, s[8:15], s[12:15] dmask:0x2
+image_gather4_c_b_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x2
 // CHECK: [0x00,0x02,0x74,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_b_o v[5:8], v1, s[8:15], s[12:15] dmask:0x4
+image_gather4_c_b_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x4
 // CHECK: [0x00,0x04,0x74,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_b_o v[5:8], v1, s[8:15], s[12:15] dmask:0x8
+image_gather4_c_b_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x8
 // CHECK: [0x00,0x08,0x74,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_b_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 unorm
+image_gather4_c_b_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 unorm
 // CHECK: [0x00,0x11,0x74,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_b_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 glc
+image_gather4_c_b_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 glc
 // CHECK: [0x00,0x21,0x74,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_b_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 slc
+image_gather4_c_b_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 slc
 // CHECK: [0x00,0x01,0x74,0xf3,0x01,0x05,0x62,0x00]
 
-image_gather4_c_b_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 lwe
+image_gather4_c_b_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 lwe
 // CHECK: [0x00,0x01,0x76,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_b_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 da
+image_gather4_c_b_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 da
 // CHECK: [0x00,0x41,0x74,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_b_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 d16
+image_gather4_c_b_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 d16
 // CHECK: [0x00,0x01,0x74,0xf1,0x01,0x05,0x62,0x80]
 
-image_gather4_c_b_cl_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1
+image_gather4_c_b_cl_o v[5:8], v[1:8], s[8:15], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x78,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_b_cl_o v[252:255], v1, s[8:15], s[12:15] dmask:0x1
+image_gather4_c_b_cl_o v[252:255], v[1:8], s[8:15], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x78,0xf1,0x01,0xfc,0x62,0x00]
 
-image_gather4_c_b_cl_o v[5:8], v255, s[8:15], s[12:15] dmask:0x1
-// CHECK: [0x00,0x01,0x78,0xf1,0xff,0x05,0x62,0x00]
+image_gather4_c_b_cl_o v[5:8], v[248:255], s[8:15], s[12:15] dmask:0x1
+// CHECK: [0x00,0x01,0x78,0xf1,0xf8,0x05,0x62,0x00]
 
-image_gather4_c_b_cl_o v[5:8], v1, s[12:19], s[12:15] dmask:0x1
+image_gather4_c_b_cl_o v[5:8], v[1:8], s[12:19], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x78,0xf1,0x01,0x05,0x63,0x00]
 
-image_gather4_c_b_cl_o v[5:8], v1, s[92:99], s[12:15] dmask:0x1
+image_gather4_c_b_cl_o v[5:8], v[1:8], s[92:99], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x78,0xf1,0x01,0x05,0x77,0x00]
 
-image_gather4_c_b_cl_o v[5:8], v1, ttmp[4:11], s[12:15] dmask:0x1
+image_gather4_c_b_cl_o v[5:8], v[1:8], ttmp[4:11], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x78,0xf1,0x01,0x05,0x7d,0x00]
 
-image_gather4_c_b_cl_o v[5:8], v1, s[8:15], s[16:19] dmask:0x1
+image_gather4_c_b_cl_o v[5:8], v[1:8], s[8:15], s[16:19] dmask:0x1
 // CHECK: [0x00,0x01,0x78,0xf1,0x01,0x05,0x82,0x00]
 
-image_gather4_c_b_cl_o v[5:8], v1, s[8:15], s[96:99] dmask:0x1
+image_gather4_c_b_cl_o v[5:8], v[1:8], s[8:15], s[96:99] dmask:0x1
 // CHECK: [0x00,0x01,0x78,0xf1,0x01,0x05,0x02,0x03]
 
-image_gather4_c_b_cl_o v[5:8], v1, s[8:15], ttmp[8:11] dmask:0x1
+image_gather4_c_b_cl_o v[5:8], v[1:8], s[8:15], ttmp[8:11] dmask:0x1
 // CHECK: [0x00,0x01,0x78,0xf1,0x01,0x05,0xc2,0x03]
 
-image_gather4_c_b_cl_o v[5:8], v1, s[8:15], s[12:15] dmask:0x2
+image_gather4_c_b_cl_o v[5:8], v[1:8], s[8:15], s[12:15] dmask:0x2
 // CHECK: [0x00,0x02,0x78,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_b_cl_o v[5:8], v1, s[8:15], s[12:15] dmask:0x4
+image_gather4_c_b_cl_o v[5:8], v[1:8], s[8:15], s[12:15] dmask:0x4
 // CHECK: [0x00,0x04,0x78,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_b_cl_o v[5:8], v1, s[8:15], s[12:15] dmask:0x8
+image_gather4_c_b_cl_o v[5:8], v[1:8], s[8:15], s[12:15] dmask:0x8
 // CHECK: [0x00,0x08,0x78,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_b_cl_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 unorm
+image_gather4_c_b_cl_o v[5:8], v[1:8], s[8:15], s[12:15] dmask:0x1 unorm
 // CHECK: [0x00,0x11,0x78,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_b_cl_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 glc
+image_gather4_c_b_cl_o v[5:8], v[1:8], s[8:15], s[12:15] dmask:0x1 glc
 // CHECK: [0x00,0x21,0x78,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_b_cl_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 slc
+image_gather4_c_b_cl_o v[5:8], v[1:8], s[8:15], s[12:15] dmask:0x1 slc
 // CHECK: [0x00,0x01,0x78,0xf3,0x01,0x05,0x62,0x00]
 
-image_gather4_c_b_cl_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 lwe
+image_gather4_c_b_cl_o v[5:8], v[1:8], s[8:15], s[12:15] dmask:0x1 lwe
 // CHECK: [0x00,0x01,0x7a,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_b_cl_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 da
+image_gather4_c_b_cl_o v[5:8], v[1:8], s[8:15], s[12:15] dmask:0x1 da
 // CHECK: [0x00,0x41,0x78,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_b_cl_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 d16
+image_gather4_c_b_cl_o v[5:8], v[1:8], s[8:15], s[12:15] dmask:0x1 d16
 // CHECK: [0x00,0x01,0x78,0xf1,0x01,0x05,0x62,0x80]
 
-image_gather4_c_lz_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1
+image_gather4_c_lz_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x7c,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_lz_o v[252:255], v1, s[8:15], s[12:15] dmask:0x1
+image_gather4_c_lz_o v[252:255], v[1:4], s[8:15], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x7c,0xf1,0x01,0xfc,0x62,0x00]
 
-image_gather4_c_lz_o v[5:8], v255, s[8:15], s[12:15] dmask:0x1
-// CHECK: [0x00,0x01,0x7c,0xf1,0xff,0x05,0x62,0x00]
+image_gather4_c_lz_o v[5:8], v[253:255], s[8:15], s[12:15] dmask:0x1
+// CHECK: [0x00,0x01,0x7c,0xf1,0xfd,0x05,0x62,0x00]
 
-image_gather4_c_lz_o v[5:8], v1, s[12:19], s[12:15] dmask:0x1
+image_gather4_c_lz_o v[5:8], v[1:4], s[12:19], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x7c,0xf1,0x01,0x05,0x63,0x00]
 
-image_gather4_c_lz_o v[5:8], v1, s[92:99], s[12:15] dmask:0x1
+image_gather4_c_lz_o v[5:8], v[1:4], s[92:99], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x7c,0xf1,0x01,0x05,0x77,0x00]
 
-image_gather4_c_lz_o v[5:8], v1, ttmp[4:11], s[12:15] dmask:0x1
+image_gather4_c_lz_o v[5:8], v[1:4], ttmp[4:11], s[12:15] dmask:0x1
 // CHECK: [0x00,0x01,0x7c,0xf1,0x01,0x05,0x7d,0x00]
 
-image_gather4_c_lz_o v[5:8], v1, s[8:15], s[16:19] dmask:0x1
+image_gather4_c_lz_o v[5:8], v[1:4], s[8:15], s[16:19] dmask:0x1
 // CHECK: [0x00,0x01,0x7c,0xf1,0x01,0x05,0x82,0x00]
 
-image_gather4_c_lz_o v[5:8], v1, s[8:15], s[96:99] dmask:0x1
+image_gather4_c_lz_o v[5:8], v[1:4], s[8:15], s[96:99] dmask:0x1
 // CHECK: [0x00,0x01,0x7c,0xf1,0x01,0x05,0x02,0x03]
 
-image_gather4_c_lz_o v[5:8], v1, s[8:15], ttmp[8:11] dmask:0x1
+image_gather4_c_lz_o v[5:8], v[1:4], s[8:15], ttmp[8:11] dmask:0x1
 // CHECK: [0x00,0x01,0x7c,0xf1,0x01,0x05,0xc2,0x03]
 
-image_gather4_c_lz_o v[5:8], v1, s[8:15], s[12:15] dmask:0x2
+image_gather4_c_lz_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x2
 // CHECK: [0x00,0x02,0x7c,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_lz_o v[5:8], v1, s[8:15], s[12:15] dmask:0x4
+image_gather4_c_lz_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x4
 // CHECK: [0x00,0x04,0x7c,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_lz_o v[5:8], v1, s[8:15], s[12:15] dmask:0x8
+image_gather4_c_lz_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x8
 // CHECK: [0x00,0x08,0x7c,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_lz_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 unorm
+image_gather4_c_lz_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 unorm
 // CHECK: [0x00,0x11,0x7c,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_lz_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 glc
+image_gather4_c_lz_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 glc
 // CHECK: [0x00,0x21,0x7c,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_lz_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 slc
+image_gather4_c_lz_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 slc
 // CHECK: [0x00,0x01,0x7c,0xf3,0x01,0x05,0x62,0x00]
 
-image_gather4_c_lz_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 lwe
+image_gather4_c_lz_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 lwe
 // CHECK: [0x00,0x01,0x7e,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_lz_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 da
+image_gather4_c_lz_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 da
 // CHECK: [0x00,0x41,0x7c,0xf1,0x01,0x05,0x62,0x00]
 
-image_gather4_c_lz_o v[5:8], v1, s[8:15], s[12:15] dmask:0x1 d16
+image_gather4_c_lz_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x1 d16
 // CHECK: [0x00,0x01,0x7c,0xf1,0x01,0x05,0x62,0x80]
 
 image_get_lod v5, v1, s[8:15], s[12:15] dmask:0x1