diff --git a/llvm/test/MC/AMDGPU/gfx9_asm_all.s b/llvm/test/MC/AMDGPU/gfx9_asm_all.s --- a/llvm/test/MC/AMDGPU/gfx9_asm_all.s +++ b/llvm/test/MC/AMDGPU/gfx9_asm_all.s @@ -6262,6 +6262,9 @@ image_get_resinfo v[5:7], v1, s[8:15] dmask:0xe // CHECK: [0x00,0x0e,0x38,0xf0,0x01,0x05,0x02,0x00] +image_get_resinfo v[5:8], v1, s[8:15] dmask:0xf +// CHECK: [0x00,0x0f,0x38,0xf0,0x01,0x05,0x02,0x00] + image_get_resinfo v5, v1, s[8:15] dmask:0x0 // CHECK: [0x00,0x00,0x38,0xf0,0x01,0x05,0x02,0x00] @@ -9583,6 +9586,12 @@ buffer_atomic_swap v5, off, s[8:11], -1 offset:4095 // CHECK: [0xff,0x0f,0x00,0xe1,0x00,0x05,0x02,0xc1] +buffer_atomic_swap v5, off, s[8:11], 0.5 offset:4095 +// CHECK: [0xff,0x0f,0x00,0xe1,0x00,0x05,0x02,0xf0] + +buffer_atomic_swap v5, off, s[8:11], -4.0 offset:4095 +// CHECK: [0xff,0x0f,0x00,0xe1,0x00,0x05,0x02,0xf7] + buffer_atomic_swap v5, v0, s[8:11], s3 idxen offset:4095 // CHECK: [0xff,0x2f,0x00,0xe1,0x00,0x05,0x02,0x03] @@ -9628,6 +9637,12 @@ buffer_atomic_cmpswap v[5:6], off, s[8:11], -1 offset:4095 // CHECK: [0xff,0x0f,0x04,0xe1,0x00,0x05,0x02,0xc1] +buffer_atomic_cmpswap v[5:6], off, s[8:11], 0.5 offset:4095 +// CHECK: [0xff,0x0f,0x04,0xe1,0x00,0x05,0x02,0xf0] + +buffer_atomic_cmpswap v[5:6], off, s[8:11], -4.0 offset:4095 +// CHECK: [0xff,0x0f,0x04,0xe1,0x00,0x05,0x02,0xf7] + buffer_atomic_cmpswap v[5:6], v0, s[8:11], s3 idxen offset:4095 // CHECK: [0xff,0x2f,0x04,0xe1,0x00,0x05,0x02,0x03] @@ -9673,6 +9688,12 @@ buffer_atomic_add v5, off, s[8:11], -1 offset:4095 // CHECK: [0xff,0x0f,0x08,0xe1,0x00,0x05,0x02,0xc1] +buffer_atomic_add v5, off, s[8:11], 0.5 offset:4095 +// CHECK: [0xff,0x0f,0x08,0xe1,0x00,0x05,0x02,0xf0] + +buffer_atomic_add v5, off, s[8:11], -4.0 offset:4095 +// CHECK: [0xff,0x0f,0x08,0xe1,0x00,0x05,0x02,0xf7] + buffer_atomic_add v5, v0, s[8:11], s3 idxen offset:4095 // CHECK: [0xff,0x2f,0x08,0xe1,0x00,0x05,0x02,0x03] @@ -9718,6 +9739,12 @@ buffer_atomic_sub v5, off, s[8:11], -1 offset:4095 // CHECK: [0xff,0x0f,0x0c,0xe1,0x00,0x05,0x02,0xc1] +buffer_atomic_sub v5, off, s[8:11], 0.5 offset:4095 +// CHECK: [0xff,0x0f,0x0c,0xe1,0x00,0x05,0x02,0xf0] + +buffer_atomic_sub v5, off, s[8:11], -4.0 offset:4095 +// CHECK: [0xff,0x0f,0x0c,0xe1,0x00,0x05,0x02,0xf7] + buffer_atomic_sub v5, v0, s[8:11], s3 idxen offset:4095 // CHECK: [0xff,0x2f,0x0c,0xe1,0x00,0x05,0x02,0x03] @@ -9763,6 +9790,12 @@ buffer_atomic_smin v5, off, s[8:11], -1 offset:4095 // CHECK: [0xff,0x0f,0x10,0xe1,0x00,0x05,0x02,0xc1] +buffer_atomic_smin v5, off, s[8:11], 0.5 offset:4095 +// CHECK: [0xff,0x0f,0x10,0xe1,0x00,0x05,0x02,0xf0] + +buffer_atomic_smin v5, off, s[8:11], -4.0 offset:4095 +// CHECK: [0xff,0x0f,0x10,0xe1,0x00,0x05,0x02,0xf7] + buffer_atomic_smin v5, v0, s[8:11], s3 idxen offset:4095 // CHECK: [0xff,0x2f,0x10,0xe1,0x00,0x05,0x02,0x03] @@ -9808,6 +9841,12 @@ buffer_atomic_umin v5, off, s[8:11], -1 offset:4095 // CHECK: [0xff,0x0f,0x14,0xe1,0x00,0x05,0x02,0xc1] +buffer_atomic_umin v5, off, s[8:11], 0.5 offset:4095 +// CHECK: [0xff,0x0f,0x14,0xe1,0x00,0x05,0x02,0xf0] + +buffer_atomic_umin v5, off, s[8:11], -4.0 offset:4095 +// CHECK: [0xff,0x0f,0x14,0xe1,0x00,0x05,0x02,0xf7] + buffer_atomic_umin v5, v0, s[8:11], s3 idxen offset:4095 // CHECK: [0xff,0x2f,0x14,0xe1,0x00,0x05,0x02,0x03] @@ -9853,6 +9892,12 @@ buffer_atomic_smax v5, off, s[8:11], -1 offset:4095 // CHECK: [0xff,0x0f,0x18,0xe1,0x00,0x05,0x02,0xc1] +buffer_atomic_smax v5, off, s[8:11], 0.5 offset:4095 +// CHECK: [0xff,0x0f,0x18,0xe1,0x00,0x05,0x02,0xf0] + +buffer_atomic_smax v5, off, s[8:11], -4.0 offset:4095 +// CHECK: [0xff,0x0f,0x18,0xe1,0x00,0x05,0x02,0xf7] + buffer_atomic_smax v5, v0, s[8:11], s3 idxen offset:4095 // CHECK: [0xff,0x2f,0x18,0xe1,0x00,0x05,0x02,0x03] @@ -9898,6 +9943,12 @@ buffer_atomic_umax v5, off, s[8:11], -1 offset:4095 // CHECK: [0xff,0x0f,0x1c,0xe1,0x00,0x05,0x02,0xc1] +buffer_atomic_umax v5, off, s[8:11], 0.5 offset:4095 +// CHECK: [0xff,0x0f,0x1c,0xe1,0x00,0x05,0x02,0xf0] + +buffer_atomic_umax v5, off, s[8:11], -4.0 offset:4095 +// CHECK: [0xff,0x0f,0x1c,0xe1,0x00,0x05,0x02,0xf7] + buffer_atomic_umax v5, v0, s[8:11], s3 idxen offset:4095 // CHECK: [0xff,0x2f,0x1c,0xe1,0x00,0x05,0x02,0x03] @@ -9943,6 +9994,12 @@ buffer_atomic_and v5, off, s[8:11], -1 offset:4095 // CHECK: [0xff,0x0f,0x20,0xe1,0x00,0x05,0x02,0xc1] +buffer_atomic_and v5, off, s[8:11], 0.5 offset:4095 +// CHECK: [0xff,0x0f,0x20,0xe1,0x00,0x05,0x02,0xf0] + +buffer_atomic_and v5, off, s[8:11], -4.0 offset:4095 +// CHECK: [0xff,0x0f,0x20,0xe1,0x00,0x05,0x02,0xf7] + buffer_atomic_and v5, v0, s[8:11], s3 idxen offset:4095 // CHECK: [0xff,0x2f,0x20,0xe1,0x00,0x05,0x02,0x03] @@ -9988,6 +10045,12 @@ buffer_atomic_or v5, off, s[8:11], -1 offset:4095 // CHECK: [0xff,0x0f,0x24,0xe1,0x00,0x05,0x02,0xc1] +buffer_atomic_or v5, off, s[8:11], 0.5 offset:4095 +// CHECK: [0xff,0x0f,0x24,0xe1,0x00,0x05,0x02,0xf0] + +buffer_atomic_or v5, off, s[8:11], -4.0 offset:4095 +// CHECK: [0xff,0x0f,0x24,0xe1,0x00,0x05,0x02,0xf7] + buffer_atomic_or v5, v0, s[8:11], s3 idxen offset:4095 // CHECK: [0xff,0x2f,0x24,0xe1,0x00,0x05,0x02,0x03] @@ -10033,6 +10096,12 @@ buffer_atomic_xor v5, off, s[8:11], -1 offset:4095 // CHECK: [0xff,0x0f,0x28,0xe1,0x00,0x05,0x02,0xc1] +buffer_atomic_xor v5, off, s[8:11], 0.5 offset:4095 +// CHECK: [0xff,0x0f,0x28,0xe1,0x00,0x05,0x02,0xf0] + +buffer_atomic_xor v5, off, s[8:11], -4.0 offset:4095 +// CHECK: [0xff,0x0f,0x28,0xe1,0x00,0x05,0x02,0xf7] + buffer_atomic_xor v5, v0, s[8:11], s3 idxen offset:4095 // CHECK: [0xff,0x2f,0x28,0xe1,0x00,0x05,0x02,0x03] @@ -10078,6 +10147,12 @@ buffer_atomic_inc v5, off, s[8:11], -1 offset:4095 // CHECK: [0xff,0x0f,0x2c,0xe1,0x00,0x05,0x02,0xc1] +buffer_atomic_inc v5, off, s[8:11], 0.5 offset:4095 +// CHECK: [0xff,0x0f,0x2c,0xe1,0x00,0x05,0x02,0xf0] + +buffer_atomic_inc v5, off, s[8:11], -4.0 offset:4095 +// CHECK: [0xff,0x0f,0x2c,0xe1,0x00,0x05,0x02,0xf7] + buffer_atomic_inc v5, v0, s[8:11], s3 idxen offset:4095 // CHECK: [0xff,0x2f,0x2c,0xe1,0x00,0x05,0x02,0x03] @@ -10123,6 +10198,12 @@ buffer_atomic_dec v5, off, s[8:11], -1 offset:4095 // CHECK: [0xff,0x0f,0x30,0xe1,0x00,0x05,0x02,0xc1] +buffer_atomic_dec v5, off, s[8:11], 0.5 offset:4095 +// CHECK: [0xff,0x0f,0x30,0xe1,0x00,0x05,0x02,0xf0] + +buffer_atomic_dec v5, off, s[8:11], -4.0 offset:4095 +// CHECK: [0xff,0x0f,0x30,0xe1,0x00,0x05,0x02,0xf7] + buffer_atomic_dec v5, v0, s[8:11], s3 idxen offset:4095 // CHECK: [0xff,0x2f,0x30,0xe1,0x00,0x05,0x02,0x03] @@ -10168,6 +10249,12 @@ buffer_atomic_swap_x2 v[5:6], off, s[8:11], -1 offset:4095 // CHECK: [0xff,0x0f,0x80,0xe1,0x00,0x05,0x02,0xc1] +buffer_atomic_swap_x2 v[5:6], off, s[8:11], 0.5 offset:4095 +// CHECK: [0xff,0x0f,0x80,0xe1,0x00,0x05,0x02,0xf0] + +buffer_atomic_swap_x2 v[5:6], off, s[8:11], -4.0 offset:4095 +// CHECK: [0xff,0x0f,0x80,0xe1,0x00,0x05,0x02,0xf7] + buffer_atomic_swap_x2 v[5:6], v0, s[8:11], s3 idxen offset:4095 // CHECK: [0xff,0x2f,0x80,0xe1,0x00,0x05,0x02,0x03] @@ -10213,6 +10300,12 @@ buffer_atomic_cmpswap_x2 v[5:8], off, s[8:11], -1 offset:4095 // CHECK: [0xff,0x0f,0x84,0xe1,0x00,0x05,0x02,0xc1] +buffer_atomic_cmpswap_x2 v[5:8], off, s[8:11], 0.5 offset:4095 +// CHECK: [0xff,0x0f,0x84,0xe1,0x00,0x05,0x02,0xf0] + +buffer_atomic_cmpswap_x2 v[5:8], off, s[8:11], -4.0 offset:4095 +// CHECK: [0xff,0x0f,0x84,0xe1,0x00,0x05,0x02,0xf7] + buffer_atomic_cmpswap_x2 v[5:8], v0, s[8:11], s3 idxen offset:4095 // CHECK: [0xff,0x2f,0x84,0xe1,0x00,0x05,0x02,0x03] @@ -10258,6 +10351,12 @@ buffer_atomic_add_x2 v[5:6], off, s[8:11], -1 offset:4095 // CHECK: [0xff,0x0f,0x88,0xe1,0x00,0x05,0x02,0xc1] +buffer_atomic_add_x2 v[5:6], off, s[8:11], 0.5 offset:4095 +// CHECK: [0xff,0x0f,0x88,0xe1,0x00,0x05,0x02,0xf0] + +buffer_atomic_add_x2 v[5:6], off, s[8:11], -4.0 offset:4095 +// CHECK: [0xff,0x0f,0x88,0xe1,0x00,0x05,0x02,0xf7] + buffer_atomic_add_x2 v[5:6], v0, s[8:11], s3 idxen offset:4095 // CHECK: [0xff,0x2f,0x88,0xe1,0x00,0x05,0x02,0x03] @@ -10303,6 +10402,12 @@ buffer_atomic_sub_x2 v[5:6], off, s[8:11], -1 offset:4095 // CHECK: [0xff,0x0f,0x8c,0xe1,0x00,0x05,0x02,0xc1] +buffer_atomic_sub_x2 v[5:6], off, s[8:11], 0.5 offset:4095 +// CHECK: [0xff,0x0f,0x8c,0xe1,0x00,0x05,0x02,0xf0] + +buffer_atomic_sub_x2 v[5:6], off, s[8:11], -4.0 offset:4095 +// CHECK: [0xff,0x0f,0x8c,0xe1,0x00,0x05,0x02,0xf7] + buffer_atomic_sub_x2 v[5:6], v0, s[8:11], s3 idxen offset:4095 // CHECK: [0xff,0x2f,0x8c,0xe1,0x00,0x05,0x02,0x03] @@ -10348,6 +10453,12 @@ buffer_atomic_smin_x2 v[5:6], off, s[8:11], -1 offset:4095 // CHECK: [0xff,0x0f,0x90,0xe1,0x00,0x05,0x02,0xc1] +buffer_atomic_smin_x2 v[5:6], off, s[8:11], 0.5 offset:4095 +// CHECK: [0xff,0x0f,0x90,0xe1,0x00,0x05,0x02,0xf0] + +buffer_atomic_smin_x2 v[5:6], off, s[8:11], -4.0 offset:4095 +// CHECK: [0xff,0x0f,0x90,0xe1,0x00,0x05,0x02,0xf7] + buffer_atomic_smin_x2 v[5:6], v0, s[8:11], s3 idxen offset:4095 // CHECK: [0xff,0x2f,0x90,0xe1,0x00,0x05,0x02,0x03] @@ -10393,6 +10504,12 @@ buffer_atomic_umin_x2 v[5:6], off, s[8:11], -1 offset:4095 // CHECK: [0xff,0x0f,0x94,0xe1,0x00,0x05,0x02,0xc1] +buffer_atomic_umin_x2 v[5:6], off, s[8:11], 0.5 offset:4095 +// CHECK: [0xff,0x0f,0x94,0xe1,0x00,0x05,0x02,0xf0] + +buffer_atomic_umin_x2 v[5:6], off, s[8:11], -4.0 offset:4095 +// CHECK: [0xff,0x0f,0x94,0xe1,0x00,0x05,0x02,0xf7] + buffer_atomic_umin_x2 v[5:6], v0, s[8:11], s3 idxen offset:4095 // CHECK: [0xff,0x2f,0x94,0xe1,0x00,0x05,0x02,0x03] @@ -10438,6 +10555,12 @@ buffer_atomic_smax_x2 v[5:6], off, s[8:11], -1 offset:4095 // CHECK: [0xff,0x0f,0x98,0xe1,0x00,0x05,0x02,0xc1] +buffer_atomic_smax_x2 v[5:6], off, s[8:11], 0.5 offset:4095 +// CHECK: [0xff,0x0f,0x98,0xe1,0x00,0x05,0x02,0xf0] + +buffer_atomic_smax_x2 v[5:6], off, s[8:11], -4.0 offset:4095 +// CHECK: [0xff,0x0f,0x98,0xe1,0x00,0x05,0x02,0xf7] + buffer_atomic_smax_x2 v[5:6], v0, s[8:11], s3 idxen offset:4095 // CHECK: [0xff,0x2f,0x98,0xe1,0x00,0x05,0x02,0x03] @@ -10483,6 +10606,12 @@ buffer_atomic_umax_x2 v[5:6], off, s[8:11], -1 offset:4095 // CHECK: [0xff,0x0f,0x9c,0xe1,0x00,0x05,0x02,0xc1] +buffer_atomic_umax_x2 v[5:6], off, s[8:11], 0.5 offset:4095 +// CHECK: [0xff,0x0f,0x9c,0xe1,0x00,0x05,0x02,0xf0] + +buffer_atomic_umax_x2 v[5:6], off, s[8:11], -4.0 offset:4095 +// CHECK: [0xff,0x0f,0x9c,0xe1,0x00,0x05,0x02,0xf7] + buffer_atomic_umax_x2 v[5:6], v0, s[8:11], s3 idxen offset:4095 // CHECK: [0xff,0x2f,0x9c,0xe1,0x00,0x05,0x02,0x03] @@ -10528,6 +10657,12 @@ buffer_atomic_and_x2 v[5:6], off, s[8:11], -1 offset:4095 // CHECK: [0xff,0x0f,0xa0,0xe1,0x00,0x05,0x02,0xc1] +buffer_atomic_and_x2 v[5:6], off, s[8:11], 0.5 offset:4095 +// CHECK: [0xff,0x0f,0xa0,0xe1,0x00,0x05,0x02,0xf0] + +buffer_atomic_and_x2 v[5:6], off, s[8:11], -4.0 offset:4095 +// CHECK: [0xff,0x0f,0xa0,0xe1,0x00,0x05,0x02,0xf7] + buffer_atomic_and_x2 v[5:6], v0, s[8:11], s3 idxen offset:4095 // CHECK: [0xff,0x2f,0xa0,0xe1,0x00,0x05,0x02,0x03] @@ -10573,6 +10708,12 @@ buffer_atomic_or_x2 v[5:6], off, s[8:11], -1 offset:4095 // CHECK: [0xff,0x0f,0xa4,0xe1,0x00,0x05,0x02,0xc1] +buffer_atomic_or_x2 v[5:6], off, s[8:11], 0.5 offset:4095 +// CHECK: [0xff,0x0f,0xa4,0xe1,0x00,0x05,0x02,0xf0] + +buffer_atomic_or_x2 v[5:6], off, s[8:11], -4.0 offset:4095 +// CHECK: [0xff,0x0f,0xa4,0xe1,0x00,0x05,0x02,0xf7] + buffer_atomic_or_x2 v[5:6], v0, s[8:11], s3 idxen offset:4095 // CHECK: [0xff,0x2f,0xa4,0xe1,0x00,0x05,0x02,0x03] @@ -10618,6 +10759,12 @@ buffer_atomic_xor_x2 v[5:6], off, s[8:11], -1 offset:4095 // CHECK: [0xff,0x0f,0xa8,0xe1,0x00,0x05,0x02,0xc1] +buffer_atomic_xor_x2 v[5:6], off, s[8:11], 0.5 offset:4095 +// CHECK: [0xff,0x0f,0xa8,0xe1,0x00,0x05,0x02,0xf0] + +buffer_atomic_xor_x2 v[5:6], off, s[8:11], -4.0 offset:4095 +// CHECK: [0xff,0x0f,0xa8,0xe1,0x00,0x05,0x02,0xf7] + buffer_atomic_xor_x2 v[5:6], v0, s[8:11], s3 idxen offset:4095 // CHECK: [0xff,0x2f,0xa8,0xe1,0x00,0x05,0x02,0x03] @@ -10663,6 +10810,12 @@ buffer_atomic_inc_x2 v[5:6], off, s[8:11], -1 offset:4095 // CHECK: [0xff,0x0f,0xac,0xe1,0x00,0x05,0x02,0xc1] +buffer_atomic_inc_x2 v[5:6], off, s[8:11], 0.5 offset:4095 +// CHECK: [0xff,0x0f,0xac,0xe1,0x00,0x05,0x02,0xf0] + +buffer_atomic_inc_x2 v[5:6], off, s[8:11], -4.0 offset:4095 +// CHECK: [0xff,0x0f,0xac,0xe1,0x00,0x05,0x02,0xf7] + buffer_atomic_inc_x2 v[5:6], v0, s[8:11], s3 idxen offset:4095 // CHECK: [0xff,0x2f,0xac,0xe1,0x00,0x05,0x02,0x03] @@ -10708,6 +10861,12 @@ buffer_atomic_dec_x2 v[5:6], off, s[8:11], -1 offset:4095 // CHECK: [0xff,0x0f,0xb0,0xe1,0x00,0x05,0x02,0xc1] +buffer_atomic_dec_x2 v[5:6], off, s[8:11], 0.5 offset:4095 +// CHECK: [0xff,0x0f,0xb0,0xe1,0x00,0x05,0x02,0xf0] + +buffer_atomic_dec_x2 v[5:6], off, s[8:11], -4.0 offset:4095 +// CHECK: [0xff,0x0f,0xb0,0xe1,0x00,0x05,0x02,0xf7] + buffer_atomic_dec_x2 v[5:6], v0, s[8:11], s3 idxen offset:4095 // CHECK: [0xff,0x2f,0xb0,0xe1,0x00,0x05,0x02,0x03] @@ -50389,6 +50548,165 @@ v_pack_b32_f16 v5, v1, v2 op_sel:[1,1,1] // CHECK: [0x05,0x58,0xa0,0xd2,0x01,0x05,0x02,0x00] +v_pk_mad_i16 v5, v1, v2, v3 +// CHECK: [0x05,0x40,0x80,0xd3,0x01,0x05,0x0e,0x1c] + +v_pk_mad_i16 v255, v1, v2, v3 +// CHECK: [0xff,0x40,0x80,0xd3,0x01,0x05,0x0e,0x1c] + +v_pk_mad_i16 v5, v255, v2, v3 +// CHECK: [0x05,0x40,0x80,0xd3,0xff,0x05,0x0e,0x1c] + +v_pk_mad_i16 v5, s1, v2, v3 +// CHECK: [0x05,0x40,0x80,0xd3,0x01,0x04,0x0e,0x1c] + +v_pk_mad_i16 v5, s101, v2, v3 +// CHECK: [0x05,0x40,0x80,0xd3,0x65,0x04,0x0e,0x1c] + +v_pk_mad_i16 v5, flat_scratch_lo, v2, v3 +// CHECK: [0x05,0x40,0x80,0xd3,0x66,0x04,0x0e,0x1c] + +v_pk_mad_i16 v5, flat_scratch_hi, v2, v3 +// CHECK: [0x05,0x40,0x80,0xd3,0x67,0x04,0x0e,0x1c] + +v_pk_mad_i16 v5, vcc_lo, v2, v3 +// CHECK: [0x05,0x40,0x80,0xd3,0x6a,0x04,0x0e,0x1c] + +v_pk_mad_i16 v5, vcc_hi, v2, v3 +// CHECK: [0x05,0x40,0x80,0xd3,0x6b,0x04,0x0e,0x1c] + +v_pk_mad_i16 v5, m0, v2, v3 +// CHECK: [0x05,0x40,0x80,0xd3,0x7c,0x04,0x0e,0x1c] + +v_pk_mad_i16 v5, exec_lo, v2, v3 +// CHECK: [0x05,0x40,0x80,0xd3,0x7e,0x04,0x0e,0x1c] + +v_pk_mad_i16 v5, exec_hi, v2, v3 +// CHECK: [0x05,0x40,0x80,0xd3,0x7f,0x04,0x0e,0x1c] + +v_pk_mad_i16 v5, 0, v2, v3 +// CHECK: [0x05,0x40,0x80,0xd3,0x80,0x04,0x0e,0x1c] + +v_pk_mad_i16 v5, -1, v2, v3 +// CHECK: [0x05,0x40,0x80,0xd3,0xc1,0x04,0x0e,0x1c] + +v_pk_mad_i16 v5, 0.5, v2, v3 +// CHECK: [0x05,0x40,0x80,0xd3,0xf0,0x04,0x0e,0x1c] + +v_pk_mad_i16 v5, -4.0, v2, v3 +// CHECK: [0x05,0x40,0x80,0xd3,0xf7,0x04,0x0e,0x1c] + +v_pk_mad_i16 v5, v1, v255, v3 +// CHECK: [0x05,0x40,0x80,0xd3,0x01,0xff,0x0f,0x1c] + +v_pk_mad_i16 v5, v1, s2, v3 +// CHECK: [0x05,0x40,0x80,0xd3,0x01,0x05,0x0c,0x1c] + +v_pk_mad_i16 v5, v1, s101, v3 +// CHECK: [0x05,0x40,0x80,0xd3,0x01,0xcb,0x0c,0x1c] + +v_pk_mad_i16 v5, v1, flat_scratch_lo, v3 +// CHECK: [0x05,0x40,0x80,0xd3,0x01,0xcd,0x0c,0x1c] + +v_pk_mad_i16 v5, v1, flat_scratch_hi, v3 +// CHECK: [0x05,0x40,0x80,0xd3,0x01,0xcf,0x0c,0x1c] + +v_pk_mad_i16 v5, v1, vcc_lo, v3 +// CHECK: [0x05,0x40,0x80,0xd3,0x01,0xd5,0x0c,0x1c] + +v_pk_mad_i16 v5, v1, vcc_hi, v3 +// CHECK: [0x05,0x40,0x80,0xd3,0x01,0xd7,0x0c,0x1c] + +v_pk_mad_i16 v5, v1, m0, v3 +// CHECK: [0x05,0x40,0x80,0xd3,0x01,0xf9,0x0c,0x1c] + +v_pk_mad_i16 v5, v1, exec_lo, v3 +// CHECK: [0x05,0x40,0x80,0xd3,0x01,0xfd,0x0c,0x1c] + +v_pk_mad_i16 v5, v1, exec_hi, v3 +// CHECK: [0x05,0x40,0x80,0xd3,0x01,0xff,0x0c,0x1c] + +v_pk_mad_i16 v5, v1, 0, v3 +// CHECK: [0x05,0x40,0x80,0xd3,0x01,0x01,0x0d,0x1c] + +v_pk_mad_i16 v5, v1, -1, v3 +// CHECK: [0x05,0x40,0x80,0xd3,0x01,0x83,0x0d,0x1c] + +v_pk_mad_i16 v5, v1, 0.5, v3 +// CHECK: [0x05,0x40,0x80,0xd3,0x01,0xe1,0x0d,0x1c] + +v_pk_mad_i16 v5, v1, -4.0, v3 +// CHECK: [0x05,0x40,0x80,0xd3,0x01,0xef,0x0d,0x1c] + +v_pk_mad_i16 v5, v1, v2, v255 +// CHECK: [0x05,0x40,0x80,0xd3,0x01,0x05,0xfe,0x1f] + +v_pk_mad_i16 v5, v1, v2, s3 +// CHECK: [0x05,0x40,0x80,0xd3,0x01,0x05,0x0e,0x18] + +v_pk_mad_i16 v5, v1, v2, s101 +// CHECK: [0x05,0x40,0x80,0xd3,0x01,0x05,0x96,0x19] + +v_pk_mad_i16 v5, v1, v2, flat_scratch_lo +// CHECK: [0x05,0x40,0x80,0xd3,0x01,0x05,0x9a,0x19] + +v_pk_mad_i16 v5, v1, v2, flat_scratch_hi +// CHECK: [0x05,0x40,0x80,0xd3,0x01,0x05,0x9e,0x19] + +v_pk_mad_i16 v5, v1, v2, vcc_lo +// CHECK: [0x05,0x40,0x80,0xd3,0x01,0x05,0xaa,0x19] + +v_pk_mad_i16 v5, v1, v2, vcc_hi +// CHECK: [0x05,0x40,0x80,0xd3,0x01,0x05,0xae,0x19] + +v_pk_mad_i16 v5, v1, v2, m0 +// CHECK: [0x05,0x40,0x80,0xd3,0x01,0x05,0xf2,0x19] + +v_pk_mad_i16 v5, v1, v2, exec_lo +// CHECK: [0x05,0x40,0x80,0xd3,0x01,0x05,0xfa,0x19] + +v_pk_mad_i16 v5, v1, v2, exec_hi +// CHECK: [0x05,0x40,0x80,0xd3,0x01,0x05,0xfe,0x19] + +v_pk_mad_i16 v5, v1, v2, 0 +// CHECK: [0x05,0x40,0x80,0xd3,0x01,0x05,0x02,0x1a] + +v_pk_mad_i16 v5, v1, v2, -1 +// CHECK: [0x05,0x40,0x80,0xd3,0x01,0x05,0x06,0x1b] + +v_pk_mad_i16 v5, v1, v2, 0.5 +// CHECK: [0x05,0x40,0x80,0xd3,0x01,0x05,0xc2,0x1b] + +v_pk_mad_i16 v5, v1, v2, -4.0 +// CHECK: [0x05,0x40,0x80,0xd3,0x01,0x05,0xde,0x1b] + +v_pk_mad_i16 v5, v1, v2, v3 op_sel:[1,0,0] +// CHECK: [0x05,0x48,0x80,0xd3,0x01,0x05,0x0e,0x1c] + +v_pk_mad_i16 v5, v1, v2, v3 op_sel:[0,1,0] +// CHECK: [0x05,0x50,0x80,0xd3,0x01,0x05,0x0e,0x1c] + +v_pk_mad_i16 v5, v1, v2, v3 op_sel:[0,0,1] +// CHECK: [0x05,0x60,0x80,0xd3,0x01,0x05,0x0e,0x1c] + +v_pk_mad_i16 v5, v1, v2, v3 op_sel:[1,1,1] +// CHECK: [0x05,0x78,0x80,0xd3,0x01,0x05,0x0e,0x1c] + +v_pk_mad_i16 v5, v1, v2, v3 op_sel_hi:[0,0,0] +// CHECK: [0x05,0x00,0x80,0xd3,0x01,0x05,0x0e,0x04] + +v_pk_mad_i16 v5, v1, v2, v3 op_sel_hi:[1,0,0] +// CHECK: [0x05,0x00,0x80,0xd3,0x01,0x05,0x0e,0x0c] + +v_pk_mad_i16 v5, v1, v2, v3 op_sel_hi:[0,1,0] +// CHECK: [0x05,0x00,0x80,0xd3,0x01,0x05,0x0e,0x14] + +v_pk_mad_i16 v5, v1, v2, v3 op_sel_hi:[0,0,1] +// CHECK: [0x05,0x40,0x80,0xd3,0x01,0x05,0x0e,0x04] + +v_pk_mad_i16 v5, v1, v2, v3 clamp +// CHECK: [0x05,0xc0,0x80,0xd3,0x01,0x05,0x0e,0x1c] + v_pk_mul_lo_u16 v5, v1, v2 // CHECK: [0x05,0x00,0x81,0xd3,0x01,0x05,0x02,0x18] @@ -50425,6 +50743,18 @@ v_pk_mul_lo_u16 v5, exec_hi, v2 // CHECK: [0x05,0x00,0x81,0xd3,0x7f,0x04,0x02,0x18] +v_pk_mul_lo_u16 v5, 0, v2 +// CHECK: [0x05,0x00,0x81,0xd3,0x80,0x04,0x02,0x18] + +v_pk_mul_lo_u16 v5, -1, v2 +// CHECK: [0x05,0x00,0x81,0xd3,0xc1,0x04,0x02,0x18] + +v_pk_mul_lo_u16 v5, 0.5, v2 +// CHECK: [0x05,0x00,0x81,0xd3,0xf0,0x04,0x02,0x18] + +v_pk_mul_lo_u16 v5, -4.0, v2 +// CHECK: [0x05,0x00,0x81,0xd3,0xf7,0x04,0x02,0x18] + v_pk_mul_lo_u16 v5, v1, v255 // CHECK: [0x05,0x00,0x81,0xd3,0x01,0xff,0x03,0x18] @@ -50458,6 +50788,18 @@ v_pk_mul_lo_u16 v5, v1, v2 op_sel:[0,0] // CHECK: [0x05,0x00,0x81,0xd3,0x01,0x05,0x02,0x18] +v_pk_mul_lo_u16 v5, v1, 0 +// CHECK: [0x05,0x00,0x81,0xd3,0x01,0x01,0x01,0x18] + +v_pk_mul_lo_u16 v5, v1, -1 +// CHECK: [0x05,0x00,0x81,0xd3,0x01,0x83,0x01,0x18] + +v_pk_mul_lo_u16 v5, v1, 0.5 +// CHECK: [0x05,0x00,0x81,0xd3,0x01,0xe1,0x01,0x18] + +v_pk_mul_lo_u16 v5, v1, -4.0 +// CHECK: [0x05,0x00,0x81,0xd3,0x01,0xef,0x01,0x18] + v_pk_mul_lo_u16 v5, v1, v2 op_sel:[1,0] // CHECK: [0x05,0x08,0x81,0xd3,0x01,0x05,0x02,0x18] @@ -50515,6 +50857,18 @@ v_pk_add_i16 v5, exec_hi, v2 // CHECK: [0x05,0x00,0x82,0xd3,0x7f,0x04,0x02,0x18] +v_pk_add_i16 v5, 0, v2 +// CHECK: [0x05,0x00,0x82,0xd3,0x80,0x04,0x02,0x18] + +v_pk_add_i16 v5, -1, v2 +// CHECK: [0x05,0x00,0x82,0xd3,0xc1,0x04,0x02,0x18] + +v_pk_add_i16 v5, 0.5, v2 +// CHECK: [0x05,0x00,0x82,0xd3,0xf0,0x04,0x02,0x18] + +v_pk_add_i16 v5, -4.0, v2 +// CHECK: [0x05,0x00,0x82,0xd3,0xf7,0x04,0x02,0x18] + v_pk_add_i16 v5, v1, v255 // CHECK: [0x05,0x00,0x82,0xd3,0x01,0xff,0x03,0x18] @@ -50548,6 +50902,18 @@ v_pk_add_i16 v5, v1, v2 op_sel:[0,0] // CHECK: [0x05,0x00,0x82,0xd3,0x01,0x05,0x02,0x18] +v_pk_add_i16 v5, v1, 0 +// CHECK: [0x05,0x00,0x82,0xd3,0x01,0x01,0x01,0x18] + +v_pk_add_i16 v5, v1, -1 +// CHECK: [0x05,0x00,0x82,0xd3,0x01,0x83,0x01,0x18] + +v_pk_add_i16 v5, v1, 0.5 +// CHECK: [0x05,0x00,0x82,0xd3,0x01,0xe1,0x01,0x18] + +v_pk_add_i16 v5, v1, -4.0 +// CHECK: [0x05,0x00,0x82,0xd3,0x01,0xef,0x01,0x18] + v_pk_add_i16 v5, v1, v2 op_sel:[1,0] // CHECK: [0x05,0x08,0x82,0xd3,0x01,0x05,0x02,0x18] @@ -50608,6 +50974,18 @@ v_pk_sub_i16 v5, exec_hi, v2 // CHECK: [0x05,0x00,0x83,0xd3,0x7f,0x04,0x02,0x18] +v_pk_sub_i16 v5, 0, v2 +// CHECK: [0x05,0x00,0x83,0xd3,0x80,0x04,0x02,0x18] + +v_pk_sub_i16 v5, -1, v2 +// CHECK: [0x05,0x00,0x83,0xd3,0xc1,0x04,0x02,0x18] + +v_pk_sub_i16 v5, 0.5, v2 +// CHECK: [0x05,0x00,0x83,0xd3,0xf0,0x04,0x02,0x18] + +v_pk_sub_i16 v5, -4.0, v2 +// CHECK: [0x05,0x00,0x83,0xd3,0xf7,0x04,0x02,0x18] + v_pk_sub_i16 v5, v1, v255 // CHECK: [0x05,0x00,0x83,0xd3,0x01,0xff,0x03,0x18] @@ -50641,6 +51019,18 @@ v_pk_sub_i16 v5, v1, v2 op_sel:[0,0] // CHECK: [0x05,0x00,0x83,0xd3,0x01,0x05,0x02,0x18] +v_pk_sub_i16 v5, v1, 0 +// CHECK: [0x05,0x00,0x83,0xd3,0x01,0x01,0x01,0x18] + +v_pk_sub_i16 v5, v1, -1 +// CHECK: [0x05,0x00,0x83,0xd3,0x01,0x83,0x01,0x18] + +v_pk_sub_i16 v5, v1, 0.5 +// CHECK: [0x05,0x00,0x83,0xd3,0x01,0xe1,0x01,0x18] + +v_pk_sub_i16 v5, v1, -4.0 +// CHECK: [0x05,0x00,0x83,0xd3,0x01,0xef,0x01,0x18] + v_pk_sub_i16 v5, v1, v2 op_sel:[1,0] // CHECK: [0x05,0x08,0x83,0xd3,0x01,0x05,0x02,0x18] @@ -50701,6 +51091,18 @@ v_pk_lshlrev_b16 v5, exec_hi, v2 // CHECK: [0x05,0x00,0x84,0xd3,0x7f,0x04,0x02,0x18] +v_pk_lshlrev_b16 v5, 0, v2 +// CHECK: [0x05,0x00,0x84,0xd3,0x80,0x04,0x02,0x18] + +v_pk_lshlrev_b16 v5, -1, v2 +// CHECK: [0x05,0x00,0x84,0xd3,0xc1,0x04,0x02,0x18] + +v_pk_lshlrev_b16 v5, 0.5, v2 +// CHECK: [0x05,0x00,0x84,0xd3,0xf0,0x04,0x02,0x18] + +v_pk_lshlrev_b16 v5, -4.0, v2 +// CHECK: [0x05,0x00,0x84,0xd3,0xf7,0x04,0x02,0x18] + v_pk_lshlrev_b16 v5, v1, v255 // CHECK: [0x05,0x00,0x84,0xd3,0x01,0xff,0x03,0x18] @@ -50734,6 +51136,18 @@ v_pk_lshlrev_b16 v5, v1, v2 op_sel:[0,0] // CHECK: [0x05,0x00,0x84,0xd3,0x01,0x05,0x02,0x18] +v_pk_lshlrev_b16 v5, v1, 0 +// CHECK: [0x05,0x00,0x84,0xd3,0x01,0x01,0x01,0x18] + +v_pk_lshlrev_b16 v5, v1, -1 +// CHECK: [0x05,0x00,0x84,0xd3,0x01,0x83,0x01,0x18] + +v_pk_lshlrev_b16 v5, v1, 0.5 +// CHECK: [0x05,0x00,0x84,0xd3,0x01,0xe1,0x01,0x18] + +v_pk_lshlrev_b16 v5, v1, -4.0 +// CHECK: [0x05,0x00,0x84,0xd3,0x01,0xef,0x01,0x18] + v_pk_lshlrev_b16 v5, v1, v2 op_sel:[1,0] // CHECK: [0x05,0x08,0x84,0xd3,0x01,0x05,0x02,0x18] @@ -50791,6 +51205,18 @@ v_pk_lshrrev_b16 v5, exec_hi, v2 // CHECK: [0x05,0x00,0x85,0xd3,0x7f,0x04,0x02,0x18] +v_pk_lshrrev_b16 v5, 0, v2 +// CHECK: [0x05,0x00,0x85,0xd3,0x80,0x04,0x02,0x18] + +v_pk_lshrrev_b16 v5, -1, v2 +// CHECK: [0x05,0x00,0x85,0xd3,0xc1,0x04,0x02,0x18] + +v_pk_lshrrev_b16 v5, 0.5, v2 +// CHECK: [0x05,0x00,0x85,0xd3,0xf0,0x04,0x02,0x18] + +v_pk_lshrrev_b16 v5, -4.0, v2 +// CHECK: [0x05,0x00,0x85,0xd3,0xf7,0x04,0x02,0x18] + v_pk_lshrrev_b16 v5, v1, v255 // CHECK: [0x05,0x00,0x85,0xd3,0x01,0xff,0x03,0x18] @@ -50824,6 +51250,18 @@ v_pk_lshrrev_b16 v5, v1, v2 op_sel:[0,0] // CHECK: [0x05,0x00,0x85,0xd3,0x01,0x05,0x02,0x18] +v_pk_lshrrev_b16 v5, v1, 0 +// CHECK: [0x05,0x00,0x85,0xd3,0x01,0x01,0x01,0x18] + +v_pk_lshrrev_b16 v5, v1, -1 +// CHECK: [0x05,0x00,0x85,0xd3,0x01,0x83,0x01,0x18] + +v_pk_lshrrev_b16 v5, v1, 0.5 +// CHECK: [0x05,0x00,0x85,0xd3,0x01,0xe1,0x01,0x18] + +v_pk_lshrrev_b16 v5, v1, -4.0 +// CHECK: [0x05,0x00,0x85,0xd3,0x01,0xef,0x01,0x18] + v_pk_lshrrev_b16 v5, v1, v2 op_sel:[1,0] // CHECK: [0x05,0x08,0x85,0xd3,0x01,0x05,0x02,0x18] @@ -50881,6 +51319,18 @@ v_pk_ashrrev_i16 v5, exec_hi, v2 // CHECK: [0x05,0x00,0x86,0xd3,0x7f,0x04,0x02,0x18] +v_pk_ashrrev_i16 v5, 0, v2 +// CHECK: [0x05,0x00,0x86,0xd3,0x80,0x04,0x02,0x18] + +v_pk_ashrrev_i16 v5, -1, v2 +// CHECK: [0x05,0x00,0x86,0xd3,0xc1,0x04,0x02,0x18] + +v_pk_ashrrev_i16 v5, 0.5, v2 +// CHECK: [0x05,0x00,0x86,0xd3,0xf0,0x04,0x02,0x18] + +v_pk_ashrrev_i16 v5, -4.0, v2 +// CHECK: [0x05,0x00,0x86,0xd3,0xf7,0x04,0x02,0x18] + v_pk_ashrrev_i16 v5, v1, v255 // CHECK: [0x05,0x00,0x86,0xd3,0x01,0xff,0x03,0x18] @@ -50914,6 +51364,18 @@ v_pk_ashrrev_i16 v5, v1, v2 op_sel:[0,0] // CHECK: [0x05,0x00,0x86,0xd3,0x01,0x05,0x02,0x18] +v_pk_ashrrev_i16 v5, v1, 0 +// CHECK: [0x05,0x00,0x86,0xd3,0x01,0x01,0x01,0x18] + +v_pk_ashrrev_i16 v5, v1, -1 +// CHECK: [0x05,0x00,0x86,0xd3,0x01,0x83,0x01,0x18] + +v_pk_ashrrev_i16 v5, v1, 0.5 +// CHECK: [0x05,0x00,0x86,0xd3,0x01,0xe1,0x01,0x18] + +v_pk_ashrrev_i16 v5, v1, -4.0 +// CHECK: [0x05,0x00,0x86,0xd3,0x01,0xef,0x01,0x18] + v_pk_ashrrev_i16 v5, v1, v2 op_sel:[1,0] // CHECK: [0x05,0x08,0x86,0xd3,0x01,0x05,0x02,0x18] @@ -50971,6 +51433,18 @@ v_pk_max_i16 v5, exec_hi, v2 // CHECK: [0x05,0x00,0x87,0xd3,0x7f,0x04,0x02,0x18] +v_pk_max_i16 v5, 0, v2 +// CHECK: [0x05,0x00,0x87,0xd3,0x80,0x04,0x02,0x18] + +v_pk_max_i16 v5, -1, v2 +// CHECK: [0x05,0x00,0x87,0xd3,0xc1,0x04,0x02,0x18] + +v_pk_max_i16 v5, 0.5, v2 +// CHECK: [0x05,0x00,0x87,0xd3,0xf0,0x04,0x02,0x18] + +v_pk_max_i16 v5, -4.0, v2 +// CHECK: [0x05,0x00,0x87,0xd3,0xf7,0x04,0x02,0x18] + v_pk_max_i16 v5, v1, v255 // CHECK: [0x05,0x00,0x87,0xd3,0x01,0xff,0x03,0x18] @@ -51004,6 +51478,18 @@ v_pk_max_i16 v5, v1, v2 op_sel:[0,0] // CHECK: [0x05,0x00,0x87,0xd3,0x01,0x05,0x02,0x18] +v_pk_max_i16 v5, v1, 0 +// CHECK: [0x05,0x00,0x87,0xd3,0x01,0x01,0x01,0x18] + +v_pk_max_i16 v5, v1, -1 +// CHECK: [0x05,0x00,0x87,0xd3,0x01,0x83,0x01,0x18] + +v_pk_max_i16 v5, v1, 0.5 +// CHECK: [0x05,0x00,0x87,0xd3,0x01,0xe1,0x01,0x18] + +v_pk_max_i16 v5, v1, -4.0 +// CHECK: [0x05,0x00,0x87,0xd3,0x01,0xef,0x01,0x18] + v_pk_max_i16 v5, v1, v2 op_sel:[1,0] // CHECK: [0x05,0x08,0x87,0xd3,0x01,0x05,0x02,0x18] @@ -51061,6 +51547,18 @@ v_pk_min_i16 v5, exec_hi, v2 // CHECK: [0x05,0x00,0x88,0xd3,0x7f,0x04,0x02,0x18] +v_pk_min_i16 v5, 0, v2 +// CHECK: [0x05,0x00,0x88,0xd3,0x80,0x04,0x02,0x18] + +v_pk_min_i16 v5, -1, v2 +// CHECK: [0x05,0x00,0x88,0xd3,0xc1,0x04,0x02,0x18] + +v_pk_min_i16 v5, 0.5, v2 +// CHECK: [0x05,0x00,0x88,0xd3,0xf0,0x04,0x02,0x18] + +v_pk_min_i16 v5, -4.0, v2 +// CHECK: [0x05,0x00,0x88,0xd3,0xf7,0x04,0x02,0x18] + v_pk_min_i16 v5, v1, v255 // CHECK: [0x05,0x00,0x88,0xd3,0x01,0xff,0x03,0x18] @@ -51094,6 +51592,18 @@ v_pk_min_i16 v5, v1, v2 op_sel:[0,0] // CHECK: [0x05,0x00,0x88,0xd3,0x01,0x05,0x02,0x18] +v_pk_min_i16 v5, v1, 0 +// CHECK: [0x05,0x00,0x88,0xd3,0x01,0x01,0x01,0x18] + +v_pk_min_i16 v5, v1, -1 +// CHECK: [0x05,0x00,0x88,0xd3,0x01,0x83,0x01,0x18] + +v_pk_min_i16 v5, v1, 0.5 +// CHECK: [0x05,0x00,0x88,0xd3,0x01,0xe1,0x01,0x18] + +v_pk_min_i16 v5, v1, -4.0 +// CHECK: [0x05,0x00,0x88,0xd3,0x01,0xef,0x01,0x18] + v_pk_min_i16 v5, v1, v2 op_sel:[1,0] // CHECK: [0x05,0x08,0x88,0xd3,0x01,0x05,0x02,0x18] @@ -51115,6 +51625,165 @@ v_pk_min_i16 v5, v1, v2 op_sel_hi:[0,1] // CHECK: [0x05,0x00,0x88,0xd3,0x01,0x05,0x02,0x10] +v_pk_mad_u16 v5, v1, v2, v3 +// CHECK: [0x05,0x40,0x89,0xd3,0x01,0x05,0x0e,0x1c] + +v_pk_mad_u16 v255, v1, v2, v3 +// CHECK: [0xff,0x40,0x89,0xd3,0x01,0x05,0x0e,0x1c] + +v_pk_mad_u16 v5, v255, v2, v3 +// CHECK: [0x05,0x40,0x89,0xd3,0xff,0x05,0x0e,0x1c] + +v_pk_mad_u16 v5, s1, v2, v3 +// CHECK: [0x05,0x40,0x89,0xd3,0x01,0x04,0x0e,0x1c] + +v_pk_mad_u16 v5, s101, v2, v3 +// CHECK: [0x05,0x40,0x89,0xd3,0x65,0x04,0x0e,0x1c] + +v_pk_mad_u16 v5, flat_scratch_lo, v2, v3 +// CHECK: [0x05,0x40,0x89,0xd3,0x66,0x04,0x0e,0x1c] + +v_pk_mad_u16 v5, flat_scratch_hi, v2, v3 +// CHECK: [0x05,0x40,0x89,0xd3,0x67,0x04,0x0e,0x1c] + +v_pk_mad_u16 v5, vcc_lo, v2, v3 +// CHECK: [0x05,0x40,0x89,0xd3,0x6a,0x04,0x0e,0x1c] + +v_pk_mad_u16 v5, vcc_hi, v2, v3 +// CHECK: [0x05,0x40,0x89,0xd3,0x6b,0x04,0x0e,0x1c] + +v_pk_mad_u16 v5, m0, v2, v3 +// CHECK: [0x05,0x40,0x89,0xd3,0x7c,0x04,0x0e,0x1c] + +v_pk_mad_u16 v5, exec_lo, v2, v3 +// CHECK: [0x05,0x40,0x89,0xd3,0x7e,0x04,0x0e,0x1c] + +v_pk_mad_u16 v5, exec_hi, v2, v3 +// CHECK: [0x05,0x40,0x89,0xd3,0x7f,0x04,0x0e,0x1c] + +v_pk_mad_u16 v5, 0, v2, v3 +// CHECK: [0x05,0x40,0x89,0xd3,0x80,0x04,0x0e,0x1c] + +v_pk_mad_u16 v5, -1, v2, v3 +// CHECK: [0x05,0x40,0x89,0xd3,0xc1,0x04,0x0e,0x1c] + +v_pk_mad_u16 v5, 0.5, v2, v3 +// CHECK: [0x05,0x40,0x89,0xd3,0xf0,0x04,0x0e,0x1c] + +v_pk_mad_u16 v5, -4.0, v2, v3 +// CHECK: [0x05,0x40,0x89,0xd3,0xf7,0x04,0x0e,0x1c] + +v_pk_mad_u16 v5, v1, v255, v3 +// CHECK: [0x05,0x40,0x89,0xd3,0x01,0xff,0x0f,0x1c] + +v_pk_mad_u16 v5, v1, s2, v3 +// CHECK: [0x05,0x40,0x89,0xd3,0x01,0x05,0x0c,0x1c] + +v_pk_mad_u16 v5, v1, s101, v3 +// CHECK: [0x05,0x40,0x89,0xd3,0x01,0xcb,0x0c,0x1c] + +v_pk_mad_u16 v5, v1, flat_scratch_lo, v3 +// CHECK: [0x05,0x40,0x89,0xd3,0x01,0xcd,0x0c,0x1c] + +v_pk_mad_u16 v5, v1, flat_scratch_hi, v3 +// CHECK: [0x05,0x40,0x89,0xd3,0x01,0xcf,0x0c,0x1c] + +v_pk_mad_u16 v5, v1, vcc_lo, v3 +// CHECK: [0x05,0x40,0x89,0xd3,0x01,0xd5,0x0c,0x1c] + +v_pk_mad_u16 v5, v1, vcc_hi, v3 +// CHECK: [0x05,0x40,0x89,0xd3,0x01,0xd7,0x0c,0x1c] + +v_pk_mad_u16 v5, v1, m0, v3 +// CHECK: [0x05,0x40,0x89,0xd3,0x01,0xf9,0x0c,0x1c] + +v_pk_mad_u16 v5, v1, exec_lo, v3 +// CHECK: [0x05,0x40,0x89,0xd3,0x01,0xfd,0x0c,0x1c] + +v_pk_mad_u16 v5, v1, exec_hi, v3 +// CHECK: [0x05,0x40,0x89,0xd3,0x01,0xff,0x0c,0x1c] + +v_pk_mad_u16 v5, v1, 0, v3 +// CHECK: [0x05,0x40,0x89,0xd3,0x01,0x01,0x0d,0x1c] + +v_pk_mad_u16 v5, v1, -1, v3 +// CHECK: [0x05,0x40,0x89,0xd3,0x01,0x83,0x0d,0x1c] + +v_pk_mad_u16 v5, v1, 0.5, v3 +// CHECK: [0x05,0x40,0x89,0xd3,0x01,0xe1,0x0d,0x1c] + +v_pk_mad_u16 v5, v1, -4.0, v3 +// CHECK: [0x05,0x40,0x89,0xd3,0x01,0xef,0x0d,0x1c] + +v_pk_mad_u16 v5, v1, v2, v255 +// CHECK: [0x05,0x40,0x89,0xd3,0x01,0x05,0xfe,0x1f] + +v_pk_mad_u16 v5, v1, v2, s3 +// CHECK: [0x05,0x40,0x89,0xd3,0x01,0x05,0x0e,0x18] + +v_pk_mad_u16 v5, v1, v2, s101 +// CHECK: [0x05,0x40,0x89,0xd3,0x01,0x05,0x96,0x19] + +v_pk_mad_u16 v5, v1, v2, flat_scratch_lo +// CHECK: [0x05,0x40,0x89,0xd3,0x01,0x05,0x9a,0x19] + +v_pk_mad_u16 v5, v1, v2, flat_scratch_hi +// CHECK: [0x05,0x40,0x89,0xd3,0x01,0x05,0x9e,0x19] + +v_pk_mad_u16 v5, v1, v2, vcc_lo +// CHECK: [0x05,0x40,0x89,0xd3,0x01,0x05,0xaa,0x19] + +v_pk_mad_u16 v5, v1, v2, vcc_hi +// CHECK: [0x05,0x40,0x89,0xd3,0x01,0x05,0xae,0x19] + +v_pk_mad_u16 v5, v1, v2, m0 +// CHECK: [0x05,0x40,0x89,0xd3,0x01,0x05,0xf2,0x19] + +v_pk_mad_u16 v5, v1, v2, exec_lo +// CHECK: [0x05,0x40,0x89,0xd3,0x01,0x05,0xfa,0x19] + +v_pk_mad_u16 v5, v1, v2, exec_hi +// CHECK: [0x05,0x40,0x89,0xd3,0x01,0x05,0xfe,0x19] + +v_pk_mad_u16 v5, v1, v2, 0 +// CHECK: [0x05,0x40,0x89,0xd3,0x01,0x05,0x02,0x1a] + +v_pk_mad_u16 v5, v1, v2, -1 +// CHECK: [0x05,0x40,0x89,0xd3,0x01,0x05,0x06,0x1b] + +v_pk_mad_u16 v5, v1, v2, 0.5 +// CHECK: [0x05,0x40,0x89,0xd3,0x01,0x05,0xc2,0x1b] + +v_pk_mad_u16 v5, v1, v2, -4.0 +// CHECK: [0x05,0x40,0x89,0xd3,0x01,0x05,0xde,0x1b] + +v_pk_mad_u16 v5, v1, v2, v3 op_sel:[1,0,0] +// CHECK: [0x05,0x48,0x89,0xd3,0x01,0x05,0x0e,0x1c] + +v_pk_mad_u16 v5, v1, v2, v3 op_sel:[0,1,0] +// CHECK: [0x05,0x50,0x89,0xd3,0x01,0x05,0x0e,0x1c] + +v_pk_mad_u16 v5, v1, v2, v3 op_sel:[0,0,1] +// CHECK: [0x05,0x60,0x89,0xd3,0x01,0x05,0x0e,0x1c] + +v_pk_mad_u16 v5, v1, v2, v3 op_sel:[1,1,1] +// CHECK: [0x05,0x78,0x89,0xd3,0x01,0x05,0x0e,0x1c] + +v_pk_mad_u16 v5, v1, v2, v3 op_sel_hi:[0,0,0] +// CHECK: [0x05,0x00,0x89,0xd3,0x01,0x05,0x0e,0x04] + +v_pk_mad_u16 v5, v1, v2, v3 op_sel_hi:[1,0,0] +// CHECK: [0x05,0x00,0x89,0xd3,0x01,0x05,0x0e,0x0c] + +v_pk_mad_u16 v5, v1, v2, v3 op_sel_hi:[0,1,0] +// CHECK: [0x05,0x00,0x89,0xd3,0x01,0x05,0x0e,0x14] + +v_pk_mad_u16 v5, v1, v2, v3 op_sel_hi:[0,0,1] +// CHECK: [0x05,0x40,0x89,0xd3,0x01,0x05,0x0e,0x04] + +v_pk_mad_u16 v5, v1, v2, v3 clamp +// CHECK: [0x05,0xc0,0x89,0xd3,0x01,0x05,0x0e,0x1c] + v_pk_add_u16 v5, v1, v2 // CHECK: [0x05,0x00,0x8a,0xd3,0x01,0x05,0x02,0x18] @@ -51151,6 +51820,18 @@ v_pk_add_u16 v5, exec_hi, v2 // CHECK: [0x05,0x00,0x8a,0xd3,0x7f,0x04,0x02,0x18] +v_pk_add_u16 v5, 0, v2 +// CHECK: [0x05,0x00,0x8a,0xd3,0x80,0x04,0x02,0x18] + +v_pk_add_u16 v5, -1, v2 +// CHECK: [0x05,0x00,0x8a,0xd3,0xc1,0x04,0x02,0x18] + +v_pk_add_u16 v5, 0.5, v2 +// CHECK: [0x05,0x00,0x8a,0xd3,0xf0,0x04,0x02,0x18] + +v_pk_add_u16 v5, -4.0, v2 +// CHECK: [0x05,0x00,0x8a,0xd3,0xf7,0x04,0x02,0x18] + v_pk_add_u16 v5, v1, v255 // CHECK: [0x05,0x00,0x8a,0xd3,0x01,0xff,0x03,0x18] @@ -51184,6 +51865,18 @@ v_pk_add_u16 v5, v1, v2 op_sel:[0,0] // CHECK: [0x05,0x00,0x8a,0xd3,0x01,0x05,0x02,0x18] +v_pk_add_u16 v5, v1, 0 +// CHECK: [0x05,0x00,0x8a,0xd3,0x01,0x01,0x01,0x18] + +v_pk_add_u16 v5, v1, -1 +// CHECK: [0x05,0x00,0x8a,0xd3,0x01,0x83,0x01,0x18] + +v_pk_add_u16 v5, v1, 0.5 +// CHECK: [0x05,0x00,0x8a,0xd3,0x01,0xe1,0x01,0x18] + +v_pk_add_u16 v5, v1, -4.0 +// CHECK: [0x05,0x00,0x8a,0xd3,0x01,0xef,0x01,0x18] + v_pk_add_u16 v5, v1, v2 op_sel:[1,0] // CHECK: [0x05,0x08,0x8a,0xd3,0x01,0x05,0x02,0x18] @@ -51244,6 +51937,18 @@ v_pk_sub_u16 v5, exec_hi, v2 // CHECK: [0x05,0x00,0x8b,0xd3,0x7f,0x04,0x02,0x18] +v_pk_sub_u16 v5, 0, v2 +// CHECK: [0x05,0x00,0x8b,0xd3,0x80,0x04,0x02,0x18] + +v_pk_sub_u16 v5, -1, v2 +// CHECK: [0x05,0x00,0x8b,0xd3,0xc1,0x04,0x02,0x18] + +v_pk_sub_u16 v5, 0.5, v2 +// CHECK: [0x05,0x00,0x8b,0xd3,0xf0,0x04,0x02,0x18] + +v_pk_sub_u16 v5, -4.0, v2 +// CHECK: [0x05,0x00,0x8b,0xd3,0xf7,0x04,0x02,0x18] + v_pk_sub_u16 v5, v1, v255 // CHECK: [0x05,0x00,0x8b,0xd3,0x01,0xff,0x03,0x18] @@ -51277,6 +51982,18 @@ v_pk_sub_u16 v5, v1, v2 op_sel:[0,0] // CHECK: [0x05,0x00,0x8b,0xd3,0x01,0x05,0x02,0x18] +v_pk_sub_u16 v5, v1, 0 +// CHECK: [0x05,0x00,0x8b,0xd3,0x01,0x01,0x01,0x18] + +v_pk_sub_u16 v5, v1, -1 +// CHECK: [0x05,0x00,0x8b,0xd3,0x01,0x83,0x01,0x18] + +v_pk_sub_u16 v5, v1, 0.5 +// CHECK: [0x05,0x00,0x8b,0xd3,0x01,0xe1,0x01,0x18] + +v_pk_sub_u16 v5, v1, -4.0 +// CHECK: [0x05,0x00,0x8b,0xd3,0x01,0xef,0x01,0x18] + v_pk_sub_u16 v5, v1, v2 op_sel:[1,0] // CHECK: [0x05,0x08,0x8b,0xd3,0x01,0x05,0x02,0x18] @@ -51337,6 +52054,18 @@ v_pk_max_u16 v5, exec_hi, v2 // CHECK: [0x05,0x00,0x8c,0xd3,0x7f,0x04,0x02,0x18] +v_pk_max_u16 v5, 0, v2 +// CHECK: [0x05,0x00,0x8c,0xd3,0x80,0x04,0x02,0x18] + +v_pk_max_u16 v5, -1, v2 +// CHECK: [0x05,0x00,0x8c,0xd3,0xc1,0x04,0x02,0x18] + +v_pk_max_u16 v5, 0.5, v2 +// CHECK: [0x05,0x00,0x8c,0xd3,0xf0,0x04,0x02,0x18] + +v_pk_max_u16 v5, -4.0, v2 +// CHECK: [0x05,0x00,0x8c,0xd3,0xf7,0x04,0x02,0x18] + v_pk_max_u16 v5, v1, v255 // CHECK: [0x05,0x00,0x8c,0xd3,0x01,0xff,0x03,0x18] @@ -51370,6 +52099,18 @@ v_pk_max_u16 v5, v1, v2 op_sel:[0,0] // CHECK: [0x05,0x00,0x8c,0xd3,0x01,0x05,0x02,0x18] +v_pk_max_u16 v5, v1, 0 +// CHECK: [0x05,0x00,0x8c,0xd3,0x01,0x01,0x01,0x18] + +v_pk_max_u16 v5, v1, -1 +// CHECK: [0x05,0x00,0x8c,0xd3,0x01,0x83,0x01,0x18] + +v_pk_max_u16 v5, v1, 0.5 +// CHECK: [0x05,0x00,0x8c,0xd3,0x01,0xe1,0x01,0x18] + +v_pk_max_u16 v5, v1, -4.0 +// CHECK: [0x05,0x00,0x8c,0xd3,0x01,0xef,0x01,0x18] + v_pk_max_u16 v5, v1, v2 op_sel:[1,0] // CHECK: [0x05,0x08,0x8c,0xd3,0x01,0x05,0x02,0x18] @@ -51427,6 +52168,18 @@ v_pk_min_u16 v5, exec_hi, v2 // CHECK: [0x05,0x00,0x8d,0xd3,0x7f,0x04,0x02,0x18] +v_pk_min_u16 v5, 0, v2 +// CHECK: [0x05,0x00,0x8d,0xd3,0x80,0x04,0x02,0x18] + +v_pk_min_u16 v5, -1, v2 +// CHECK: [0x05,0x00,0x8d,0xd3,0xc1,0x04,0x02,0x18] + +v_pk_min_u16 v5, 0.5, v2 +// CHECK: [0x05,0x00,0x8d,0xd3,0xf0,0x04,0x02,0x18] + +v_pk_min_u16 v5, -4.0, v2 +// CHECK: [0x05,0x00,0x8d,0xd3,0xf7,0x04,0x02,0x18] + v_pk_min_u16 v5, v1, v255 // CHECK: [0x05,0x00,0x8d,0xd3,0x01,0xff,0x03,0x18] @@ -51460,6 +52213,18 @@ v_pk_min_u16 v5, v1, v2 op_sel:[0,0] // CHECK: [0x05,0x00,0x8d,0xd3,0x01,0x05,0x02,0x18] +v_pk_min_u16 v5, v1, 0 +// CHECK: [0x05,0x00,0x8d,0xd3,0x01,0x01,0x01,0x18] + +v_pk_min_u16 v5, v1, -1 +// CHECK: [0x05,0x00,0x8d,0xd3,0x01,0x83,0x01,0x18] + +v_pk_min_u16 v5, v1, 0.5 +// CHECK: [0x05,0x00,0x8d,0xd3,0x01,0xe1,0x01,0x18] + +v_pk_min_u16 v5, v1, -4.0 +// CHECK: [0x05,0x00,0x8d,0xd3,0x01,0xef,0x01,0x18] + v_pk_min_u16 v5, v1, v2 op_sel:[1,0] // CHECK: [0x05,0x08,0x8d,0xd3,0x01,0x05,0x02,0x18] @@ -51481,6 +52246,189 @@ v_pk_min_u16 v5, v1, v2 op_sel_hi:[0,1] // CHECK: [0x05,0x00,0x8d,0xd3,0x01,0x05,0x02,0x10] +v_pk_fma_f16 v5, v1, v2, v3 +// CHECK: [0x05,0x40,0x8e,0xd3,0x01,0x05,0x0e,0x1c] + +v_pk_fma_f16 v255, v1, v2, v3 +// CHECK: [0xff,0x40,0x8e,0xd3,0x01,0x05,0x0e,0x1c] + +v_pk_fma_f16 v5, v255, v2, v3 +// CHECK: [0x05,0x40,0x8e,0xd3,0xff,0x05,0x0e,0x1c] + +v_pk_fma_f16 v5, s1, v2, v3 +// CHECK: [0x05,0x40,0x8e,0xd3,0x01,0x04,0x0e,0x1c] + +v_pk_fma_f16 v5, s101, v2, v3 +// CHECK: [0x05,0x40,0x8e,0xd3,0x65,0x04,0x0e,0x1c] + +v_pk_fma_f16 v5, flat_scratch_lo, v2, v3 +// CHECK: [0x05,0x40,0x8e,0xd3,0x66,0x04,0x0e,0x1c] + +v_pk_fma_f16 v5, flat_scratch_hi, v2, v3 +// CHECK: [0x05,0x40,0x8e,0xd3,0x67,0x04,0x0e,0x1c] + +v_pk_fma_f16 v5, vcc_lo, v2, v3 +// CHECK: [0x05,0x40,0x8e,0xd3,0x6a,0x04,0x0e,0x1c] + +v_pk_fma_f16 v5, vcc_hi, v2, v3 +// CHECK: [0x05,0x40,0x8e,0xd3,0x6b,0x04,0x0e,0x1c] + +v_pk_fma_f16 v5, m0, v2, v3 +// CHECK: [0x05,0x40,0x8e,0xd3,0x7c,0x04,0x0e,0x1c] + +v_pk_fma_f16 v5, exec_lo, v2, v3 +// CHECK: [0x05,0x40,0x8e,0xd3,0x7e,0x04,0x0e,0x1c] + +v_pk_fma_f16 v5, exec_hi, v2, v3 +// CHECK: [0x05,0x40,0x8e,0xd3,0x7f,0x04,0x0e,0x1c] + +v_pk_fma_f16 v5, 0, v2, v3 +// CHECK: [0x05,0x40,0x8e,0xd3,0x80,0x04,0x0e,0x1c] + +v_pk_fma_f16 v5, -1, v2, v3 +// CHECK: [0x05,0x40,0x8e,0xd3,0xc1,0x04,0x0e,0x1c] + +v_pk_fma_f16 v5, 0.5, v2, v3 +// CHECK: [0x05,0x40,0x8e,0xd3,0xf0,0x04,0x0e,0x1c] + +v_pk_fma_f16 v5, -4.0, v2, v3 +// CHECK: [0x05,0x40,0x8e,0xd3,0xf7,0x04,0x0e,0x1c] + +v_pk_fma_f16 v5, v1, v255, v3 +// CHECK: [0x05,0x40,0x8e,0xd3,0x01,0xff,0x0f,0x1c] + +v_pk_fma_f16 v5, v1, s2, v3 +// CHECK: [0x05,0x40,0x8e,0xd3,0x01,0x05,0x0c,0x1c] + +v_pk_fma_f16 v5, v1, s101, v3 +// CHECK: [0x05,0x40,0x8e,0xd3,0x01,0xcb,0x0c,0x1c] + +v_pk_fma_f16 v5, v1, flat_scratch_lo, v3 +// CHECK: [0x05,0x40,0x8e,0xd3,0x01,0xcd,0x0c,0x1c] + +v_pk_fma_f16 v5, v1, flat_scratch_hi, v3 +// CHECK: [0x05,0x40,0x8e,0xd3,0x01,0xcf,0x0c,0x1c] + +v_pk_fma_f16 v5, v1, vcc_lo, v3 +// CHECK: [0x05,0x40,0x8e,0xd3,0x01,0xd5,0x0c,0x1c] + +v_pk_fma_f16 v5, v1, vcc_hi, v3 +// CHECK: [0x05,0x40,0x8e,0xd3,0x01,0xd7,0x0c,0x1c] + +v_pk_fma_f16 v5, v1, m0, v3 +// CHECK: [0x05,0x40,0x8e,0xd3,0x01,0xf9,0x0c,0x1c] + +v_pk_fma_f16 v5, v1, exec_lo, v3 +// CHECK: [0x05,0x40,0x8e,0xd3,0x01,0xfd,0x0c,0x1c] + +v_pk_fma_f16 v5, v1, exec_hi, v3 +// CHECK: [0x05,0x40,0x8e,0xd3,0x01,0xff,0x0c,0x1c] + +v_pk_fma_f16 v5, v1, 0, v3 +// CHECK: [0x05,0x40,0x8e,0xd3,0x01,0x01,0x0d,0x1c] + +v_pk_fma_f16 v5, v1, -1, v3 +// CHECK: [0x05,0x40,0x8e,0xd3,0x01,0x83,0x0d,0x1c] + +v_pk_fma_f16 v5, v1, 0.5, v3 +// CHECK: [0x05,0x40,0x8e,0xd3,0x01,0xe1,0x0d,0x1c] + +v_pk_fma_f16 v5, v1, -4.0, v3 +// CHECK: [0x05,0x40,0x8e,0xd3,0x01,0xef,0x0d,0x1c] + +v_pk_fma_f16 v5, v1, v2, v255 +// CHECK: [0x05,0x40,0x8e,0xd3,0x01,0x05,0xfe,0x1f] + +v_pk_fma_f16 v5, v1, v2, s3 +// CHECK: [0x05,0x40,0x8e,0xd3,0x01,0x05,0x0e,0x18] + +v_pk_fma_f16 v5, v1, v2, s101 +// CHECK: [0x05,0x40,0x8e,0xd3,0x01,0x05,0x96,0x19] + +v_pk_fma_f16 v5, v1, v2, flat_scratch_lo +// CHECK: [0x05,0x40,0x8e,0xd3,0x01,0x05,0x9a,0x19] + +v_pk_fma_f16 v5, v1, v2, flat_scratch_hi +// CHECK: [0x05,0x40,0x8e,0xd3,0x01,0x05,0x9e,0x19] + +v_pk_fma_f16 v5, v1, v2, vcc_lo +// CHECK: [0x05,0x40,0x8e,0xd3,0x01,0x05,0xaa,0x19] + +v_pk_fma_f16 v5, v1, v2, vcc_hi +// CHECK: [0x05,0x40,0x8e,0xd3,0x01,0x05,0xae,0x19] + +v_pk_fma_f16 v5, v1, v2, m0 +// CHECK: [0x05,0x40,0x8e,0xd3,0x01,0x05,0xf2,0x19] + +v_pk_fma_f16 v5, v1, v2, exec_lo +// CHECK: [0x05,0x40,0x8e,0xd3,0x01,0x05,0xfa,0x19] + +v_pk_fma_f16 v5, v1, v2, exec_hi +// CHECK: [0x05,0x40,0x8e,0xd3,0x01,0x05,0xfe,0x19] + +v_pk_fma_f16 v5, v1, v2, 0 +// CHECK: [0x05,0x40,0x8e,0xd3,0x01,0x05,0x02,0x1a] + +v_pk_fma_f16 v5, v1, v2, -1 +// CHECK: [0x05,0x40,0x8e,0xd3,0x01,0x05,0x06,0x1b] + +v_pk_fma_f16 v5, v1, v2, 0.5 +// CHECK: [0x05,0x40,0x8e,0xd3,0x01,0x05,0xc2,0x1b] + +v_pk_fma_f16 v5, v1, v2, -4.0 +// CHECK: [0x05,0x40,0x8e,0xd3,0x01,0x05,0xde,0x1b] + +v_pk_fma_f16 v5, v1, v2, v3 op_sel:[1,0,0] +// CHECK: [0x05,0x48,0x8e,0xd3,0x01,0x05,0x0e,0x1c] + +v_pk_fma_f16 v5, v1, v2, v3 op_sel:[0,1,0] +// CHECK: [0x05,0x50,0x8e,0xd3,0x01,0x05,0x0e,0x1c] + +v_pk_fma_f16 v5, v1, v2, v3 op_sel:[0,0,1] +// CHECK: [0x05,0x60,0x8e,0xd3,0x01,0x05,0x0e,0x1c] + +v_pk_fma_f16 v5, v1, v2, v3 op_sel:[1,1,1] +// CHECK: [0x05,0x78,0x8e,0xd3,0x01,0x05,0x0e,0x1c] + +v_pk_fma_f16 v5, v1, v2, v3 op_sel_hi:[0,0,0] +// CHECK: [0x05,0x00,0x8e,0xd3,0x01,0x05,0x0e,0x04] + +v_pk_fma_f16 v5, v1, v2, v3 op_sel_hi:[1,0,0] +// CHECK: [0x05,0x00,0x8e,0xd3,0x01,0x05,0x0e,0x0c] + +v_pk_fma_f16 v5, v1, v2, v3 op_sel_hi:[0,1,0] +// CHECK: [0x05,0x00,0x8e,0xd3,0x01,0x05,0x0e,0x14] + +v_pk_fma_f16 v5, v1, v2, v3 op_sel_hi:[0,0,1] +// CHECK: [0x05,0x40,0x8e,0xd3,0x01,0x05,0x0e,0x04] + +v_pk_fma_f16 v5, v1, v2, v3 neg_lo:[1,0,0] +// CHECK: [0x05,0x40,0x8e,0xd3,0x01,0x05,0x0e,0x3c] + +v_pk_fma_f16 v5, v1, v2, v3 neg_lo:[0,1,0] +// CHECK: [0x05,0x40,0x8e,0xd3,0x01,0x05,0x0e,0x5c] + +v_pk_fma_f16 v5, v1, v2, v3 neg_lo:[0,0,1] +// CHECK: [0x05,0x40,0x8e,0xd3,0x01,0x05,0x0e,0x9c] + +v_pk_fma_f16 v5, v1, v2, v3 neg_lo:[1,1,1] +// CHECK: [0x05,0x40,0x8e,0xd3,0x01,0x05,0x0e,0xfc] + +v_pk_fma_f16 v5, v1, v2, v3 neg_hi:[1,0,0] +// CHECK: [0x05,0x41,0x8e,0xd3,0x01,0x05,0x0e,0x1c] + +v_pk_fma_f16 v5, v1, v2, v3 neg_hi:[0,1,0] +// CHECK: [0x05,0x42,0x8e,0xd3,0x01,0x05,0x0e,0x1c] + +v_pk_fma_f16 v5, v1, v2, v3 neg_hi:[0,0,1] +// CHECK: [0x05,0x44,0x8e,0xd3,0x01,0x05,0x0e,0x1c] + +v_pk_fma_f16 v5, v1, v2, v3 neg_hi:[1,1,1] +// CHECK: [0x05,0x47,0x8e,0xd3,0x01,0x05,0x0e,0x1c] + +v_pk_fma_f16 v5, v1, v2, v3 clamp +// CHECK: [0x05,0xc0,0x8e,0xd3,0x01,0x05,0x0e,0x1c] + v_pk_add_f16 v5, v1, v2 // CHECK: [0x05,0x00,0x8f,0xd3,0x01,0x05,0x02,0x18] @@ -51517,6 +52465,18 @@ v_pk_add_f16 v5, exec_hi, v2 // CHECK: [0x05,0x00,0x8f,0xd3,0x7f,0x04,0x02,0x18] +v_pk_add_f16 v5, 0, v2 +// CHECK: [0x05,0x00,0x8f,0xd3,0x80,0x04,0x02,0x18] + +v_pk_add_f16 v5, -1, v2 +// CHECK: [0x05,0x00,0x8f,0xd3,0xc1,0x04,0x02,0x18] + +v_pk_add_f16 v5, 0.5, v2 +// CHECK: [0x05,0x00,0x8f,0xd3,0xf0,0x04,0x02,0x18] + +v_pk_add_f16 v5, -4.0, v2 +// CHECK: [0x05,0x00,0x8f,0xd3,0xf7,0x04,0x02,0x18] + v_pk_add_f16 v5, v1, v255 // CHECK: [0x05,0x00,0x8f,0xd3,0x01,0xff,0x03,0x18] @@ -51550,6 +52510,18 @@ v_pk_add_f16 v5, v1, v2 op_sel:[0,0] // CHECK: [0x05,0x00,0x8f,0xd3,0x01,0x05,0x02,0x18] +v_pk_add_f16 v5, v1, 0 +// CHECK: [0x05,0x00,0x8f,0xd3,0x01,0x01,0x01,0x18] + +v_pk_add_f16 v5, v1, -1 +// CHECK: [0x05,0x00,0x8f,0xd3,0x01,0x83,0x01,0x18] + +v_pk_add_f16 v5, v1, 0.5 +// CHECK: [0x05,0x00,0x8f,0xd3,0x01,0xe1,0x01,0x18] + +v_pk_add_f16 v5, v1, -4.0 +// CHECK: [0x05,0x00,0x8f,0xd3,0x01,0xef,0x01,0x18] + v_pk_add_f16 v5, v1, v2 op_sel:[1,0] // CHECK: [0x05,0x08,0x8f,0xd3,0x01,0x05,0x02,0x18] @@ -51628,6 +52600,18 @@ v_pk_mul_f16 v5, exec_hi, v2 // CHECK: [0x05,0x00,0x90,0xd3,0x7f,0x04,0x02,0x18] +v_pk_mul_f16 v5, 0, v2 +// CHECK: [0x05,0x00,0x90,0xd3,0x80,0x04,0x02,0x18] + +v_pk_mul_f16 v5, -1, v2 +// CHECK: [0x05,0x00,0x90,0xd3,0xc1,0x04,0x02,0x18] + +v_pk_mul_f16 v5, 0.5, v2 +// CHECK: [0x05,0x00,0x90,0xd3,0xf0,0x04,0x02,0x18] + +v_pk_mul_f16 v5, -4.0, v2 +// CHECK: [0x05,0x00,0x90,0xd3,0xf7,0x04,0x02,0x18] + v_pk_mul_f16 v5, v1, v255 // CHECK: [0x05,0x00,0x90,0xd3,0x01,0xff,0x03,0x18] @@ -51661,6 +52645,18 @@ v_pk_mul_f16 v5, v1, v2 op_sel:[0,0] // CHECK: [0x05,0x00,0x90,0xd3,0x01,0x05,0x02,0x18] +v_pk_mul_f16 v5, v1, 0 +// CHECK: [0x05,0x00,0x90,0xd3,0x01,0x01,0x01,0x18] + +v_pk_mul_f16 v5, v1, -1 +// CHECK: [0x05,0x00,0x90,0xd3,0x01,0x83,0x01,0x18] + +v_pk_mul_f16 v5, v1, 0.5 +// CHECK: [0x05,0x00,0x90,0xd3,0x01,0xe1,0x01,0x18] + +v_pk_mul_f16 v5, v1, -4.0 +// CHECK: [0x05,0x00,0x90,0xd3,0x01,0xef,0x01,0x18] + v_pk_mul_f16 v5, v1, v2 op_sel:[1,0] // CHECK: [0x05,0x08,0x90,0xd3,0x01,0x05,0x02,0x18] @@ -51739,6 +52735,18 @@ v_pk_min_f16 v5, exec_hi, v2 // CHECK: [0x05,0x00,0x91,0xd3,0x7f,0x04,0x02,0x18] +v_pk_min_f16 v5, 0, v2 +// CHECK: [0x05,0x00,0x91,0xd3,0x80,0x04,0x02,0x18] + +v_pk_min_f16 v5, -1, v2 +// CHECK: [0x05,0x00,0x91,0xd3,0xc1,0x04,0x02,0x18] + +v_pk_min_f16 v5, 0.5, v2 +// CHECK: [0x05,0x00,0x91,0xd3,0xf0,0x04,0x02,0x18] + +v_pk_min_f16 v5, -4.0, v2 +// CHECK: [0x05,0x00,0x91,0xd3,0xf7,0x04,0x02,0x18] + v_pk_min_f16 v5, v1, v255 // CHECK: [0x05,0x00,0x91,0xd3,0x01,0xff,0x03,0x18] @@ -51772,6 +52780,18 @@ v_pk_min_f16 v5, v1, v2 op_sel:[0,0] // CHECK: [0x05,0x00,0x91,0xd3,0x01,0x05,0x02,0x18] +v_pk_min_f16 v5, v1, 0 +// CHECK: [0x05,0x00,0x91,0xd3,0x01,0x01,0x01,0x18] + +v_pk_min_f16 v5, v1, -1 +// CHECK: [0x05,0x00,0x91,0xd3,0x01,0x83,0x01,0x18] + +v_pk_min_f16 v5, v1, 0.5 +// CHECK: [0x05,0x00,0x91,0xd3,0x01,0xe1,0x01,0x18] + +v_pk_min_f16 v5, v1, -4.0 +// CHECK: [0x05,0x00,0x91,0xd3,0x01,0xef,0x01,0x18] + v_pk_min_f16 v5, v1, v2 op_sel:[1,0] // CHECK: [0x05,0x08,0x91,0xd3,0x01,0x05,0x02,0x18] @@ -51850,6 +52870,18 @@ v_pk_max_f16 v5, exec_hi, v2 // CHECK: [0x05,0x00,0x92,0xd3,0x7f,0x04,0x02,0x18] +v_pk_max_f16 v5, 0, v2 +// CHECK: [0x05,0x00,0x92,0xd3,0x80,0x04,0x02,0x18] + +v_pk_max_f16 v5, -1, v2 +// CHECK: [0x05,0x00,0x92,0xd3,0xc1,0x04,0x02,0x18] + +v_pk_max_f16 v5, 0.5, v2 +// CHECK: [0x05,0x00,0x92,0xd3,0xf0,0x04,0x02,0x18] + +v_pk_max_f16 v5, -4.0, v2 +// CHECK: [0x05,0x00,0x92,0xd3,0xf7,0x04,0x02,0x18] + v_pk_max_f16 v5, v1, v255 // CHECK: [0x05,0x00,0x92,0xd3,0x01,0xff,0x03,0x18] @@ -51883,6 +52915,18 @@ v_pk_max_f16 v5, v1, v2 op_sel:[0,0] // CHECK: [0x05,0x00,0x92,0xd3,0x01,0x05,0x02,0x18] +v_pk_max_f16 v5, v1, 0 +// CHECK: [0x05,0x00,0x92,0xd3,0x01,0x01,0x01,0x18] + +v_pk_max_f16 v5, v1, -1 +// CHECK: [0x05,0x00,0x92,0xd3,0x01,0x83,0x01,0x18] + +v_pk_max_f16 v5, v1, 0.5 +// CHECK: [0x05,0x00,0x92,0xd3,0x01,0xe1,0x01,0x18] + +v_pk_max_f16 v5, v1, -4.0 +// CHECK: [0x05,0x00,0x92,0xd3,0x01,0xef,0x01,0x18] + v_pk_max_f16 v5, v1, v2 op_sel:[1,0] // CHECK: [0x05,0x08,0x92,0xd3,0x01,0x05,0x02,0x18] diff --git a/llvm/test/MC/Disassembler/AMDGPU/gfx9_dasm_all.txt b/llvm/test/MC/Disassembler/AMDGPU/gfx9_dasm_all.txt --- a/llvm/test/MC/Disassembler/AMDGPU/gfx9_dasm_all.txt +++ b/llvm/test/MC/Disassembler/AMDGPU/gfx9_dasm_all.txt @@ -1074,9 +1074,24 @@ # CHECK: ds_read_u16 v5, v1 offset:65535 gds ; encoding: [0xff,0xff,0x79,0xd8,0x01,0x00,0x00,0x05] 0xff,0xff,0x79,0xd8,0x01,0x00,0x00,0x05 +# CHECK: ds_swizzle_b32 v5, v1 offset:65535 ; encoding: [0xff,0xff,0x7a,0xd8,0x01,0x00,0x00,0x05] +0xff,0xff,0x7a,0xd8,0x01,0x00,0x00,0x05 + +# CHECK: ds_swizzle_b32 v255, v1 offset:65535 ; encoding: [0xff,0xff,0x7a,0xd8,0x01,0x00,0x00,0xff] +0xff,0xff,0x7a,0xd8,0x01,0x00,0x00,0xff + +# CHECK: ds_swizzle_b32 v5, v255 offset:65535 ; encoding: [0xff,0xff,0x7a,0xd8,0xff,0x00,0x00,0x05] +0xff,0xff,0x7a,0xd8,0xff,0x00,0x00,0x05 + # CHECK: ds_swizzle_b32 v5, v1 ; encoding: [0x00,0x00,0x7a,0xd8,0x01,0x00,0x00,0x05] 0x00,0x00,0x7a,0xd8,0x01,0x00,0x00,0x05 +# CHECK: ds_swizzle_b32 v5, v1 offset:swizzle(BITMASK_PERM,"00p00") ; encoding: [0x04,0x00,0x7a,0xd8,0x01,0x00,0x00,0x05] +0x04,0x00,0x7a,0xd8,0x01,0x00,0x00,0x05 + +# CHECK: ds_swizzle_b32 v5, v1 offset:65535 gds ; encoding: [0xff,0xff,0x7b,0xd8,0x01,0x00,0x00,0x05] +0xff,0xff,0x7b,0xd8,0x01,0x00,0x00,0x05 + # CHECK: ds_permute_b32 v5, v1, v2 offset:65535 ; encoding: [0xff,0xff,0x7c,0xd8,0x01,0x02,0x00,0x05] 0xff,0xff,0x7c,0xd8,0x01,0x02,0x00,0x05 @@ -5004,260 +5019,1889 @@ # CHECK: scratch_load_ubyte_d16_hi v5, off, flat_scratch_lo offset:-1 ; encoding: [0xff,0x5f,0x84,0xdc,0x00,0x00,0x66,0x05] 0xff,0x5f,0x84,0xdc,0x00,0x00,0x66,0x05 -# CHECK: scratch_load_ubyte_d16_hi v5, off, flat_scratch_hi offset:-1 ; encoding: [0xff,0x5f,0x84,0xdc,0x00,0x00,0x67,0x05] -0xff,0x5f,0x84,0xdc,0x00,0x00,0x67,0x05 +# CHECK: scratch_load_ubyte_d16_hi v5, off, flat_scratch_hi offset:-1 ; encoding: [0xff,0x5f,0x84,0xdc,0x00,0x00,0x67,0x05] +0xff,0x5f,0x84,0xdc,0x00,0x00,0x67,0x05 + +# CHECK: scratch_load_ubyte_d16_hi v5, off, vcc_lo offset:-1 ; encoding: [0xff,0x5f,0x84,0xdc,0x00,0x00,0x6a,0x05] +0xff,0x5f,0x84,0xdc,0x00,0x00,0x6a,0x05 + +# CHECK: scratch_load_ubyte_d16_hi v5, off, vcc_hi offset:-1 ; encoding: [0xff,0x5f,0x84,0xdc,0x00,0x00,0x6b,0x05] +0xff,0x5f,0x84,0xdc,0x00,0x00,0x6b,0x05 + +# CHECK: scratch_load_ubyte_d16_hi v5, v0, off offset:-1 ; encoding: [0xff,0x5f,0x84,0xdc,0x00,0x00,0x7f,0x05] +0xff,0x5f,0x84,0xdc,0x00,0x00,0x7f,0x05 + +# CHECK: scratch_load_ubyte_d16_hi v5, off, s2 ; encoding: [0x00,0x40,0x84,0xdc,0x00,0x00,0x02,0x05] +0x00,0x40,0x84,0xdc,0x00,0x00,0x02,0x05 + +# CHECK: scratch_load_ubyte_d16_hi v5, off, s2 offset:4095 ; encoding: [0xff,0x4f,0x84,0xdc,0x00,0x00,0x02,0x05] +0xff,0x4f,0x84,0xdc,0x00,0x00,0x02,0x05 + +# CHECK: scratch_load_ubyte_d16_hi v5, off, s2 offset:-4096 ; encoding: [0x00,0x50,0x84,0xdc,0x00,0x00,0x02,0x05] +0x00,0x50,0x84,0xdc,0x00,0x00,0x02,0x05 + +# CHECK: scratch_load_ubyte_d16_hi v5, off, s2 offset:-1 glc ; encoding: [0xff,0x5f,0x85,0xdc,0x00,0x00,0x02,0x05] +0xff,0x5f,0x85,0xdc,0x00,0x00,0x02,0x05 + +# CHECK: scratch_load_ubyte_d16_hi v5, off, s2 offset:-1 slc ; encoding: [0xff,0x5f,0x86,0xdc,0x00,0x00,0x02,0x05] +0xff,0x5f,0x86,0xdc,0x00,0x00,0x02,0x05 + +# CHECK: scratch_load_sbyte_d16 v5, off, s2 offset:-1 ; encoding: [0xff,0x5f,0x88,0xdc,0x00,0x00,0x02,0x05] +0xff,0x5f,0x88,0xdc,0x00,0x00,0x02,0x05 + +# CHECK: scratch_load_sbyte_d16 v255, off, s2 offset:-1 ; encoding: [0xff,0x5f,0x88,0xdc,0x00,0x00,0x02,0xff] +0xff,0x5f,0x88,0xdc,0x00,0x00,0x02,0xff + +# CHECK: scratch_load_sbyte_d16 v5, off, s101 offset:-1 ; encoding: [0xff,0x5f,0x88,0xdc,0x00,0x00,0x65,0x05] +0xff,0x5f,0x88,0xdc,0x00,0x00,0x65,0x05 + +# CHECK: scratch_load_sbyte_d16 v5, off, flat_scratch_lo offset:-1 ; encoding: [0xff,0x5f,0x88,0xdc,0x00,0x00,0x66,0x05] +0xff,0x5f,0x88,0xdc,0x00,0x00,0x66,0x05 + +# CHECK: scratch_load_sbyte_d16 v5, off, flat_scratch_hi offset:-1 ; encoding: [0xff,0x5f,0x88,0xdc,0x00,0x00,0x67,0x05] +0xff,0x5f,0x88,0xdc,0x00,0x00,0x67,0x05 + +# CHECK: scratch_load_sbyte_d16 v5, off, vcc_lo offset:-1 ; encoding: [0xff,0x5f,0x88,0xdc,0x00,0x00,0x6a,0x05] +0xff,0x5f,0x88,0xdc,0x00,0x00,0x6a,0x05 + +# CHECK: scratch_load_sbyte_d16 v5, off, vcc_hi offset:-1 ; encoding: [0xff,0x5f,0x88,0xdc,0x00,0x00,0x6b,0x05] +0xff,0x5f,0x88,0xdc,0x00,0x00,0x6b,0x05 + +# CHECK: scratch_load_sbyte_d16 v5, v0, off offset:-1 ; encoding: [0xff,0x5f,0x88,0xdc,0x00,0x00,0x7f,0x05] +0xff,0x5f,0x88,0xdc,0x00,0x00,0x7f,0x05 + +# CHECK: scratch_load_sbyte_d16 v5, off, s2 ; encoding: [0x00,0x40,0x88,0xdc,0x00,0x00,0x02,0x05] +0x00,0x40,0x88,0xdc,0x00,0x00,0x02,0x05 + +# CHECK: scratch_load_sbyte_d16 v5, off, s2 offset:4095 ; encoding: [0xff,0x4f,0x88,0xdc,0x00,0x00,0x02,0x05] +0xff,0x4f,0x88,0xdc,0x00,0x00,0x02,0x05 + +# CHECK: scratch_load_sbyte_d16 v5, off, s2 offset:-4096 ; encoding: [0x00,0x50,0x88,0xdc,0x00,0x00,0x02,0x05] +0x00,0x50,0x88,0xdc,0x00,0x00,0x02,0x05 + +# CHECK: scratch_load_sbyte_d16 v5, off, s2 offset:-1 glc ; encoding: [0xff,0x5f,0x89,0xdc,0x00,0x00,0x02,0x05] +0xff,0x5f,0x89,0xdc,0x00,0x00,0x02,0x05 + +# CHECK: scratch_load_sbyte_d16 v5, off, s2 offset:-1 slc ; encoding: [0xff,0x5f,0x8a,0xdc,0x00,0x00,0x02,0x05] +0xff,0x5f,0x8a,0xdc,0x00,0x00,0x02,0x05 + +# CHECK: scratch_load_sbyte_d16_hi v5, off, s2 offset:-1 ; encoding: [0xff,0x5f,0x8c,0xdc,0x00,0x00,0x02,0x05] +0xff,0x5f,0x8c,0xdc,0x00,0x00,0x02,0x05 + +# CHECK: scratch_load_sbyte_d16_hi v255, off, s2 offset:-1 ; encoding: [0xff,0x5f,0x8c,0xdc,0x00,0x00,0x02,0xff] +0xff,0x5f,0x8c,0xdc,0x00,0x00,0x02,0xff + +# CHECK: scratch_load_sbyte_d16_hi v5, off, s101 offset:-1 ; encoding: [0xff,0x5f,0x8c,0xdc,0x00,0x00,0x65,0x05] +0xff,0x5f,0x8c,0xdc,0x00,0x00,0x65,0x05 + +# CHECK: scratch_load_sbyte_d16_hi v5, off, flat_scratch_lo offset:-1 ; encoding: [0xff,0x5f,0x8c,0xdc,0x00,0x00,0x66,0x05] +0xff,0x5f,0x8c,0xdc,0x00,0x00,0x66,0x05 + +# CHECK: scratch_load_sbyte_d16_hi v5, off, flat_scratch_hi offset:-1 ; encoding: [0xff,0x5f,0x8c,0xdc,0x00,0x00,0x67,0x05] +0xff,0x5f,0x8c,0xdc,0x00,0x00,0x67,0x05 + +# CHECK: scratch_load_sbyte_d16_hi v5, off, vcc_lo offset:-1 ; encoding: [0xff,0x5f,0x8c,0xdc,0x00,0x00,0x6a,0x05] +0xff,0x5f,0x8c,0xdc,0x00,0x00,0x6a,0x05 + +# CHECK: scratch_load_sbyte_d16_hi v5, off, vcc_hi offset:-1 ; encoding: [0xff,0x5f,0x8c,0xdc,0x00,0x00,0x6b,0x05] +0xff,0x5f,0x8c,0xdc,0x00,0x00,0x6b,0x05 + +# CHECK: scratch_load_sbyte_d16_hi v5, v0, off offset:-1 ; encoding: [0xff,0x5f,0x8c,0xdc,0x00,0x00,0x7f,0x05] +0xff,0x5f,0x8c,0xdc,0x00,0x00,0x7f,0x05 + +# CHECK: scratch_load_sbyte_d16_hi v5, off, s2 ; encoding: [0x00,0x40,0x8c,0xdc,0x00,0x00,0x02,0x05] +0x00,0x40,0x8c,0xdc,0x00,0x00,0x02,0x05 + +# CHECK: scratch_load_sbyte_d16_hi v5, off, s2 offset:4095 ; encoding: [0xff,0x4f,0x8c,0xdc,0x00,0x00,0x02,0x05] +0xff,0x4f,0x8c,0xdc,0x00,0x00,0x02,0x05 + +# CHECK: scratch_load_sbyte_d16_hi v5, off, s2 offset:-4096 ; encoding: [0x00,0x50,0x8c,0xdc,0x00,0x00,0x02,0x05] +0x00,0x50,0x8c,0xdc,0x00,0x00,0x02,0x05 + +# CHECK: scratch_load_sbyte_d16_hi v5, off, s2 offset:-1 glc ; encoding: [0xff,0x5f,0x8d,0xdc,0x00,0x00,0x02,0x05] +0xff,0x5f,0x8d,0xdc,0x00,0x00,0x02,0x05 + +# CHECK: scratch_load_sbyte_d16_hi v5, off, s2 offset:-1 slc ; encoding: [0xff,0x5f,0x8e,0xdc,0x00,0x00,0x02,0x05] +0xff,0x5f,0x8e,0xdc,0x00,0x00,0x02,0x05 + +# CHECK: scratch_load_short_d16 v5, off, s2 offset:-1 ; encoding: [0xff,0x5f,0x90,0xdc,0x00,0x00,0x02,0x05] +0xff,0x5f,0x90,0xdc,0x00,0x00,0x02,0x05 + +# CHECK: scratch_load_short_d16 v255, off, s2 offset:-1 ; encoding: [0xff,0x5f,0x90,0xdc,0x00,0x00,0x02,0xff] +0xff,0x5f,0x90,0xdc,0x00,0x00,0x02,0xff + +# CHECK: scratch_load_short_d16 v5, off, s101 offset:-1 ; encoding: [0xff,0x5f,0x90,0xdc,0x00,0x00,0x65,0x05] +0xff,0x5f,0x90,0xdc,0x00,0x00,0x65,0x05 + +# CHECK: scratch_load_short_d16 v5, off, flat_scratch_lo offset:-1 ; encoding: [0xff,0x5f,0x90,0xdc,0x00,0x00,0x66,0x05] +0xff,0x5f,0x90,0xdc,0x00,0x00,0x66,0x05 + +# CHECK: scratch_load_short_d16 v5, off, flat_scratch_hi offset:-1 ; encoding: [0xff,0x5f,0x90,0xdc,0x00,0x00,0x67,0x05] +0xff,0x5f,0x90,0xdc,0x00,0x00,0x67,0x05 + +# CHECK: scratch_load_short_d16 v5, off, vcc_lo offset:-1 ; encoding: [0xff,0x5f,0x90,0xdc,0x00,0x00,0x6a,0x05] +0xff,0x5f,0x90,0xdc,0x00,0x00,0x6a,0x05 + +# CHECK: scratch_load_short_d16 v5, off, vcc_hi offset:-1 ; encoding: [0xff,0x5f,0x90,0xdc,0x00,0x00,0x6b,0x05] +0xff,0x5f,0x90,0xdc,0x00,0x00,0x6b,0x05 + +# CHECK: scratch_load_short_d16 v5, v0, off offset:-1 ; encoding: [0xff,0x5f,0x90,0xdc,0x00,0x00,0x7f,0x05] +0xff,0x5f,0x90,0xdc,0x00,0x00,0x7f,0x05 + +# CHECK: scratch_load_short_d16 v5, off, s2 ; encoding: [0x00,0x40,0x90,0xdc,0x00,0x00,0x02,0x05] +0x00,0x40,0x90,0xdc,0x00,0x00,0x02,0x05 + +# CHECK: scratch_load_short_d16 v5, off, s2 offset:4095 ; encoding: [0xff,0x4f,0x90,0xdc,0x00,0x00,0x02,0x05] +0xff,0x4f,0x90,0xdc,0x00,0x00,0x02,0x05 + +# CHECK: scratch_load_short_d16 v5, off, s2 offset:-4096 ; encoding: [0x00,0x50,0x90,0xdc,0x00,0x00,0x02,0x05] +0x00,0x50,0x90,0xdc,0x00,0x00,0x02,0x05 + +# CHECK: scratch_load_short_d16 v5, off, s2 offset:-1 glc ; encoding: [0xff,0x5f,0x91,0xdc,0x00,0x00,0x02,0x05] +0xff,0x5f,0x91,0xdc,0x00,0x00,0x02,0x05 + +# CHECK: scratch_load_short_d16 v5, off, s2 offset:-1 slc ; encoding: [0xff,0x5f,0x92,0xdc,0x00,0x00,0x02,0x05] +0xff,0x5f,0x92,0xdc,0x00,0x00,0x02,0x05 + +# CHECK: scratch_load_short_d16_hi v5, off, s2 offset:-1 ; encoding: [0xff,0x5f,0x94,0xdc,0x00,0x00,0x02,0x05] +0xff,0x5f,0x94,0xdc,0x00,0x00,0x02,0x05 + +# CHECK: scratch_load_short_d16_hi v255, off, s2 offset:-1 ; encoding: [0xff,0x5f,0x94,0xdc,0x00,0x00,0x02,0xff] +0xff,0x5f,0x94,0xdc,0x00,0x00,0x02,0xff + +# CHECK: scratch_load_short_d16_hi v5, off, s101 offset:-1 ; encoding: [0xff,0x5f,0x94,0xdc,0x00,0x00,0x65,0x05] +0xff,0x5f,0x94,0xdc,0x00,0x00,0x65,0x05 + +# CHECK: scratch_load_short_d16_hi v5, off, flat_scratch_lo offset:-1 ; encoding: [0xff,0x5f,0x94,0xdc,0x00,0x00,0x66,0x05] +0xff,0x5f,0x94,0xdc,0x00,0x00,0x66,0x05 + +# CHECK: scratch_load_short_d16_hi v5, off, flat_scratch_hi offset:-1 ; encoding: [0xff,0x5f,0x94,0xdc,0x00,0x00,0x67,0x05] +0xff,0x5f,0x94,0xdc,0x00,0x00,0x67,0x05 + +# CHECK: scratch_load_short_d16_hi v5, off, vcc_lo offset:-1 ; encoding: [0xff,0x5f,0x94,0xdc,0x00,0x00,0x6a,0x05] +0xff,0x5f,0x94,0xdc,0x00,0x00,0x6a,0x05 + +# CHECK: scratch_load_short_d16_hi v5, off, vcc_hi offset:-1 ; encoding: [0xff,0x5f,0x94,0xdc,0x00,0x00,0x6b,0x05] +0xff,0x5f,0x94,0xdc,0x00,0x00,0x6b,0x05 + +# CHECK: scratch_load_short_d16_hi v5, v0, off offset:-1 ; encoding: [0xff,0x5f,0x94,0xdc,0x00,0x00,0x7f,0x05] +0xff,0x5f,0x94,0xdc,0x00,0x00,0x7f,0x05 + +# CHECK: scratch_load_short_d16_hi v5, off, s2 ; encoding: [0x00,0x40,0x94,0xdc,0x00,0x00,0x02,0x05] +0x00,0x40,0x94,0xdc,0x00,0x00,0x02,0x05 + +# CHECK: scratch_load_short_d16_hi v5, off, s2 offset:4095 ; encoding: [0xff,0x4f,0x94,0xdc,0x00,0x00,0x02,0x05] +0xff,0x4f,0x94,0xdc,0x00,0x00,0x02,0x05 + +# CHECK: scratch_load_short_d16_hi v5, off, s2 offset:-4096 ; encoding: [0x00,0x50,0x94,0xdc,0x00,0x00,0x02,0x05] +0x00,0x50,0x94,0xdc,0x00,0x00,0x02,0x05 + +# CHECK: scratch_load_short_d16_hi v5, off, s2 offset:-1 glc ; encoding: [0xff,0x5f,0x95,0xdc,0x00,0x00,0x02,0x05] +0xff,0x5f,0x95,0xdc,0x00,0x00,0x02,0x05 + +# CHECK: scratch_load_short_d16_hi v5, off, s2 offset:-1 slc ; encoding: [0xff,0x5f,0x96,0xdc,0x00,0x00,0x02,0x05] +0xff,0x5f,0x96,0xdc,0x00,0x00,0x02,0x05 + +# CHECK: image_load v5, v1, s[8:15] dmask:0x1 ; encoding: [0x00,0x01,0x00,0xf0,0x01,0x05,0x02,0x00] +0x00,0x01,0x00,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_load v252, v1, s[8:15] dmask:0x1 ; encoding: [0x00,0x01,0x00,0xf0,0x01,0xfc,0x02,0x00] +0x00,0x01,0x00,0xf0,0x01,0xfc,0x02,0x00 + +# CHECK: image_load v5, v252, s[8:15] dmask:0x1 ; encoding: [0x00,0x01,0x00,0xf0,0xfc,0x05,0x02,0x00] +0x00,0x01,0x00,0xf0,0xfc,0x05,0x02,0x00 + +# CHECK: image_load v5, v1, s[12:19] dmask:0x1 ; encoding: [0x00,0x01,0x00,0xf0,0x01,0x05,0x03,0x00] +0x00,0x01,0x00,0xf0,0x01,0x05,0x03,0x00 + +# CHECK: image_load v5, v1, s[92:99] dmask:0x1 ; encoding: [0x00,0x01,0x00,0xf0,0x01,0x05,0x17,0x00] +0x00,0x01,0x00,0xf0,0x01,0x05,0x17,0x00 + +# CHECK: image_load v5, v1, s[8:15] dmask:0x2 ; encoding: [0x00,0x02,0x00,0xf0,0x01,0x05,0x02,0x00] +0x00,0x02,0x00,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_load v[5:6], v1, s[8:15] dmask:0x3 ; encoding: [0x00,0x03,0x00,0xf0,0x01,0x05,0x02,0x00] +0x00,0x03,0x00,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_load v5, v1, s[8:15] dmask:0x4 ; encoding: [0x00,0x04,0x00,0xf0,0x01,0x05,0x02,0x00] +0x00,0x04,0x00,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_load v[5:6], v1, s[8:15] dmask:0x5 ; encoding: [0x00,0x05,0x00,0xf0,0x01,0x05,0x02,0x00] +0x00,0x05,0x00,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_load v[5:6], v1, s[8:15] dmask:0x6 ; encoding: [0x00,0x06,0x00,0xf0,0x01,0x05,0x02,0x00] +0x00,0x06,0x00,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_load v[5:7], v1, s[8:15] dmask:0x7 ; encoding: [0x00,0x07,0x00,0xf0,0x01,0x05,0x02,0x00] +0x00,0x07,0x00,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_load v5, v1, s[8:15] dmask:0x8 ; encoding: [0x00,0x08,0x00,0xf0,0x01,0x05,0x02,0x00] +0x00,0x08,0x00,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_load v[5:6], v1, s[8:15] dmask:0x9 ; encoding: [0x00,0x09,0x00,0xf0,0x01,0x05,0x02,0x00] +0x00,0x09,0x00,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_load v[5:6], v1, s[8:15] dmask:0xa ; encoding: [0x00,0x0a,0x00,0xf0,0x01,0x05,0x02,0x00] +0x00,0x0a,0x00,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_load v[5:7], v1, s[8:15] dmask:0xb ; encoding: [0x00,0x0b,0x00,0xf0,0x01,0x05,0x02,0x00] +0x00,0x0b,0x00,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_load v[5:6], v1, s[8:15] dmask:0xc ; encoding: [0x00,0x0c,0x00,0xf0,0x01,0x05,0x02,0x00] +0x00,0x0c,0x00,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_load v[5:7], v1, s[8:15] dmask:0xd ; encoding: [0x00,0x0d,0x00,0xf0,0x01,0x05,0x02,0x00] +0x00,0x0d,0x00,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_load v[5:7], v1, s[8:15] dmask:0xe ; encoding: [0x00,0x0e,0x00,0xf0,0x01,0x05,0x02,0x00] +0x00,0x0e,0x00,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_load v5, v1, s[8:15] ; encoding: [0x00,0x00,0x00,0xf0,0x01,0x05,0x02,0x00] +0x00,0x00,0x00,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_load v5, v1, s[8:15] dmask:0x1 unorm ; encoding: [0x00,0x11,0x00,0xf0,0x01,0x05,0x02,0x00] +0x00,0x11,0x00,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_load v5, v1, s[8:15] dmask:0x1 glc ; encoding: [0x00,0x21,0x00,0xf0,0x01,0x05,0x02,0x00] +0x00,0x21,0x00,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_load v5, v1, s[8:15] dmask:0x1 slc ; encoding: [0x00,0x01,0x00,0xf2,0x01,0x05,0x02,0x00] +0x00,0x01,0x00,0xf2,0x01,0x05,0x02,0x00 + +# CHECK: image_load v5, v1, s[8:15] dmask:0x1 tfe ; encoding: [0x00,0x01,0x01,0xf0,0x01,0x05,0x02,0x00] +0x00,0x01,0x01,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_load v5, v1, s[8:15] dmask:0x1 lwe ; encoding: [0x00,0x01,0x02,0xf0,0x01,0x05,0x02,0x00] +0x00,0x01,0x02,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_load v5, v1, s[8:15] dmask:0x1 da ; encoding: [0x00,0x41,0x00,0xf0,0x01,0x05,0x02,0x00] +0x00,0x41,0x00,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_load v5, v1, s[8:15] dmask:0x1 d16 ; encoding: [0x00,0x01,0x00,0xf0,0x01,0x05,0x02,0x80] +0x00,0x01,0x00,0xf0,0x01,0x05,0x02,0x80 + +# CHECK: image_load v0, v5, s[0:7] dmask:0xf unorm tfe ; encoding: [0x00,0x1f,0x01,0xf0,0x05,0x00,0x00,0x00] +0x00,0x1f,0x01,0xf0,0x05,0x00,0x00,0x00 + +# CHECK: image_load_mip v5, v1, s[8:15] dmask:0x1 ; encoding: [0x00,0x01,0x04,0xf0,0x01,0x05,0x02,0x00] +0x00,0x01,0x04,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_load_mip v252, v1, s[8:15] dmask:0x1 ; encoding: [0x00,0x01,0x04,0xf0,0x01,0xfc,0x02,0x00] +0x00,0x01,0x04,0xf0,0x01,0xfc,0x02,0x00 + +# CHECK: image_load_mip v5, v252, s[8:15] dmask:0x1 ; encoding: [0x00,0x01,0x04,0xf0,0xfc,0x05,0x02,0x00] +0x00,0x01,0x04,0xf0,0xfc,0x05,0x02,0x00 + +# CHECK: image_load_mip v5, v1, s[12:19] dmask:0x1 ; encoding: [0x00,0x01,0x04,0xf0,0x01,0x05,0x03,0x00] +0x00,0x01,0x04,0xf0,0x01,0x05,0x03,0x00 + +# CHECK: image_load_mip v5, v1, s[92:99] dmask:0x1 ; encoding: [0x00,0x01,0x04,0xf0,0x01,0x05,0x17,0x00] +0x00,0x01,0x04,0xf0,0x01,0x05,0x17,0x00 + +# CHECK: image_load_mip v5, v1, s[8:15] dmask:0x2 ; encoding: [0x00,0x02,0x04,0xf0,0x01,0x05,0x02,0x00] +0x00,0x02,0x04,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_load_mip v[5:6], v1, s[8:15] dmask:0x3 ; encoding: [0x00,0x03,0x04,0xf0,0x01,0x05,0x02,0x00] +0x00,0x03,0x04,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_load_mip v5, v1, s[8:15] dmask:0x4 ; encoding: [0x00,0x04,0x04,0xf0,0x01,0x05,0x02,0x00] +0x00,0x04,0x04,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_load_mip v[5:6], v1, s[8:15] dmask:0x5 ; encoding: [0x00,0x05,0x04,0xf0,0x01,0x05,0x02,0x00] +0x00,0x05,0x04,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_load_mip v[5:6], v1, s[8:15] dmask:0x6 ; encoding: [0x00,0x06,0x04,0xf0,0x01,0x05,0x02,0x00] +0x00,0x06,0x04,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_load_mip v[5:7], v1, s[8:15] dmask:0x7 ; encoding: [0x00,0x07,0x04,0xf0,0x01,0x05,0x02,0x00] +0x00,0x07,0x04,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_load_mip v5, v1, s[8:15] dmask:0x8 ; encoding: [0x00,0x08,0x04,0xf0,0x01,0x05,0x02,0x00] +0x00,0x08,0x04,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_load_mip v[5:6], v1, s[8:15] dmask:0x9 ; encoding: [0x00,0x09,0x04,0xf0,0x01,0x05,0x02,0x00] +0x00,0x09,0x04,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_load_mip v[5:6], v1, s[8:15] dmask:0xa ; encoding: [0x00,0x0a,0x04,0xf0,0x01,0x05,0x02,0x00] +0x00,0x0a,0x04,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_load_mip v[5:7], v1, s[8:15] dmask:0xb ; encoding: [0x00,0x0b,0x04,0xf0,0x01,0x05,0x02,0x00] +0x00,0x0b,0x04,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_load_mip v[5:6], v1, s[8:15] dmask:0xc ; encoding: [0x00,0x0c,0x04,0xf0,0x01,0x05,0x02,0x00] +0x00,0x0c,0x04,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_load_mip v[5:7], v1, s[8:15] dmask:0xd ; encoding: [0x00,0x0d,0x04,0xf0,0x01,0x05,0x02,0x00] +0x00,0x0d,0x04,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_load_mip v[5:7], v1, s[8:15] dmask:0xe ; encoding: [0x00,0x0e,0x04,0xf0,0x01,0x05,0x02,0x00] +0x00,0x0e,0x04,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_load_mip v5, v1, s[8:15] ; encoding: [0x00,0x00,0x04,0xf0,0x01,0x05,0x02,0x00] +0x00,0x00,0x04,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_load_mip v5, v1, s[8:15] dmask:0x1 unorm ; encoding: [0x00,0x11,0x04,0xf0,0x01,0x05,0x02,0x00] +0x00,0x11,0x04,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_load_mip v5, v1, s[8:15] dmask:0x1 glc ; encoding: [0x00,0x21,0x04,0xf0,0x01,0x05,0x02,0x00] +0x00,0x21,0x04,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_load_mip v5, v1, s[8:15] dmask:0x1 slc ; encoding: [0x00,0x01,0x04,0xf2,0x01,0x05,0x02,0x00] +0x00,0x01,0x04,0xf2,0x01,0x05,0x02,0x00 + +# CHECK: image_load_mip v5, v1, s[8:15] dmask:0x1 tfe ; encoding: [0x00,0x01,0x05,0xf0,0x01,0x05,0x02,0x00] +0x00,0x01,0x05,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_load_mip v5, v1, s[8:15] dmask:0x1 lwe ; encoding: [0x00,0x01,0x06,0xf0,0x01,0x05,0x02,0x00] +0x00,0x01,0x06,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_load_mip v5, v1, s[8:15] dmask:0x1 da ; encoding: [0x00,0x41,0x04,0xf0,0x01,0x05,0x02,0x00] +0x00,0x41,0x04,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_load_mip v5, v1, s[8:15] dmask:0x1 d16 ; encoding: [0x00,0x01,0x04,0xf0,0x01,0x05,0x02,0x80] +0x00,0x01,0x04,0xf0,0x01,0x05,0x02,0x80 + +# CHECK: image_store v1, v2, s[12:19] dmask:0x1 unorm ; encoding: [0x00,0x11,0x20,0xf0,0x02,0x01,0x03,0x00] +0x00,0x11,0x20,0xf0,0x02,0x01,0x03,0x00 + +# CHECK: image_store v252, v2, s[12:19] dmask:0x1 unorm ; encoding: [0x00,0x11,0x20,0xf0,0x02,0xfc,0x03,0x00] +0x00,0x11,0x20,0xf0,0x02,0xfc,0x03,0x00 + +# CHECK: image_store v1, v252, s[12:19] dmask:0x1 unorm ; encoding: [0x00,0x11,0x20,0xf0,0xfc,0x01,0x03,0x00] +0x00,0x11,0x20,0xf0,0xfc,0x01,0x03,0x00 + +# CHECK: image_store v1, v2, s[16:23] dmask:0x1 unorm ; encoding: [0x00,0x11,0x20,0xf0,0x02,0x01,0x04,0x00] +0x00,0x11,0x20,0xf0,0x02,0x01,0x04,0x00 + +# CHECK: image_store v1, v2, s[92:99] dmask:0x1 unorm ; encoding: [0x00,0x11,0x20,0xf0,0x02,0x01,0x17,0x00] +0x00,0x11,0x20,0xf0,0x02,0x01,0x17,0x00 + +# CHECK: image_store v1, v2, s[12:19] dmask:0x2 unorm ; encoding: [0x00,0x12,0x20,0xf0,0x02,0x01,0x03,0x00] +0x00,0x12,0x20,0xf0,0x02,0x01,0x03,0x00 + +# CHECK: image_store v[1:2], v2, s[12:19] dmask:0x3 unorm ; encoding: [0x00,0x13,0x20,0xf0,0x02,0x01,0x03,0x00] +0x00,0x13,0x20,0xf0,0x02,0x01,0x03,0x00 + +# CHECK: image_store v1, v2, s[12:19] dmask:0x4 unorm ; encoding: [0x00,0x14,0x20,0xf0,0x02,0x01,0x03,0x00] +0x00,0x14,0x20,0xf0,0x02,0x01,0x03,0x00 + +# CHECK: image_store v[1:2], v2, s[12:19] dmask:0x5 unorm ; encoding: [0x00,0x15,0x20,0xf0,0x02,0x01,0x03,0x00] +0x00,0x15,0x20,0xf0,0x02,0x01,0x03,0x00 + +# CHECK: image_store v[1:2], v2, s[12:19] dmask:0x6 unorm ; encoding: [0x00,0x16,0x20,0xf0,0x02,0x01,0x03,0x00] +0x00,0x16,0x20,0xf0,0x02,0x01,0x03,0x00 + +# CHECK: image_store v[1:3], v2, s[12:19] dmask:0x7 unorm ; encoding: [0x00,0x17,0x20,0xf0,0x02,0x01,0x03,0x00] +0x00,0x17,0x20,0xf0,0x02,0x01,0x03,0x00 + +# CHECK: image_store v1, v2, s[12:19] dmask:0x8 unorm ; encoding: [0x00,0x18,0x20,0xf0,0x02,0x01,0x03,0x00] +0x00,0x18,0x20,0xf0,0x02,0x01,0x03,0x00 + +# CHECK: image_store v[1:2], v2, s[12:19] dmask:0x9 unorm ; encoding: [0x00,0x19,0x20,0xf0,0x02,0x01,0x03,0x00] +0x00,0x19,0x20,0xf0,0x02,0x01,0x03,0x00 + +# CHECK: image_store v[1:2], v2, s[12:19] dmask:0xa unorm ; encoding: [0x00,0x1a,0x20,0xf0,0x02,0x01,0x03,0x00] +0x00,0x1a,0x20,0xf0,0x02,0x01,0x03,0x00 + +# CHECK: image_store v[1:3], v2, s[12:19] dmask:0xb unorm ; encoding: [0x00,0x1b,0x20,0xf0,0x02,0x01,0x03,0x00] +0x00,0x1b,0x20,0xf0,0x02,0x01,0x03,0x00 + +# CHECK: image_store v[1:2], v2, s[12:19] dmask:0xc unorm ; encoding: [0x00,0x1c,0x20,0xf0,0x02,0x01,0x03,0x00] +0x00,0x1c,0x20,0xf0,0x02,0x01,0x03,0x00 + +# CHECK: image_store v[1:3], v2, s[12:19] dmask:0xd unorm ; encoding: [0x00,0x1d,0x20,0xf0,0x02,0x01,0x03,0x00] +0x00,0x1d,0x20,0xf0,0x02,0x01,0x03,0x00 + +# CHECK: image_store v[1:3], v2, s[12:19] dmask:0xe unorm ; encoding: [0x00,0x1e,0x20,0xf0,0x02,0x01,0x03,0x00] +0x00,0x1e,0x20,0xf0,0x02,0x01,0x03,0x00 + +# CHECK: image_store v[1:4], v2, s[12:19] dmask:0xf unorm ; encoding: [0x00,0x1f,0x20,0xf0,0x02,0x01,0x03,0x00] +0x00,0x1f,0x20,0xf0,0x02,0x01,0x03,0x00 + +# CHECK: image_store v1, v2, s[12:19] unorm ; encoding: [0x00,0x10,0x20,0xf0,0x02,0x01,0x03,0x00] +0x00,0x10,0x20,0xf0,0x02,0x01,0x03,0x00 + +# CHECK: image_store v1, v2, s[12:19] dmask:0x1 unorm glc ; encoding: [0x00,0x31,0x20,0xf0,0x02,0x01,0x03,0x00] +0x00,0x31,0x20,0xf0,0x02,0x01,0x03,0x00 + +# CHECK: image_store v1, v2, s[12:19] dmask:0x1 unorm slc ; encoding: [0x00,0x11,0x20,0xf2,0x02,0x01,0x03,0x00] +0x00,0x11,0x20,0xf2,0x02,0x01,0x03,0x00 + +# CHECK: image_store v1, v2, s[12:19] dmask:0x1 unorm lwe ; encoding: [0x00,0x11,0x22,0xf0,0x02,0x01,0x03,0x00] +0x00,0x11,0x22,0xf0,0x02,0x01,0x03,0x00 + +# CHECK: image_store v1, v2, s[12:19] dmask:0x1 unorm da ; encoding: [0x00,0x51,0x20,0xf0,0x02,0x01,0x03,0x00] +0x00,0x51,0x20,0xf0,0x02,0x01,0x03,0x00 + +# CHECK: image_store v1, v2, s[12:19] dmask:0x1 unorm d16 ; encoding: [0x00,0x11,0x20,0xf0,0x02,0x01,0x03,0x80] +0x00,0x11,0x20,0xf0,0x02,0x01,0x03,0x80 + +# CHECK: image_store_mip v1, v2, s[12:19] dmask:0x1 unorm ; encoding: [0x00,0x11,0x24,0xf0,0x02,0x01,0x03,0x00] +0x00,0x11,0x24,0xf0,0x02,0x01,0x03,0x00 + +# CHECK: image_store_mip v252, v2, s[12:19] dmask:0x1 unorm ; encoding: [0x00,0x11,0x24,0xf0,0x02,0xfc,0x03,0x00] +0x00,0x11,0x24,0xf0,0x02,0xfc,0x03,0x00 + +# CHECK: image_store_mip v1, v252, s[12:19] dmask:0x1 unorm ; encoding: [0x00,0x11,0x24,0xf0,0xfc,0x01,0x03,0x00] +0x00,0x11,0x24,0xf0,0xfc,0x01,0x03,0x00 + +# CHECK: image_store_mip v1, v2, s[16:23] dmask:0x1 unorm ; encoding: [0x00,0x11,0x24,0xf0,0x02,0x01,0x04,0x00] +0x00,0x11,0x24,0xf0,0x02,0x01,0x04,0x00 + +# CHECK: image_store_mip v1, v2, s[92:99] dmask:0x1 unorm ; encoding: [0x00,0x11,0x24,0xf0,0x02,0x01,0x17,0x00] +0x00,0x11,0x24,0xf0,0x02,0x01,0x17,0x00 + +# CHECK: image_store_mip v1, v2, s[12:19] dmask:0x2 unorm ; encoding: [0x00,0x12,0x24,0xf0,0x02,0x01,0x03,0x00] +0x00,0x12,0x24,0xf0,0x02,0x01,0x03,0x00 + +# CHECK: image_store_mip v[1:2], v2, s[12:19] dmask:0x3 unorm ; encoding: [0x00,0x13,0x24,0xf0,0x02,0x01,0x03,0x00] +0x00,0x13,0x24,0xf0,0x02,0x01,0x03,0x00 + +# CHECK: image_store_mip v1, v2, s[12:19] dmask:0x4 unorm ; encoding: [0x00,0x14,0x24,0xf0,0x02,0x01,0x03,0x00] +0x00,0x14,0x24,0xf0,0x02,0x01,0x03,0x00 + +# CHECK: image_store_mip v[1:2], v2, s[12:19] dmask:0x5 unorm ; encoding: [0x00,0x15,0x24,0xf0,0x02,0x01,0x03,0x00] +0x00,0x15,0x24,0xf0,0x02,0x01,0x03,0x00 + +# CHECK: image_store_mip v[1:2], v2, s[12:19] dmask:0x6 unorm ; encoding: [0x00,0x16,0x24,0xf0,0x02,0x01,0x03,0x00] +0x00,0x16,0x24,0xf0,0x02,0x01,0x03,0x00 + +# CHECK: image_store_mip v[1:3], v2, s[12:19] dmask:0x7 unorm ; encoding: [0x00,0x17,0x24,0xf0,0x02,0x01,0x03,0x00] +0x00,0x17,0x24,0xf0,0x02,0x01,0x03,0x00 + +# CHECK: image_store_mip v1, v2, s[12:19] dmask:0x8 unorm ; encoding: [0x00,0x18,0x24,0xf0,0x02,0x01,0x03,0x00] +0x00,0x18,0x24,0xf0,0x02,0x01,0x03,0x00 + +# CHECK: image_store_mip v[1:2], v2, s[12:19] dmask:0x9 unorm ; encoding: [0x00,0x19,0x24,0xf0,0x02,0x01,0x03,0x00] +0x00,0x19,0x24,0xf0,0x02,0x01,0x03,0x00 + +# CHECK: image_store_mip v[1:2], v2, s[12:19] dmask:0xa unorm ; encoding: [0x00,0x1a,0x24,0xf0,0x02,0x01,0x03,0x00] +0x00,0x1a,0x24,0xf0,0x02,0x01,0x03,0x00 + +# CHECK: image_store_mip v[1:3], v2, s[12:19] dmask:0xb unorm ; encoding: [0x00,0x1b,0x24,0xf0,0x02,0x01,0x03,0x00] +0x00,0x1b,0x24,0xf0,0x02,0x01,0x03,0x00 + +# CHECK: image_store_mip v[1:2], v2, s[12:19] dmask:0xc unorm ; encoding: [0x00,0x1c,0x24,0xf0,0x02,0x01,0x03,0x00] +0x00,0x1c,0x24,0xf0,0x02,0x01,0x03,0x00 + +# CHECK: image_store_mip v[1:3], v2, s[12:19] dmask:0xd unorm ; encoding: [0x00,0x1d,0x24,0xf0,0x02,0x01,0x03,0x00] +0x00,0x1d,0x24,0xf0,0x02,0x01,0x03,0x00 + +# CHECK: image_store_mip v[1:3], v2, s[12:19] dmask:0xe unorm ; encoding: [0x00,0x1e,0x24,0xf0,0x02,0x01,0x03,0x00] +0x00,0x1e,0x24,0xf0,0x02,0x01,0x03,0x00 + +# CHECK: image_store_mip v[1:4], v2, s[12:19] dmask:0xf unorm ; encoding: [0x00,0x1f,0x24,0xf0,0x02,0x01,0x03,0x00] +0x00,0x1f,0x24,0xf0,0x02,0x01,0x03,0x00 + +# CHECK: image_store_mip v1, v2, s[12:19] unorm ; encoding: [0x00,0x10,0x24,0xf0,0x02,0x01,0x03,0x00] +0x00,0x10,0x24,0xf0,0x02,0x01,0x03,0x00 + +# CHECK: image_store_mip v1, v2, s[12:19] dmask:0x1 unorm glc ; encoding: [0x00,0x31,0x24,0xf0,0x02,0x01,0x03,0x00] +0x00,0x31,0x24,0xf0,0x02,0x01,0x03,0x00 + +# CHECK: image_store_mip v1, v2, s[12:19] dmask:0x1 unorm slc ; encoding: [0x00,0x11,0x24,0xf2,0x02,0x01,0x03,0x00] +0x00,0x11,0x24,0xf2,0x02,0x01,0x03,0x00 + +# CHECK: image_store_mip v1, v2, s[12:19] dmask:0x1 unorm lwe ; encoding: [0x00,0x11,0x26,0xf0,0x02,0x01,0x03,0x00] +0x00,0x11,0x26,0xf0,0x02,0x01,0x03,0x00 + +# CHECK: image_store_mip v1, v2, s[12:19] dmask:0x1 unorm da ; encoding: [0x00,0x51,0x24,0xf0,0x02,0x01,0x03,0x00] +0x00,0x51,0x24,0xf0,0x02,0x01,0x03,0x00 + +# CHECK: image_store_mip v1, v2, s[12:19] dmask:0x1 unorm d16 ; encoding: [0x00,0x11,0x24,0xf0,0x02,0x01,0x03,0x80] +0x00,0x11,0x24,0xf0,0x02,0x01,0x03,0x80 + +# CHECK: image_get_resinfo v5, v1, s[8:15] dmask:0x1 ; encoding: [0x00,0x01,0x38,0xf0,0x01,0x05,0x02,0x00] +0x00,0x01,0x38,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_get_resinfo v252, v1, s[8:15] dmask:0x1 ; encoding: [0x00,0x01,0x38,0xf0,0x01,0xfc,0x02,0x00] +0x00,0x01,0x38,0xf0,0x01,0xfc,0x02,0x00 + +# CHECK: image_get_resinfo v5, v255, s[8:15] dmask:0x1 ; encoding: [0x00,0x01,0x38,0xf0,0xff,0x05,0x02,0x00] +0x00,0x01,0x38,0xf0,0xff,0x05,0x02,0x00 + +# CHECK: image_get_resinfo v5, v1, s[12:19] dmask:0x1 ; encoding: [0x00,0x01,0x38,0xf0,0x01,0x05,0x03,0x00] +0x00,0x01,0x38,0xf0,0x01,0x05,0x03,0x00 + +# CHECK: image_get_resinfo v5, v1, s[92:99] dmask:0x1 ; encoding: [0x00,0x01,0x38,0xf0,0x01,0x05,0x17,0x00] +0x00,0x01,0x38,0xf0,0x01,0x05,0x17,0x00 + +# CHECK: image_get_resinfo v5, v1, s[8:15] dmask:0x2 ; encoding: [0x00,0x02,0x38,0xf0,0x01,0x05,0x02,0x00] +0x00,0x02,0x38,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_get_resinfo v[5:6], v1, s[8:15] dmask:0x3 ; encoding: [0x00,0x03,0x38,0xf0,0x01,0x05,0x02,0x00] +0x00,0x03,0x38,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_get_resinfo v5, v1, s[8:15] dmask:0x4 ; encoding: [0x00,0x04,0x38,0xf0,0x01,0x05,0x02,0x00] +0x00,0x04,0x38,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_get_resinfo v[5:6], v1, s[8:15] dmask:0x5 ; encoding: [0x00,0x05,0x38,0xf0,0x01,0x05,0x02,0x00] +0x00,0x05,0x38,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_get_resinfo v[5:6], v1, s[8:15] dmask:0x6 ; encoding: [0x00,0x06,0x38,0xf0,0x01,0x05,0x02,0x00] +0x00,0x06,0x38,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_get_resinfo v[5:7], v1, s[8:15] dmask:0x7 ; encoding: [0x00,0x07,0x38,0xf0,0x01,0x05,0x02,0x00] +0x00,0x07,0x38,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_get_resinfo v5, v1, s[8:15] dmask:0x8 ; encoding: [0x00,0x08,0x38,0xf0,0x01,0x05,0x02,0x00] +0x00,0x08,0x38,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_get_resinfo v[5:6], v1, s[8:15] dmask:0x9 ; encoding: [0x00,0x09,0x38,0xf0,0x01,0x05,0x02,0x00] +0x00,0x09,0x38,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_get_resinfo v[5:6], v1, s[8:15] dmask:0xa ; encoding: [0x00,0x0a,0x38,0xf0,0x01,0x05,0x02,0x00] +0x00,0x0a,0x38,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_get_resinfo v[5:7], v1, s[8:15] dmask:0xb ; encoding: [0x00,0x0b,0x38,0xf0,0x01,0x05,0x02,0x00] +0x00,0x0b,0x38,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_get_resinfo v[5:6], v1, s[8:15] dmask:0xc ; encoding: [0x00,0x0c,0x38,0xf0,0x01,0x05,0x02,0x00] +0x00,0x0c,0x38,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_get_resinfo v[5:7], v1, s[8:15] dmask:0xd ; encoding: [0x00,0x0d,0x38,0xf0,0x01,0x05,0x02,0x00] +0x00,0x0d,0x38,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_get_resinfo v[5:7], v1, s[8:15] dmask:0xe ; encoding: [0x00,0x0e,0x38,0xf0,0x01,0x05,0x02,0x00] +0x00,0x0e,0x38,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_get_resinfo v[5:8], v1, s[8:15] dmask:0xf ; encoding: [0x00,0x0f,0x38,0xf0,0x01,0x05,0x02,0x00] +0x00,0x0f,0x38,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_get_resinfo v5, v1, s[8:15] ; encoding: [0x00,0x00,0x38,0xf0,0x01,0x05,0x02,0x00] +0x00,0x00,0x38,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_get_resinfo v5, v1, s[8:15] dmask:0x1 unorm ; encoding: [0x00,0x11,0x38,0xf0,0x01,0x05,0x02,0x00] +0x00,0x11,0x38,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_get_resinfo v5, v1, s[8:15] dmask:0x1 glc ; encoding: [0x00,0x21,0x38,0xf0,0x01,0x05,0x02,0x00] +0x00,0x21,0x38,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_get_resinfo v5, v1, s[8:15] dmask:0x1 slc ; encoding: [0x00,0x01,0x38,0xf2,0x01,0x05,0x02,0x00] +0x00,0x01,0x38,0xf2,0x01,0x05,0x02,0x00 + +# CHECK: image_get_resinfo v5, v1, s[8:15] dmask:0x1 tfe ; encoding: [0x00,0x01,0x39,0xf0,0x01,0x05,0x02,0x00] +0x00,0x01,0x39,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_get_resinfo v5, v1, s[8:15] dmask:0x1 lwe ; encoding: [0x00,0x01,0x3a,0xf0,0x01,0x05,0x02,0x00] +0x00,0x01,0x3a,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_get_resinfo v5, v1, s[8:15] dmask:0x1 da ; encoding: [0x00,0x41,0x38,0xf0,0x01,0x05,0x02,0x00] +0x00,0x41,0x38,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_atomic_swap v5, v1, s[8:15] dmask:0x1 unorm ; encoding: [0x00,0x11,0x40,0xf0,0x01,0x05,0x02,0x00] +0x00,0x11,0x40,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_atomic_swap v252, v1, s[8:15] dmask:0x1 unorm ; encoding: [0x00,0x11,0x40,0xf0,0x01,0xfc,0x02,0x00] +0x00,0x11,0x40,0xf0,0x01,0xfc,0x02,0x00 + +# CHECK: image_atomic_swap v5, v252, s[8:15] dmask:0x1 unorm ; encoding: [0x00,0x11,0x40,0xf0,0xfc,0x05,0x02,0x00] +0x00,0x11,0x40,0xf0,0xfc,0x05,0x02,0x00 + +# CHECK: image_atomic_swap v5, v1, s[12:19] dmask:0x1 unorm ; encoding: [0x00,0x11,0x40,0xf0,0x01,0x05,0x03,0x00] +0x00,0x11,0x40,0xf0,0x01,0x05,0x03,0x00 + +# CHECK: image_atomic_swap v5, v1, s[92:99] dmask:0x1 unorm ; encoding: [0x00,0x11,0x40,0xf0,0x01,0x05,0x17,0x00] +0x00,0x11,0x40,0xf0,0x01,0x05,0x17,0x00 + +# CHECK: image_atomic_swap v[5:6], v1, s[8:15] dmask:0x3 unorm ; encoding: [0x00,0x13,0x40,0xf0,0x01,0x05,0x02,0x00] +0x00,0x13,0x40,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_atomic_swap v5, v1, s[8:15] dmask:0x1 unorm glc ; encoding: [0x00,0x31,0x40,0xf0,0x01,0x05,0x02,0x00] +0x00,0x31,0x40,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_atomic_swap v5, v1, s[8:15] dmask:0x1 unorm slc ; encoding: [0x00,0x11,0x40,0xf2,0x01,0x05,0x02,0x00] +0x00,0x11,0x40,0xf2,0x01,0x05,0x02,0x00 + +# CHECK: image_atomic_swap v5, v1, s[8:15] dmask:0x1 unorm lwe ; encoding: [0x00,0x11,0x42,0xf0,0x01,0x05,0x02,0x00] +0x00,0x11,0x42,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_atomic_swap v5, v1, s[8:15] dmask:0x1 unorm da ; encoding: [0x00,0x51,0x40,0xf0,0x01,0x05,0x02,0x00] +0x00,0x51,0x40,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_atomic_cmpswap v[5:6], v1, s[8:15] dmask:0x3 unorm ; encoding: [0x00,0x13,0x44,0xf0,0x01,0x05,0x02,0x00] +0x00,0x13,0x44,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_atomic_cmpswap v[252:253], v1, s[8:15] dmask:0x3 unorm ; encoding: [0x00,0x13,0x44,0xf0,0x01,0xfc,0x02,0x00] +0x00,0x13,0x44,0xf0,0x01,0xfc,0x02,0x00 + +# CHECK: image_atomic_cmpswap v[5:6], v252, s[8:15] dmask:0x3 unorm ; encoding: [0x00,0x13,0x44,0xf0,0xfc,0x05,0x02,0x00] +0x00,0x13,0x44,0xf0,0xfc,0x05,0x02,0x00 + +# CHECK: image_atomic_cmpswap v[5:6], v1, s[12:19] dmask:0x3 unorm ; encoding: [0x00,0x13,0x44,0xf0,0x01,0x05,0x03,0x00] +0x00,0x13,0x44,0xf0,0x01,0x05,0x03,0x00 + +# CHECK: image_atomic_cmpswap v[5:6], v1, s[92:99] dmask:0x3 unorm ; encoding: [0x00,0x13,0x44,0xf0,0x01,0x05,0x17,0x00] +0x00,0x13,0x44,0xf0,0x01,0x05,0x17,0x00 + +# CHECK: image_atomic_cmpswap v[5:8], v1, s[8:15] dmask:0xf unorm ; encoding: [0x00,0x1f,0x44,0xf0,0x01,0x05,0x02,0x00] +0x00,0x1f,0x44,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_atomic_cmpswap v[5:6], v1, s[8:15] dmask:0x3 unorm glc ; encoding: [0x00,0x33,0x44,0xf0,0x01,0x05,0x02,0x00] +0x00,0x33,0x44,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_atomic_cmpswap v[5:6], v1, s[8:15] dmask:0x3 unorm slc ; encoding: [0x00,0x13,0x44,0xf2,0x01,0x05,0x02,0x00] +0x00,0x13,0x44,0xf2,0x01,0x05,0x02,0x00 + +# CHECK: image_atomic_cmpswap v[5:6], v1, s[8:15] dmask:0x3 unorm lwe ; encoding: [0x00,0x13,0x46,0xf0,0x01,0x05,0x02,0x00] +0x00,0x13,0x46,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_atomic_cmpswap v[5:6], v1, s[8:15] dmask:0x3 unorm da ; encoding: [0x00,0x53,0x44,0xf0,0x01,0x05,0x02,0x00] +0x00,0x53,0x44,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_atomic_add v5, v1, s[8:15] dmask:0x1 unorm ; encoding: [0x00,0x11,0x48,0xf0,0x01,0x05,0x02,0x00] +0x00,0x11,0x48,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_atomic_add v252, v1, s[8:15] dmask:0x1 unorm ; encoding: [0x00,0x11,0x48,0xf0,0x01,0xfc,0x02,0x00] +0x00,0x11,0x48,0xf0,0x01,0xfc,0x02,0x00 + +# CHECK: image_atomic_add v5, v252, s[8:15] dmask:0x1 unorm ; encoding: [0x00,0x11,0x48,0xf0,0xfc,0x05,0x02,0x00] +0x00,0x11,0x48,0xf0,0xfc,0x05,0x02,0x00 + +# CHECK: image_atomic_add v5, v1, s[12:19] dmask:0x1 unorm ; encoding: [0x00,0x11,0x48,0xf0,0x01,0x05,0x03,0x00] +0x00,0x11,0x48,0xf0,0x01,0x05,0x03,0x00 + +# CHECK: image_atomic_add v5, v1, s[92:99] dmask:0x1 unorm ; encoding: [0x00,0x11,0x48,0xf0,0x01,0x05,0x17,0x00] +0x00,0x11,0x48,0xf0,0x01,0x05,0x17,0x00 + +# CHECK: image_atomic_add v[5:6], v1, s[8:15] dmask:0x3 unorm ; encoding: [0x00,0x13,0x48,0xf0,0x01,0x05,0x02,0x00] +0x00,0x13,0x48,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_atomic_add v5, v1, s[8:15] dmask:0x1 unorm glc ; encoding: [0x00,0x31,0x48,0xf0,0x01,0x05,0x02,0x00] +0x00,0x31,0x48,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_atomic_add v5, v1, s[8:15] dmask:0x1 unorm slc ; encoding: [0x00,0x11,0x48,0xf2,0x01,0x05,0x02,0x00] +0x00,0x11,0x48,0xf2,0x01,0x05,0x02,0x00 + +# CHECK: image_atomic_add v5, v1, s[8:15] dmask:0x1 unorm lwe ; encoding: [0x00,0x11,0x4a,0xf0,0x01,0x05,0x02,0x00] +0x00,0x11,0x4a,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_atomic_add v5, v1, s[8:15] dmask:0x1 unorm da ; encoding: [0x00,0x51,0x48,0xf0,0x01,0x05,0x02,0x00] +0x00,0x51,0x48,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_atomic_sub v5, v1, s[8:15] dmask:0x1 unorm ; encoding: [0x00,0x11,0x4c,0xf0,0x01,0x05,0x02,0x00] +0x00,0x11,0x4c,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_atomic_sub v252, v1, s[8:15] dmask:0x1 unorm ; encoding: [0x00,0x11,0x4c,0xf0,0x01,0xfc,0x02,0x00] +0x00,0x11,0x4c,0xf0,0x01,0xfc,0x02,0x00 + +# CHECK: image_atomic_sub v5, v252, s[8:15] dmask:0x1 unorm ; encoding: [0x00,0x11,0x4c,0xf0,0xfc,0x05,0x02,0x00] +0x00,0x11,0x4c,0xf0,0xfc,0x05,0x02,0x00 + +# CHECK: image_atomic_sub v5, v1, s[12:19] dmask:0x1 unorm ; encoding: [0x00,0x11,0x4c,0xf0,0x01,0x05,0x03,0x00] +0x00,0x11,0x4c,0xf0,0x01,0x05,0x03,0x00 + +# CHECK: image_atomic_sub v5, v1, s[92:99] dmask:0x1 unorm ; encoding: [0x00,0x11,0x4c,0xf0,0x01,0x05,0x17,0x00] +0x00,0x11,0x4c,0xf0,0x01,0x05,0x17,0x00 + +# CHECK: image_atomic_sub v[5:6], v1, s[8:15] dmask:0x3 unorm ; encoding: [0x00,0x13,0x4c,0xf0,0x01,0x05,0x02,0x00] +0x00,0x13,0x4c,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_atomic_sub v5, v1, s[8:15] dmask:0x1 unorm glc ; encoding: [0x00,0x31,0x4c,0xf0,0x01,0x05,0x02,0x00] +0x00,0x31,0x4c,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_atomic_sub v5, v1, s[8:15] dmask:0x1 unorm slc ; encoding: [0x00,0x11,0x4c,0xf2,0x01,0x05,0x02,0x00] +0x00,0x11,0x4c,0xf2,0x01,0x05,0x02,0x00 + +# CHECK: image_atomic_sub v5, v1, s[8:15] dmask:0x1 unorm lwe ; encoding: [0x00,0x11,0x4e,0xf0,0x01,0x05,0x02,0x00] +0x00,0x11,0x4e,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_atomic_sub v5, v1, s[8:15] dmask:0x1 unorm da ; encoding: [0x00,0x51,0x4c,0xf0,0x01,0x05,0x02,0x00] +0x00,0x51,0x4c,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_atomic_smin v5, v1, s[8:15] dmask:0x1 unorm ; encoding: [0x00,0x11,0x50,0xf0,0x01,0x05,0x02,0x00] +0x00,0x11,0x50,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_atomic_smin v252, v1, s[8:15] dmask:0x1 unorm ; encoding: [0x00,0x11,0x50,0xf0,0x01,0xfc,0x02,0x00] +0x00,0x11,0x50,0xf0,0x01,0xfc,0x02,0x00 + +# CHECK: image_atomic_smin v5, v252, s[8:15] dmask:0x1 unorm ; encoding: [0x00,0x11,0x50,0xf0,0xfc,0x05,0x02,0x00] +0x00,0x11,0x50,0xf0,0xfc,0x05,0x02,0x00 + +# CHECK: image_atomic_smin v5, v1, s[12:19] dmask:0x1 unorm ; encoding: [0x00,0x11,0x50,0xf0,0x01,0x05,0x03,0x00] +0x00,0x11,0x50,0xf0,0x01,0x05,0x03,0x00 + +# CHECK: image_atomic_smin v5, v1, s[92:99] dmask:0x1 unorm ; encoding: [0x00,0x11,0x50,0xf0,0x01,0x05,0x17,0x00] +0x00,0x11,0x50,0xf0,0x01,0x05,0x17,0x00 + +# CHECK: image_atomic_smin v[5:6], v1, s[8:15] dmask:0x3 unorm ; encoding: [0x00,0x13,0x50,0xf0,0x01,0x05,0x02,0x00] +0x00,0x13,0x50,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_atomic_smin v5, v1, s[8:15] dmask:0x1 unorm glc ; encoding: [0x00,0x31,0x50,0xf0,0x01,0x05,0x02,0x00] +0x00,0x31,0x50,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_atomic_smin v5, v1, s[8:15] dmask:0x1 unorm slc ; encoding: [0x00,0x11,0x50,0xf2,0x01,0x05,0x02,0x00] +0x00,0x11,0x50,0xf2,0x01,0x05,0x02,0x00 + +# CHECK: image_atomic_smin v5, v1, s[8:15] dmask:0x1 unorm lwe ; encoding: [0x00,0x11,0x52,0xf0,0x01,0x05,0x02,0x00] +0x00,0x11,0x52,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_atomic_smin v5, v1, s[8:15] dmask:0x1 unorm da ; encoding: [0x00,0x51,0x50,0xf0,0x01,0x05,0x02,0x00] +0x00,0x51,0x50,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_atomic_umin v5, v1, s[8:15] dmask:0x1 unorm ; encoding: [0x00,0x11,0x54,0xf0,0x01,0x05,0x02,0x00] +0x00,0x11,0x54,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_atomic_umin v252, v1, s[8:15] dmask:0x1 unorm ; encoding: [0x00,0x11,0x54,0xf0,0x01,0xfc,0x02,0x00] +0x00,0x11,0x54,0xf0,0x01,0xfc,0x02,0x00 + +# CHECK: image_atomic_umin v5, v252, s[8:15] dmask:0x1 unorm ; encoding: [0x00,0x11,0x54,0xf0,0xfc,0x05,0x02,0x00] +0x00,0x11,0x54,0xf0,0xfc,0x05,0x02,0x00 + +# CHECK: image_atomic_umin v5, v1, s[12:19] dmask:0x1 unorm ; encoding: [0x00,0x11,0x54,0xf0,0x01,0x05,0x03,0x00] +0x00,0x11,0x54,0xf0,0x01,0x05,0x03,0x00 + +# CHECK: image_atomic_umin v5, v1, s[92:99] dmask:0x1 unorm ; encoding: [0x00,0x11,0x54,0xf0,0x01,0x05,0x17,0x00] +0x00,0x11,0x54,0xf0,0x01,0x05,0x17,0x00 + +# CHECK: image_atomic_umin v[5:6], v1, s[8:15] dmask:0x3 unorm ; encoding: [0x00,0x13,0x54,0xf0,0x01,0x05,0x02,0x00] +0x00,0x13,0x54,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_atomic_umin v5, v1, s[8:15] dmask:0x1 unorm glc ; encoding: [0x00,0x31,0x54,0xf0,0x01,0x05,0x02,0x00] +0x00,0x31,0x54,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_atomic_umin v5, v1, s[8:15] dmask:0x1 unorm slc ; encoding: [0x00,0x11,0x54,0xf2,0x01,0x05,0x02,0x00] +0x00,0x11,0x54,0xf2,0x01,0x05,0x02,0x00 + +# CHECK: image_atomic_umin v5, v1, s[8:15] dmask:0x1 unorm lwe ; encoding: [0x00,0x11,0x56,0xf0,0x01,0x05,0x02,0x00] +0x00,0x11,0x56,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_atomic_umin v5, v1, s[8:15] dmask:0x1 unorm da ; encoding: [0x00,0x51,0x54,0xf0,0x01,0x05,0x02,0x00] +0x00,0x51,0x54,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_atomic_smax v5, v1, s[8:15] dmask:0x1 unorm ; encoding: [0x00,0x11,0x58,0xf0,0x01,0x05,0x02,0x00] +0x00,0x11,0x58,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_atomic_smax v252, v1, s[8:15] dmask:0x1 unorm ; encoding: [0x00,0x11,0x58,0xf0,0x01,0xfc,0x02,0x00] +0x00,0x11,0x58,0xf0,0x01,0xfc,0x02,0x00 + +# CHECK: image_atomic_smax v5, v252, s[8:15] dmask:0x1 unorm ; encoding: [0x00,0x11,0x58,0xf0,0xfc,0x05,0x02,0x00] +0x00,0x11,0x58,0xf0,0xfc,0x05,0x02,0x00 + +# CHECK: image_atomic_smax v5, v1, s[12:19] dmask:0x1 unorm ; encoding: [0x00,0x11,0x58,0xf0,0x01,0x05,0x03,0x00] +0x00,0x11,0x58,0xf0,0x01,0x05,0x03,0x00 + +# CHECK: image_atomic_smax v5, v1, s[92:99] dmask:0x1 unorm ; encoding: [0x00,0x11,0x58,0xf0,0x01,0x05,0x17,0x00] +0x00,0x11,0x58,0xf0,0x01,0x05,0x17,0x00 + +# CHECK: image_atomic_smax v[5:6], v1, s[8:15] dmask:0x3 unorm ; encoding: [0x00,0x13,0x58,0xf0,0x01,0x05,0x02,0x00] +0x00,0x13,0x58,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_atomic_smax v5, v1, s[8:15] dmask:0x1 unorm glc ; encoding: [0x00,0x31,0x58,0xf0,0x01,0x05,0x02,0x00] +0x00,0x31,0x58,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_atomic_smax v5, v1, s[8:15] dmask:0x1 unorm slc ; encoding: [0x00,0x11,0x58,0xf2,0x01,0x05,0x02,0x00] +0x00,0x11,0x58,0xf2,0x01,0x05,0x02,0x00 + +# CHECK: image_atomic_smax v5, v1, s[8:15] dmask:0x1 unorm lwe ; encoding: [0x00,0x11,0x5a,0xf0,0x01,0x05,0x02,0x00] +0x00,0x11,0x5a,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_atomic_smax v5, v1, s[8:15] dmask:0x1 unorm da ; encoding: [0x00,0x51,0x58,0xf0,0x01,0x05,0x02,0x00] +0x00,0x51,0x58,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_atomic_umax v5, v1, s[8:15] dmask:0x1 unorm ; encoding: [0x00,0x11,0x5c,0xf0,0x01,0x05,0x02,0x00] +0x00,0x11,0x5c,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_atomic_umax v252, v1, s[8:15] dmask:0x1 unorm ; encoding: [0x00,0x11,0x5c,0xf0,0x01,0xfc,0x02,0x00] +0x00,0x11,0x5c,0xf0,0x01,0xfc,0x02,0x00 + +# CHECK: image_atomic_umax v5, v252, s[8:15] dmask:0x1 unorm ; encoding: [0x00,0x11,0x5c,0xf0,0xfc,0x05,0x02,0x00] +0x00,0x11,0x5c,0xf0,0xfc,0x05,0x02,0x00 + +# CHECK: image_atomic_umax v5, v1, s[12:19] dmask:0x1 unorm ; encoding: [0x00,0x11,0x5c,0xf0,0x01,0x05,0x03,0x00] +0x00,0x11,0x5c,0xf0,0x01,0x05,0x03,0x00 + +# CHECK: image_atomic_umax v5, v1, s[92:99] dmask:0x1 unorm ; encoding: [0x00,0x11,0x5c,0xf0,0x01,0x05,0x17,0x00] +0x00,0x11,0x5c,0xf0,0x01,0x05,0x17,0x00 + +# CHECK: image_atomic_umax v[5:6], v1, s[8:15] dmask:0x3 unorm ; encoding: [0x00,0x13,0x5c,0xf0,0x01,0x05,0x02,0x00] +0x00,0x13,0x5c,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_atomic_umax v5, v1, s[8:15] dmask:0x1 unorm glc ; encoding: [0x00,0x31,0x5c,0xf0,0x01,0x05,0x02,0x00] +0x00,0x31,0x5c,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_atomic_umax v5, v1, s[8:15] dmask:0x1 unorm slc ; encoding: [0x00,0x11,0x5c,0xf2,0x01,0x05,0x02,0x00] +0x00,0x11,0x5c,0xf2,0x01,0x05,0x02,0x00 + +# CHECK: image_atomic_umax v5, v1, s[8:15] dmask:0x1 unorm lwe ; encoding: [0x00,0x11,0x5e,0xf0,0x01,0x05,0x02,0x00] +0x00,0x11,0x5e,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_atomic_umax v5, v1, s[8:15] dmask:0x1 unorm da ; encoding: [0x00,0x51,0x5c,0xf0,0x01,0x05,0x02,0x00] +0x00,0x51,0x5c,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_atomic_and v5, v1, s[8:15] dmask:0x1 unorm ; encoding: [0x00,0x11,0x60,0xf0,0x01,0x05,0x02,0x00] +0x00,0x11,0x60,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_atomic_and v252, v1, s[8:15] dmask:0x1 unorm ; encoding: [0x00,0x11,0x60,0xf0,0x01,0xfc,0x02,0x00] +0x00,0x11,0x60,0xf0,0x01,0xfc,0x02,0x00 + +# CHECK: image_atomic_and v5, v252, s[8:15] dmask:0x1 unorm ; encoding: [0x00,0x11,0x60,0xf0,0xfc,0x05,0x02,0x00] +0x00,0x11,0x60,0xf0,0xfc,0x05,0x02,0x00 + +# CHECK: image_atomic_and v5, v1, s[12:19] dmask:0x1 unorm ; encoding: [0x00,0x11,0x60,0xf0,0x01,0x05,0x03,0x00] +0x00,0x11,0x60,0xf0,0x01,0x05,0x03,0x00 + +# CHECK: image_atomic_and v5, v1, s[92:99] dmask:0x1 unorm ; encoding: [0x00,0x11,0x60,0xf0,0x01,0x05,0x17,0x00] +0x00,0x11,0x60,0xf0,0x01,0x05,0x17,0x00 + +# CHECK: image_atomic_and v[5:6], v1, s[8:15] dmask:0x3 unorm ; encoding: [0x00,0x13,0x60,0xf0,0x01,0x05,0x02,0x00] +0x00,0x13,0x60,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_atomic_and v5, v1, s[8:15] dmask:0x1 unorm glc ; encoding: [0x00,0x31,0x60,0xf0,0x01,0x05,0x02,0x00] +0x00,0x31,0x60,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_atomic_and v5, v1, s[8:15] dmask:0x1 unorm slc ; encoding: [0x00,0x11,0x60,0xf2,0x01,0x05,0x02,0x00] +0x00,0x11,0x60,0xf2,0x01,0x05,0x02,0x00 + +# CHECK: image_atomic_and v5, v1, s[8:15] dmask:0x1 unorm lwe ; encoding: [0x00,0x11,0x62,0xf0,0x01,0x05,0x02,0x00] +0x00,0x11,0x62,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_atomic_and v5, v1, s[8:15] dmask:0x1 unorm da ; encoding: [0x00,0x51,0x60,0xf0,0x01,0x05,0x02,0x00] +0x00,0x51,0x60,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_atomic_or v5, v1, s[8:15] dmask:0x1 unorm ; encoding: [0x00,0x11,0x64,0xf0,0x01,0x05,0x02,0x00] +0x00,0x11,0x64,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_atomic_or v252, v1, s[8:15] dmask:0x1 unorm ; encoding: [0x00,0x11,0x64,0xf0,0x01,0xfc,0x02,0x00] +0x00,0x11,0x64,0xf0,0x01,0xfc,0x02,0x00 + +# CHECK: image_atomic_or v5, v252, s[8:15] dmask:0x1 unorm ; encoding: [0x00,0x11,0x64,0xf0,0xfc,0x05,0x02,0x00] +0x00,0x11,0x64,0xf0,0xfc,0x05,0x02,0x00 + +# CHECK: image_atomic_or v5, v1, s[12:19] dmask:0x1 unorm ; encoding: [0x00,0x11,0x64,0xf0,0x01,0x05,0x03,0x00] +0x00,0x11,0x64,0xf0,0x01,0x05,0x03,0x00 + +# CHECK: image_atomic_or v5, v1, s[92:99] dmask:0x1 unorm ; encoding: [0x00,0x11,0x64,0xf0,0x01,0x05,0x17,0x00] +0x00,0x11,0x64,0xf0,0x01,0x05,0x17,0x00 + +# CHECK: image_atomic_or v[5:6], v1, s[8:15] dmask:0x3 unorm ; encoding: [0x00,0x13,0x64,0xf0,0x01,0x05,0x02,0x00] +0x00,0x13,0x64,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_atomic_or v5, v1, s[8:15] dmask:0x1 unorm glc ; encoding: [0x00,0x31,0x64,0xf0,0x01,0x05,0x02,0x00] +0x00,0x31,0x64,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_atomic_or v5, v1, s[8:15] dmask:0x1 unorm slc ; encoding: [0x00,0x11,0x64,0xf2,0x01,0x05,0x02,0x00] +0x00,0x11,0x64,0xf2,0x01,0x05,0x02,0x00 + +# CHECK: image_atomic_or v5, v1, s[8:15] dmask:0x1 unorm lwe ; encoding: [0x00,0x11,0x66,0xf0,0x01,0x05,0x02,0x00] +0x00,0x11,0x66,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_atomic_or v5, v1, s[8:15] dmask:0x1 unorm da ; encoding: [0x00,0x51,0x64,0xf0,0x01,0x05,0x02,0x00] +0x00,0x51,0x64,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_atomic_xor v5, v1, s[8:15] dmask:0x1 unorm ; encoding: [0x00,0x11,0x68,0xf0,0x01,0x05,0x02,0x00] +0x00,0x11,0x68,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_atomic_xor v252, v1, s[8:15] dmask:0x1 unorm ; encoding: [0x00,0x11,0x68,0xf0,0x01,0xfc,0x02,0x00] +0x00,0x11,0x68,0xf0,0x01,0xfc,0x02,0x00 + +# CHECK: image_atomic_xor v5, v252, s[8:15] dmask:0x1 unorm ; encoding: [0x00,0x11,0x68,0xf0,0xfc,0x05,0x02,0x00] +0x00,0x11,0x68,0xf0,0xfc,0x05,0x02,0x00 + +# CHECK: image_atomic_xor v5, v1, s[12:19] dmask:0x1 unorm ; encoding: [0x00,0x11,0x68,0xf0,0x01,0x05,0x03,0x00] +0x00,0x11,0x68,0xf0,0x01,0x05,0x03,0x00 + +# CHECK: image_atomic_xor v5, v1, s[92:99] dmask:0x1 unorm ; encoding: [0x00,0x11,0x68,0xf0,0x01,0x05,0x17,0x00] +0x00,0x11,0x68,0xf0,0x01,0x05,0x17,0x00 + +# CHECK: image_atomic_xor v[5:6], v1, s[8:15] dmask:0x3 unorm ; encoding: [0x00,0x13,0x68,0xf0,0x01,0x05,0x02,0x00] +0x00,0x13,0x68,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_atomic_xor v5, v1, s[8:15] dmask:0x1 unorm glc ; encoding: [0x00,0x31,0x68,0xf0,0x01,0x05,0x02,0x00] +0x00,0x31,0x68,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_atomic_xor v5, v1, s[8:15] dmask:0x1 unorm slc ; encoding: [0x00,0x11,0x68,0xf2,0x01,0x05,0x02,0x00] +0x00,0x11,0x68,0xf2,0x01,0x05,0x02,0x00 + +# CHECK: image_atomic_xor v5, v1, s[8:15] dmask:0x1 unorm lwe ; encoding: [0x00,0x11,0x6a,0xf0,0x01,0x05,0x02,0x00] +0x00,0x11,0x6a,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_atomic_xor v5, v1, s[8:15] dmask:0x1 unorm da ; encoding: [0x00,0x51,0x68,0xf0,0x01,0x05,0x02,0x00] +0x00,0x51,0x68,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_atomic_inc v5, v1, s[8:15] dmask:0x1 unorm ; encoding: [0x00,0x11,0x6c,0xf0,0x01,0x05,0x02,0x00] +0x00,0x11,0x6c,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_atomic_inc v252, v1, s[8:15] dmask:0x1 unorm ; encoding: [0x00,0x11,0x6c,0xf0,0x01,0xfc,0x02,0x00] +0x00,0x11,0x6c,0xf0,0x01,0xfc,0x02,0x00 + +# CHECK: image_atomic_inc v5, v252, s[8:15] dmask:0x1 unorm ; encoding: [0x00,0x11,0x6c,0xf0,0xfc,0x05,0x02,0x00] +0x00,0x11,0x6c,0xf0,0xfc,0x05,0x02,0x00 + +# CHECK: image_atomic_inc v5, v1, s[12:19] dmask:0x1 unorm ; encoding: [0x00,0x11,0x6c,0xf0,0x01,0x05,0x03,0x00] +0x00,0x11,0x6c,0xf0,0x01,0x05,0x03,0x00 + +# CHECK: image_atomic_inc v5, v1, s[92:99] dmask:0x1 unorm ; encoding: [0x00,0x11,0x6c,0xf0,0x01,0x05,0x17,0x00] +0x00,0x11,0x6c,0xf0,0x01,0x05,0x17,0x00 + +# CHECK: image_atomic_inc v[5:6], v1, s[8:15] dmask:0x3 unorm ; encoding: [0x00,0x13,0x6c,0xf0,0x01,0x05,0x02,0x00] +0x00,0x13,0x6c,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_atomic_inc v5, v1, s[8:15] dmask:0x1 unorm glc ; encoding: [0x00,0x31,0x6c,0xf0,0x01,0x05,0x02,0x00] +0x00,0x31,0x6c,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_atomic_inc v5, v1, s[8:15] dmask:0x1 unorm slc ; encoding: [0x00,0x11,0x6c,0xf2,0x01,0x05,0x02,0x00] +0x00,0x11,0x6c,0xf2,0x01,0x05,0x02,0x00 + +# CHECK: image_atomic_inc v5, v1, s[8:15] dmask:0x1 unorm lwe ; encoding: [0x00,0x11,0x6e,0xf0,0x01,0x05,0x02,0x00] +0x00,0x11,0x6e,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_atomic_inc v5, v1, s[8:15] dmask:0x1 unorm da ; encoding: [0x00,0x51,0x6c,0xf0,0x01,0x05,0x02,0x00] +0x00,0x51,0x6c,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_atomic_dec v5, v1, s[8:15] dmask:0x1 unorm ; encoding: [0x00,0x11,0x70,0xf0,0x01,0x05,0x02,0x00] +0x00,0x11,0x70,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_atomic_dec v252, v1, s[8:15] dmask:0x1 unorm ; encoding: [0x00,0x11,0x70,0xf0,0x01,0xfc,0x02,0x00] +0x00,0x11,0x70,0xf0,0x01,0xfc,0x02,0x00 + +# CHECK: image_atomic_dec v5, v252, s[8:15] dmask:0x1 unorm ; encoding: [0x00,0x11,0x70,0xf0,0xfc,0x05,0x02,0x00] +0x00,0x11,0x70,0xf0,0xfc,0x05,0x02,0x00 + +# CHECK: image_atomic_dec v5, v1, s[12:19] dmask:0x1 unorm ; encoding: [0x00,0x11,0x70,0xf0,0x01,0x05,0x03,0x00] +0x00,0x11,0x70,0xf0,0x01,0x05,0x03,0x00 + +# CHECK: image_atomic_dec v5, v1, s[92:99] dmask:0x1 unorm ; encoding: [0x00,0x11,0x70,0xf0,0x01,0x05,0x17,0x00] +0x00,0x11,0x70,0xf0,0x01,0x05,0x17,0x00 + +# CHECK: image_atomic_dec v[5:6], v1, s[8:15] dmask:0x3 unorm ; encoding: [0x00,0x13,0x70,0xf0,0x01,0x05,0x02,0x00] +0x00,0x13,0x70,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_atomic_dec v5, v1, s[8:15] dmask:0x1 unorm glc ; encoding: [0x00,0x31,0x70,0xf0,0x01,0x05,0x02,0x00] +0x00,0x31,0x70,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_atomic_dec v5, v1, s[8:15] dmask:0x1 unorm slc ; encoding: [0x00,0x11,0x70,0xf2,0x01,0x05,0x02,0x00] +0x00,0x11,0x70,0xf2,0x01,0x05,0x02,0x00 + +# CHECK: image_atomic_dec v5, v1, s[8:15] dmask:0x1 unorm lwe ; encoding: [0x00,0x11,0x72,0xf0,0x01,0x05,0x02,0x00] +0x00,0x11,0x72,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_atomic_dec v5, v1, s[8:15] dmask:0x1 unorm da ; encoding: [0x00,0x51,0x70,0xf0,0x01,0x05,0x02,0x00] +0x00,0x51,0x70,0xf0,0x01,0x05,0x02,0x00 + +# CHECK: image_sample_cl v5, v1, s[8:15], s[12:15] dmask:0x1 ; encoding: [0x00,0x01,0x84,0xf0,0x01,0x05,0x62,0x00] +0x00,0x01,0x84,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_cl v252, v1, s[8:15], s[12:15] dmask:0x1 ; encoding: [0x00,0x01,0x84,0xf0,0x01,0xfc,0x62,0x00] +0x00,0x01,0x84,0xf0,0x01,0xfc,0x62,0x00 + +# CHECK: image_sample_cl v5, v252, s[8:15], s[12:15] dmask:0x1 ; encoding: [0x00,0x01,0x84,0xf0,0xfc,0x05,0x62,0x00] +0x00,0x01,0x84,0xf0,0xfc,0x05,0x62,0x00 + +# CHECK: image_sample_cl v5, v1, s[12:19], s[12:15] dmask:0x1 ; encoding: [0x00,0x01,0x84,0xf0,0x01,0x05,0x63,0x00] +0x00,0x01,0x84,0xf0,0x01,0x05,0x63,0x00 + +# CHECK: image_sample_cl v5, v1, s[92:99], s[12:15] dmask:0x1 ; encoding: [0x00,0x01,0x84,0xf0,0x01,0x05,0x77,0x00] +0x00,0x01,0x84,0xf0,0x01,0x05,0x77,0x00 + +# CHECK: image_sample_cl v5, v1, s[8:15], s[16:19] dmask:0x1 ; encoding: [0x00,0x01,0x84,0xf0,0x01,0x05,0x82,0x00] +0x00,0x01,0x84,0xf0,0x01,0x05,0x82,0x00 + +# CHECK: image_sample_cl v5, v1, s[8:15], s[96:99] dmask:0x1 ; encoding: [0x00,0x01,0x84,0xf0,0x01,0x05,0x02,0x03] +0x00,0x01,0x84,0xf0,0x01,0x05,0x02,0x03 + +# CHECK: image_sample_cl v5, v1, s[8:15], s[12:15] dmask:0x2 ; encoding: [0x00,0x02,0x84,0xf0,0x01,0x05,0x62,0x00] +0x00,0x02,0x84,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_cl v[5:6], v1, s[8:15], s[12:15] dmask:0x3 ; encoding: [0x00,0x03,0x84,0xf0,0x01,0x05,0x62,0x00] +0x00,0x03,0x84,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_cl v5, v1, s[8:15], s[12:15] dmask:0x4 ; encoding: [0x00,0x04,0x84,0xf0,0x01,0x05,0x62,0x00] +0x00,0x04,0x84,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_cl v[5:6], v1, s[8:15], s[12:15] dmask:0x5 ; encoding: [0x00,0x05,0x84,0xf0,0x01,0x05,0x62,0x00] +0x00,0x05,0x84,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_cl v[5:6], v1, s[8:15], s[12:15] dmask:0x6 ; encoding: [0x00,0x06,0x84,0xf0,0x01,0x05,0x62,0x00] +0x00,0x06,0x84,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_cl v[5:7], v1, s[8:15], s[12:15] dmask:0x7 ; encoding: [0x00,0x07,0x84,0xf0,0x01,0x05,0x62,0x00] +0x00,0x07,0x84,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_cl v5, v1, s[8:15], s[12:15] dmask:0x8 ; encoding: [0x00,0x08,0x84,0xf0,0x01,0x05,0x62,0x00] +0x00,0x08,0x84,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_cl v[5:6], v1, s[8:15], s[12:15] dmask:0x9 ; encoding: [0x00,0x09,0x84,0xf0,0x01,0x05,0x62,0x00] +0x00,0x09,0x84,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_cl v[5:6], v1, s[8:15], s[12:15] dmask:0xa ; encoding: [0x00,0x0a,0x84,0xf0,0x01,0x05,0x62,0x00] +0x00,0x0a,0x84,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_cl v[5:7], v1, s[8:15], s[12:15] dmask:0xb ; encoding: [0x00,0x0b,0x84,0xf0,0x01,0x05,0x62,0x00] +0x00,0x0b,0x84,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_cl v[5:6], v1, s[8:15], s[12:15] dmask:0xc ; encoding: [0x00,0x0c,0x84,0xf0,0x01,0x05,0x62,0x00] +0x00,0x0c,0x84,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_cl v[5:7], v1, s[8:15], s[12:15] dmask:0xd ; encoding: [0x00,0x0d,0x84,0xf0,0x01,0x05,0x62,0x00] +0x00,0x0d,0x84,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_cl v[5:7], v1, s[8:15], s[12:15] dmask:0xe ; encoding: [0x00,0x0e,0x84,0xf0,0x01,0x05,0x62,0x00] +0x00,0x0e,0x84,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_cl v5, v1, s[8:15], s[12:15] ; encoding: [0x00,0x00,0x84,0xf0,0x01,0x05,0x62,0x00] +0x00,0x00,0x84,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_cl v5, v1, s[8:15], s[12:15] dmask:0x1 unorm ; encoding: [0x00,0x11,0x84,0xf0,0x01,0x05,0x62,0x00] +0x00,0x11,0x84,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_cl v5, v1, s[8:15], s[12:15] dmask:0x1 glc ; encoding: [0x00,0x21,0x84,0xf0,0x01,0x05,0x62,0x00] +0x00,0x21,0x84,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_cl v5, v1, s[8:15], s[12:15] dmask:0x1 slc ; encoding: [0x00,0x01,0x84,0xf2,0x01,0x05,0x62,0x00] +0x00,0x01,0x84,0xf2,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_cl v5, v1, s[8:15], s[12:15] dmask:0x1 tfe ; encoding: [0x00,0x01,0x85,0xf0,0x01,0x05,0x62,0x00] +0x00,0x01,0x85,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_cl v5, v1, s[8:15], s[12:15] dmask:0x1 lwe ; encoding: [0x00,0x01,0x86,0xf0,0x01,0x05,0x62,0x00] +0x00,0x01,0x86,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_cl v5, v1, s[8:15], s[12:15] dmask:0x1 da ; encoding: [0x00,0x41,0x84,0xf0,0x01,0x05,0x62,0x00] +0x00,0x41,0x84,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_cl v5, v1, s[8:15], s[12:15] dmask:0x1 d16 ; encoding: [0x00,0x01,0x84,0xf0,0x01,0x05,0x62,0x80] +0x00,0x01,0x84,0xf0,0x01,0x05,0x62,0x80 + +# CHECK: image_sample_l v5, v1, s[8:15], s[12:15] dmask:0x1 ; encoding: [0x00,0x01,0x90,0xf0,0x01,0x05,0x62,0x00] +0x00,0x01,0x90,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_l v252, v1, s[8:15], s[12:15] dmask:0x1 ; encoding: [0x00,0x01,0x90,0xf0,0x01,0xfc,0x62,0x00] +0x00,0x01,0x90,0xf0,0x01,0xfc,0x62,0x00 + +# CHECK: image_sample_l v5, v252, s[8:15], s[12:15] dmask:0x1 ; encoding: [0x00,0x01,0x90,0xf0,0xfc,0x05,0x62,0x00] +0x00,0x01,0x90,0xf0,0xfc,0x05,0x62,0x00 + +# CHECK: image_sample_l v5, v1, s[12:19], s[12:15] dmask:0x1 ; encoding: [0x00,0x01,0x90,0xf0,0x01,0x05,0x63,0x00] +0x00,0x01,0x90,0xf0,0x01,0x05,0x63,0x00 + +# CHECK: image_sample_l v5, v1, s[92:99], s[12:15] dmask:0x1 ; encoding: [0x00,0x01,0x90,0xf0,0x01,0x05,0x77,0x00] +0x00,0x01,0x90,0xf0,0x01,0x05,0x77,0x00 + +# CHECK: image_sample_l v5, v1, s[8:15], s[16:19] dmask:0x1 ; encoding: [0x00,0x01,0x90,0xf0,0x01,0x05,0x82,0x00] +0x00,0x01,0x90,0xf0,0x01,0x05,0x82,0x00 + +# CHECK: image_sample_l v5, v1, s[8:15], s[96:99] dmask:0x1 ; encoding: [0x00,0x01,0x90,0xf0,0x01,0x05,0x02,0x03] +0x00,0x01,0x90,0xf0,0x01,0x05,0x02,0x03 + +# CHECK: image_sample_l v5, v1, s[8:15], s[12:15] dmask:0x2 ; encoding: [0x00,0x02,0x90,0xf0,0x01,0x05,0x62,0x00] +0x00,0x02,0x90,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_l v[5:6], v1, s[8:15], s[12:15] dmask:0x3 ; encoding: [0x00,0x03,0x90,0xf0,0x01,0x05,0x62,0x00] +0x00,0x03,0x90,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_l v5, v1, s[8:15], s[12:15] dmask:0x4 ; encoding: [0x00,0x04,0x90,0xf0,0x01,0x05,0x62,0x00] +0x00,0x04,0x90,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_l v[5:6], v1, s[8:15], s[12:15] dmask:0x5 ; encoding: [0x00,0x05,0x90,0xf0,0x01,0x05,0x62,0x00] +0x00,0x05,0x90,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_l v[5:6], v1, s[8:15], s[12:15] dmask:0x6 ; encoding: [0x00,0x06,0x90,0xf0,0x01,0x05,0x62,0x00] +0x00,0x06,0x90,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_l v[5:7], v1, s[8:15], s[12:15] dmask:0x7 ; encoding: [0x00,0x07,0x90,0xf0,0x01,0x05,0x62,0x00] +0x00,0x07,0x90,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_l v5, v1, s[8:15], s[12:15] dmask:0x8 ; encoding: [0x00,0x08,0x90,0xf0,0x01,0x05,0x62,0x00] +0x00,0x08,0x90,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_l v[5:6], v1, s[8:15], s[12:15] dmask:0x9 ; encoding: [0x00,0x09,0x90,0xf0,0x01,0x05,0x62,0x00] +0x00,0x09,0x90,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_l v[5:6], v1, s[8:15], s[12:15] dmask:0xa ; encoding: [0x00,0x0a,0x90,0xf0,0x01,0x05,0x62,0x00] +0x00,0x0a,0x90,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_l v[5:7], v1, s[8:15], s[12:15] dmask:0xb ; encoding: [0x00,0x0b,0x90,0xf0,0x01,0x05,0x62,0x00] +0x00,0x0b,0x90,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_l v[5:6], v1, s[8:15], s[12:15] dmask:0xc ; encoding: [0x00,0x0c,0x90,0xf0,0x01,0x05,0x62,0x00] +0x00,0x0c,0x90,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_l v[5:7], v1, s[8:15], s[12:15] dmask:0xd ; encoding: [0x00,0x0d,0x90,0xf0,0x01,0x05,0x62,0x00] +0x00,0x0d,0x90,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_l v[5:7], v1, s[8:15], s[12:15] dmask:0xe ; encoding: [0x00,0x0e,0x90,0xf0,0x01,0x05,0x62,0x00] +0x00,0x0e,0x90,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_l v5, v1, s[8:15], s[12:15] ; encoding: [0x00,0x00,0x90,0xf0,0x01,0x05,0x62,0x00] +0x00,0x00,0x90,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_l v5, v1, s[8:15], s[12:15] dmask:0x1 unorm ; encoding: [0x00,0x11,0x90,0xf0,0x01,0x05,0x62,0x00] +0x00,0x11,0x90,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_l v5, v1, s[8:15], s[12:15] dmask:0x1 glc ; encoding: [0x00,0x21,0x90,0xf0,0x01,0x05,0x62,0x00] +0x00,0x21,0x90,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_l v5, v1, s[8:15], s[12:15] dmask:0x1 slc ; encoding: [0x00,0x01,0x90,0xf2,0x01,0x05,0x62,0x00] +0x00,0x01,0x90,0xf2,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_l v5, v1, s[8:15], s[12:15] dmask:0x1 tfe ; encoding: [0x00,0x01,0x91,0xf0,0x01,0x05,0x62,0x00] +0x00,0x01,0x91,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_l v5, v1, s[8:15], s[12:15] dmask:0x1 lwe ; encoding: [0x00,0x01,0x92,0xf0,0x01,0x05,0x62,0x00] +0x00,0x01,0x92,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_l v5, v1, s[8:15], s[12:15] dmask:0x1 da ; encoding: [0x00,0x41,0x90,0xf0,0x01,0x05,0x62,0x00] +0x00,0x41,0x90,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_l v5, v1, s[8:15], s[12:15] dmask:0x1 d16 ; encoding: [0x00,0x01,0x90,0xf0,0x01,0x05,0x62,0x80] +0x00,0x01,0x90,0xf0,0x01,0x05,0x62,0x80 + +# CHECK: image_sample_b v5, v[1:2], s[8:15], s[12:15] dmask:0x1 ; encoding: [0x00,0x01,0x94,0xf0,0x01,0x05,0x62,0x00] +0x00,0x01,0x94,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_b v252, v[1:2], s[8:15], s[12:15] dmask:0x1 ; encoding: [0x00,0x01,0x94,0xf0,0x01,0xfc,0x62,0x00] +0x00,0x01,0x94,0xf0,0x01,0xfc,0x62,0x00 + +# CHECK: image_sample_b v5, v[252:253], s[8:15], s[12:15] dmask:0x1 ; encoding: [0x00,0x01,0x94,0xf0,0xfc,0x05,0x62,0x00] +0x00,0x01,0x94,0xf0,0xfc,0x05,0x62,0x00 + +# CHECK: image_sample_b v5, v[1:2], s[12:19], s[12:15] dmask:0x1 ; encoding: [0x00,0x01,0x94,0xf0,0x01,0x05,0x63,0x00] +0x00,0x01,0x94,0xf0,0x01,0x05,0x63,0x00 + +# CHECK: image_sample_b v5, v[1:2], s[92:99], s[12:15] dmask:0x1 ; encoding: [0x00,0x01,0x94,0xf0,0x01,0x05,0x77,0x00] +0x00,0x01,0x94,0xf0,0x01,0x05,0x77,0x00 + +# CHECK: image_sample_b v5, v[1:2], s[8:15], s[16:19] dmask:0x1 ; encoding: [0x00,0x01,0x94,0xf0,0x01,0x05,0x82,0x00] +0x00,0x01,0x94,0xf0,0x01,0x05,0x82,0x00 + +# CHECK: image_sample_b v5, v[1:2], s[8:15], s[96:99] dmask:0x1 ; encoding: [0x00,0x01,0x94,0xf0,0x01,0x05,0x02,0x03] +0x00,0x01,0x94,0xf0,0x01,0x05,0x02,0x03 + +# CHECK: image_sample_b v5, v[1:2], s[8:15], s[12:15] dmask:0x2 ; encoding: [0x00,0x02,0x94,0xf0,0x01,0x05,0x62,0x00] +0x00,0x02,0x94,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_b v[5:6], v[1:2], s[8:15], s[12:15] dmask:0x3 ; encoding: [0x00,0x03,0x94,0xf0,0x01,0x05,0x62,0x00] +0x00,0x03,0x94,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_b v5, v[1:2], s[8:15], s[12:15] dmask:0x4 ; encoding: [0x00,0x04,0x94,0xf0,0x01,0x05,0x62,0x00] +0x00,0x04,0x94,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_b v[5:6], v[1:2], s[8:15], s[12:15] dmask:0x5 ; encoding: [0x00,0x05,0x94,0xf0,0x01,0x05,0x62,0x00] +0x00,0x05,0x94,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_b v[5:6], v[1:2], s[8:15], s[12:15] dmask:0x6 ; encoding: [0x00,0x06,0x94,0xf0,0x01,0x05,0x62,0x00] +0x00,0x06,0x94,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_b v[5:7], v[1:2], s[8:15], s[12:15] dmask:0x7 ; encoding: [0x00,0x07,0x94,0xf0,0x01,0x05,0x62,0x00] +0x00,0x07,0x94,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_b v5, v[1:2], s[8:15], s[12:15] dmask:0x8 ; encoding: [0x00,0x08,0x94,0xf0,0x01,0x05,0x62,0x00] +0x00,0x08,0x94,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_b v[5:6], v[1:2], s[8:15], s[12:15] dmask:0x9 ; encoding: [0x00,0x09,0x94,0xf0,0x01,0x05,0x62,0x00] +0x00,0x09,0x94,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_b v[5:6], v[1:2], s[8:15], s[12:15] dmask:0xa ; encoding: [0x00,0x0a,0x94,0xf0,0x01,0x05,0x62,0x00] +0x00,0x0a,0x94,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_b v[5:7], v[1:2], s[8:15], s[12:15] dmask:0xb ; encoding: [0x00,0x0b,0x94,0xf0,0x01,0x05,0x62,0x00] +0x00,0x0b,0x94,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_b v[5:6], v[1:2], s[8:15], s[12:15] dmask:0xc ; encoding: [0x00,0x0c,0x94,0xf0,0x01,0x05,0x62,0x00] +0x00,0x0c,0x94,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_b v[5:7], v[1:2], s[8:15], s[12:15] dmask:0xd ; encoding: [0x00,0x0d,0x94,0xf0,0x01,0x05,0x62,0x00] +0x00,0x0d,0x94,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_b v[5:7], v[1:2], s[8:15], s[12:15] dmask:0xe ; encoding: [0x00,0x0e,0x94,0xf0,0x01,0x05,0x62,0x00] +0x00,0x0e,0x94,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_b v5, v[1:2], s[8:15], s[12:15] ; encoding: [0x00,0x00,0x94,0xf0,0x01,0x05,0x62,0x00] +0x00,0x00,0x94,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_b v5, v[1:2], s[8:15], s[12:15] dmask:0x1 unorm ; encoding: [0x00,0x11,0x94,0xf0,0x01,0x05,0x62,0x00] +0x00,0x11,0x94,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_b v5, v[1:2], s[8:15], s[12:15] dmask:0x1 glc ; encoding: [0x00,0x21,0x94,0xf0,0x01,0x05,0x62,0x00] +0x00,0x21,0x94,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_b v5, v[1:2], s[8:15], s[12:15] dmask:0x1 slc ; encoding: [0x00,0x01,0x94,0xf2,0x01,0x05,0x62,0x00] +0x00,0x01,0x94,0xf2,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_b v5, v[1:2], s[8:15], s[12:15] dmask:0x1 tfe ; encoding: [0x00,0x01,0x95,0xf0,0x01,0x05,0x62,0x00] +0x00,0x01,0x95,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_b v5, v[1:2], s[8:15], s[12:15] dmask:0x1 lwe ; encoding: [0x00,0x01,0x96,0xf0,0x01,0x05,0x62,0x00] +0x00,0x01,0x96,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_b v5, v[1:2], s[8:15], s[12:15] dmask:0x1 da ; encoding: [0x00,0x41,0x94,0xf0,0x01,0x05,0x62,0x00] +0x00,0x41,0x94,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_b v5, v[1:2], s[8:15], s[12:15] dmask:0x1 d16 ; encoding: [0x00,0x01,0x94,0xf0,0x01,0x05,0x62,0x80] +0x00,0x01,0x94,0xf0,0x01,0x05,0x62,0x80 + +# CHECK: image_sample_c v5, v[1:2], s[8:15], s[12:15] dmask:0x1 ; encoding: [0x00,0x01,0xa0,0xf0,0x01,0x05,0x62,0x00] +0x00,0x01,0xa0,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_c v252, v[1:2], s[8:15], s[12:15] dmask:0x1 ; encoding: [0x00,0x01,0xa0,0xf0,0x01,0xfc,0x62,0x00] +0x00,0x01,0xa0,0xf0,0x01,0xfc,0x62,0x00 + +# CHECK: image_sample_c v5, v[252:253], s[8:15], s[12:15] dmask:0x1 ; encoding: [0x00,0x01,0xa0,0xf0,0xfc,0x05,0x62,0x00] +0x00,0x01,0xa0,0xf0,0xfc,0x05,0x62,0x00 + +# CHECK: image_sample_c v5, v[1:2], s[12:19], s[12:15] dmask:0x1 ; encoding: [0x00,0x01,0xa0,0xf0,0x01,0x05,0x63,0x00] +0x00,0x01,0xa0,0xf0,0x01,0x05,0x63,0x00 + +# CHECK: image_sample_c v5, v[1:2], s[92:99], s[12:15] dmask:0x1 ; encoding: [0x00,0x01,0xa0,0xf0,0x01,0x05,0x77,0x00] +0x00,0x01,0xa0,0xf0,0x01,0x05,0x77,0x00 + +# CHECK: image_sample_c v5, v[1:2], s[8:15], s[16:19] dmask:0x1 ; encoding: [0x00,0x01,0xa0,0xf0,0x01,0x05,0x82,0x00] +0x00,0x01,0xa0,0xf0,0x01,0x05,0x82,0x00 + +# CHECK: image_sample_c v5, v[1:2], s[8:15], s[96:99] dmask:0x1 ; encoding: [0x00,0x01,0xa0,0xf0,0x01,0x05,0x02,0x03] +0x00,0x01,0xa0,0xf0,0x01,0x05,0x02,0x03 + +# CHECK: image_sample_c v5, v[1:2], s[8:15], s[12:15] dmask:0x2 ; encoding: [0x00,0x02,0xa0,0xf0,0x01,0x05,0x62,0x00] +0x00,0x02,0xa0,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_c v[5:6], v[1:2], s[8:15], s[12:15] dmask:0x3 ; encoding: [0x00,0x03,0xa0,0xf0,0x01,0x05,0x62,0x00] +0x00,0x03,0xa0,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_c v5, v[1:2], s[8:15], s[12:15] dmask:0x4 ; encoding: [0x00,0x04,0xa0,0xf0,0x01,0x05,0x62,0x00] +0x00,0x04,0xa0,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_c v[5:6], v[1:2], s[8:15], s[12:15] dmask:0x5 ; encoding: [0x00,0x05,0xa0,0xf0,0x01,0x05,0x62,0x00] +0x00,0x05,0xa0,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_c v[5:6], v[1:2], s[8:15], s[12:15] dmask:0x6 ; encoding: [0x00,0x06,0xa0,0xf0,0x01,0x05,0x62,0x00] +0x00,0x06,0xa0,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_c v[5:7], v[1:2], s[8:15], s[12:15] dmask:0x7 ; encoding: [0x00,0x07,0xa0,0xf0,0x01,0x05,0x62,0x00] +0x00,0x07,0xa0,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_c v5, v[1:2], s[8:15], s[12:15] dmask:0x8 ; encoding: [0x00,0x08,0xa0,0xf0,0x01,0x05,0x62,0x00] +0x00,0x08,0xa0,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_c v[5:6], v[1:2], s[8:15], s[12:15] dmask:0x9 ; encoding: [0x00,0x09,0xa0,0xf0,0x01,0x05,0x62,0x00] +0x00,0x09,0xa0,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_c v[5:6], v[1:2], s[8:15], s[12:15] dmask:0xa ; encoding: [0x00,0x0a,0xa0,0xf0,0x01,0x05,0x62,0x00] +0x00,0x0a,0xa0,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_c v[5:7], v[1:2], s[8:15], s[12:15] dmask:0xb ; encoding: [0x00,0x0b,0xa0,0xf0,0x01,0x05,0x62,0x00] +0x00,0x0b,0xa0,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_c v[5:6], v[1:2], s[8:15], s[12:15] dmask:0xc ; encoding: [0x00,0x0c,0xa0,0xf0,0x01,0x05,0x62,0x00] +0x00,0x0c,0xa0,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_c v[5:7], v[1:2], s[8:15], s[12:15] dmask:0xd ; encoding: [0x00,0x0d,0xa0,0xf0,0x01,0x05,0x62,0x00] +0x00,0x0d,0xa0,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_c v[5:7], v[1:2], s[8:15], s[12:15] dmask:0xe ; encoding: [0x00,0x0e,0xa0,0xf0,0x01,0x05,0x62,0x00] +0x00,0x0e,0xa0,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_c v5, v[1:2], s[8:15], s[12:15] ; encoding: [0x00,0x00,0xa0,0xf0,0x01,0x05,0x62,0x00] +0x00,0x00,0xa0,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_c v5, v[1:2], s[8:15], s[12:15] dmask:0x1 unorm ; encoding: [0x00,0x11,0xa0,0xf0,0x01,0x05,0x62,0x00] +0x00,0x11,0xa0,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_c v5, v[1:2], s[8:15], s[12:15] dmask:0x1 glc ; encoding: [0x00,0x21,0xa0,0xf0,0x01,0x05,0x62,0x00] +0x00,0x21,0xa0,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_c v5, v[1:2], s[8:15], s[12:15] dmask:0x1 slc ; encoding: [0x00,0x01,0xa0,0xf2,0x01,0x05,0x62,0x00] +0x00,0x01,0xa0,0xf2,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_c v5, v[1:2], s[8:15], s[12:15] dmask:0x1 tfe ; encoding: [0x00,0x01,0xa1,0xf0,0x01,0x05,0x62,0x00] +0x00,0x01,0xa1,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_c v5, v[1:2], s[8:15], s[12:15] dmask:0x1 lwe ; encoding: [0x00,0x01,0xa2,0xf0,0x01,0x05,0x62,0x00] +0x00,0x01,0xa2,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_c v5, v[1:2], s[8:15], s[12:15] dmask:0x1 da ; encoding: [0x00,0x41,0xa0,0xf0,0x01,0x05,0x62,0x00] +0x00,0x41,0xa0,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_c v5, v[1:2], s[8:15], s[12:15] dmask:0x1 d16 ; encoding: [0x00,0x01,0xa0,0xf0,0x01,0x05,0x62,0x80] +0x00,0x01,0xa0,0xf0,0x01,0x05,0x62,0x80 + +# CHECK: image_sample_c_lz v5, v[1:2], s[8:15], s[12:15] dmask:0x1 ; encoding: [0x00,0x01,0xbc,0xf0,0x01,0x05,0x62,0x00] +0x00,0x01,0xbc,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_c_lz v252, v[1:2], s[8:15], s[12:15] dmask:0x1 ; encoding: [0x00,0x01,0xbc,0xf0,0x01,0xfc,0x62,0x00] +0x00,0x01,0xbc,0xf0,0x01,0xfc,0x62,0x00 + +# CHECK: image_sample_c_lz v5, v[252:253], s[8:15], s[12:15] dmask:0x1 ; encoding: [0x00,0x01,0xbc,0xf0,0xfc,0x05,0x62,0x00] +0x00,0x01,0xbc,0xf0,0xfc,0x05,0x62,0x00 + +# CHECK: image_sample_c_lz v5, v[1:2], s[12:19], s[12:15] dmask:0x1 ; encoding: [0x00,0x01,0xbc,0xf0,0x01,0x05,0x63,0x00] +0x00,0x01,0xbc,0xf0,0x01,0x05,0x63,0x00 + +# CHECK: image_sample_c_lz v5, v[1:2], s[92:99], s[12:15] dmask:0x1 ; encoding: [0x00,0x01,0xbc,0xf0,0x01,0x05,0x77,0x00] +0x00,0x01,0xbc,0xf0,0x01,0x05,0x77,0x00 + +# CHECK: image_sample_c_lz v5, v[1:2], s[8:15], s[16:19] dmask:0x1 ; encoding: [0x00,0x01,0xbc,0xf0,0x01,0x05,0x82,0x00] +0x00,0x01,0xbc,0xf0,0x01,0x05,0x82,0x00 + +# CHECK: image_sample_c_lz v5, v[1:2], s[8:15], s[96:99] dmask:0x1 ; encoding: [0x00,0x01,0xbc,0xf0,0x01,0x05,0x02,0x03] +0x00,0x01,0xbc,0xf0,0x01,0x05,0x02,0x03 + +# CHECK: image_sample_c_lz v5, v[1:2], s[8:15], s[12:15] dmask:0x2 ; encoding: [0x00,0x02,0xbc,0xf0,0x01,0x05,0x62,0x00] +0x00,0x02,0xbc,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_c_lz v[5:6], v[1:2], s[8:15], s[12:15] dmask:0x3 ; encoding: [0x00,0x03,0xbc,0xf0,0x01,0x05,0x62,0x00] +0x00,0x03,0xbc,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_c_lz v5, v[1:2], s[8:15], s[12:15] dmask:0x4 ; encoding: [0x00,0x04,0xbc,0xf0,0x01,0x05,0x62,0x00] +0x00,0x04,0xbc,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_c_lz v[5:6], v[1:2], s[8:15], s[12:15] dmask:0x5 ; encoding: [0x00,0x05,0xbc,0xf0,0x01,0x05,0x62,0x00] +0x00,0x05,0xbc,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_c_lz v[5:6], v[1:2], s[8:15], s[12:15] dmask:0x6 ; encoding: [0x00,0x06,0xbc,0xf0,0x01,0x05,0x62,0x00] +0x00,0x06,0xbc,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_c_lz v[5:7], v[1:2], s[8:15], s[12:15] dmask:0x7 ; encoding: [0x00,0x07,0xbc,0xf0,0x01,0x05,0x62,0x00] +0x00,0x07,0xbc,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_c_lz v5, v[1:2], s[8:15], s[12:15] dmask:0x8 ; encoding: [0x00,0x08,0xbc,0xf0,0x01,0x05,0x62,0x00] +0x00,0x08,0xbc,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_c_lz v[5:6], v[1:2], s[8:15], s[12:15] dmask:0x9 ; encoding: [0x00,0x09,0xbc,0xf0,0x01,0x05,0x62,0x00] +0x00,0x09,0xbc,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_c_lz v[5:6], v[1:2], s[8:15], s[12:15] dmask:0xa ; encoding: [0x00,0x0a,0xbc,0xf0,0x01,0x05,0x62,0x00] +0x00,0x0a,0xbc,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_c_lz v[5:7], v[1:2], s[8:15], s[12:15] dmask:0xb ; encoding: [0x00,0x0b,0xbc,0xf0,0x01,0x05,0x62,0x00] +0x00,0x0b,0xbc,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_c_lz v[5:6], v[1:2], s[8:15], s[12:15] dmask:0xc ; encoding: [0x00,0x0c,0xbc,0xf0,0x01,0x05,0x62,0x00] +0x00,0x0c,0xbc,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_c_lz v[5:7], v[1:2], s[8:15], s[12:15] dmask:0xd ; encoding: [0x00,0x0d,0xbc,0xf0,0x01,0x05,0x62,0x00] +0x00,0x0d,0xbc,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_c_lz v[5:7], v[1:2], s[8:15], s[12:15] dmask:0xe ; encoding: [0x00,0x0e,0xbc,0xf0,0x01,0x05,0x62,0x00] +0x00,0x0e,0xbc,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_c_lz v5, v[1:2], s[8:15], s[12:15] ; encoding: [0x00,0x00,0xbc,0xf0,0x01,0x05,0x62,0x00] +0x00,0x00,0xbc,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_c_lz v5, v[1:2], s[8:15], s[12:15] dmask:0x1 unorm ; encoding: [0x00,0x11,0xbc,0xf0,0x01,0x05,0x62,0x00] +0x00,0x11,0xbc,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_c_lz v5, v[1:2], s[8:15], s[12:15] dmask:0x1 glc ; encoding: [0x00,0x21,0xbc,0xf0,0x01,0x05,0x62,0x00] +0x00,0x21,0xbc,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_c_lz v5, v[1:2], s[8:15], s[12:15] dmask:0x1 slc ; encoding: [0x00,0x01,0xbc,0xf2,0x01,0x05,0x62,0x00] +0x00,0x01,0xbc,0xf2,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_c_lz v5, v[1:2], s[8:15], s[12:15] dmask:0x1 tfe ; encoding: [0x00,0x01,0xbd,0xf0,0x01,0x05,0x62,0x00] +0x00,0x01,0xbd,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_c_lz v5, v[1:2], s[8:15], s[12:15] dmask:0x1 lwe ; encoding: [0x00,0x01,0xbe,0xf0,0x01,0x05,0x62,0x00] +0x00,0x01,0xbe,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_c_lz v5, v[1:2], s[8:15], s[12:15] dmask:0x1 da ; encoding: [0x00,0x41,0xbc,0xf0,0x01,0x05,0x62,0x00] +0x00,0x41,0xbc,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_c_lz v5, v[1:2], s[8:15], s[12:15] dmask:0x1 d16 ; encoding: [0x00,0x01,0xbc,0xf0,0x01,0x05,0x62,0x80] +0x00,0x01,0xbc,0xf0,0x01,0x05,0x62,0x80 + +# CHECK: image_sample_o v5, v[1:2], s[8:15], s[12:15] dmask:0x1 ; encoding: [0x00,0x01,0xc0,0xf0,0x01,0x05,0x62,0x00] +0x00,0x01,0xc0,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_o v252, v[1:2], s[8:15], s[12:15] dmask:0x1 ; encoding: [0x00,0x01,0xc0,0xf0,0x01,0xfc,0x62,0x00] +0x00,0x01,0xc0,0xf0,0x01,0xfc,0x62,0x00 + +# CHECK: image_sample_o v5, v[252:253], s[8:15], s[12:15] dmask:0x1 ; encoding: [0x00,0x01,0xc0,0xf0,0xfc,0x05,0x62,0x00] +0x00,0x01,0xc0,0xf0,0xfc,0x05,0x62,0x00 + +# CHECK: image_sample_o v5, v[1:2], s[12:19], s[12:15] dmask:0x1 ; encoding: [0x00,0x01,0xc0,0xf0,0x01,0x05,0x63,0x00] +0x00,0x01,0xc0,0xf0,0x01,0x05,0x63,0x00 + +# CHECK: image_sample_o v5, v[1:2], s[92:99], s[12:15] dmask:0x1 ; encoding: [0x00,0x01,0xc0,0xf0,0x01,0x05,0x77,0x00] +0x00,0x01,0xc0,0xf0,0x01,0x05,0x77,0x00 + +# CHECK: image_sample_o v5, v[1:2], s[8:15], s[16:19] dmask:0x1 ; encoding: [0x00,0x01,0xc0,0xf0,0x01,0x05,0x82,0x00] +0x00,0x01,0xc0,0xf0,0x01,0x05,0x82,0x00 + +# CHECK: image_sample_o v5, v[1:2], s[8:15], s[96:99] dmask:0x1 ; encoding: [0x00,0x01,0xc0,0xf0,0x01,0x05,0x02,0x03] +0x00,0x01,0xc0,0xf0,0x01,0x05,0x02,0x03 + +# CHECK: image_sample_o v5, v[1:2], s[8:15], s[12:15] dmask:0x2 ; encoding: [0x00,0x02,0xc0,0xf0,0x01,0x05,0x62,0x00] +0x00,0x02,0xc0,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_o v[5:6], v[1:2], s[8:15], s[12:15] dmask:0x3 ; encoding: [0x00,0x03,0xc0,0xf0,0x01,0x05,0x62,0x00] +0x00,0x03,0xc0,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_o v5, v[1:2], s[8:15], s[12:15] dmask:0x4 ; encoding: [0x00,0x04,0xc0,0xf0,0x01,0x05,0x62,0x00] +0x00,0x04,0xc0,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_o v[5:6], v[1:2], s[8:15], s[12:15] dmask:0x5 ; encoding: [0x00,0x05,0xc0,0xf0,0x01,0x05,0x62,0x00] +0x00,0x05,0xc0,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_o v[5:6], v[1:2], s[8:15], s[12:15] dmask:0x6 ; encoding: [0x00,0x06,0xc0,0xf0,0x01,0x05,0x62,0x00] +0x00,0x06,0xc0,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_o v[5:7], v[1:2], s[8:15], s[12:15] dmask:0x7 ; encoding: [0x00,0x07,0xc0,0xf0,0x01,0x05,0x62,0x00] +0x00,0x07,0xc0,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_o v5, v[1:2], s[8:15], s[12:15] dmask:0x8 ; encoding: [0x00,0x08,0xc0,0xf0,0x01,0x05,0x62,0x00] +0x00,0x08,0xc0,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_o v[5:6], v[1:2], s[8:15], s[12:15] dmask:0x9 ; encoding: [0x00,0x09,0xc0,0xf0,0x01,0x05,0x62,0x00] +0x00,0x09,0xc0,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_o v[5:6], v[1:2], s[8:15], s[12:15] dmask:0xa ; encoding: [0x00,0x0a,0xc0,0xf0,0x01,0x05,0x62,0x00] +0x00,0x0a,0xc0,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_o v[5:7], v[1:2], s[8:15], s[12:15] dmask:0xb ; encoding: [0x00,0x0b,0xc0,0xf0,0x01,0x05,0x62,0x00] +0x00,0x0b,0xc0,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_o v[5:6], v[1:2], s[8:15], s[12:15] dmask:0xc ; encoding: [0x00,0x0c,0xc0,0xf0,0x01,0x05,0x62,0x00] +0x00,0x0c,0xc0,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_o v[5:7], v[1:2], s[8:15], s[12:15] dmask:0xd ; encoding: [0x00,0x0d,0xc0,0xf0,0x01,0x05,0x62,0x00] +0x00,0x0d,0xc0,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_o v[5:7], v[1:2], s[8:15], s[12:15] dmask:0xe ; encoding: [0x00,0x0e,0xc0,0xf0,0x01,0x05,0x62,0x00] +0x00,0x0e,0xc0,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_o v5, v[1:2], s[8:15], s[12:15] ; encoding: [0x00,0x00,0xc0,0xf0,0x01,0x05,0x62,0x00] +0x00,0x00,0xc0,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_o v5, v[1:2], s[8:15], s[12:15] dmask:0x1 unorm ; encoding: [0x00,0x11,0xc0,0xf0,0x01,0x05,0x62,0x00] +0x00,0x11,0xc0,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_o v5, v[1:2], s[8:15], s[12:15] dmask:0x1 glc ; encoding: [0x00,0x21,0xc0,0xf0,0x01,0x05,0x62,0x00] +0x00,0x21,0xc0,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_o v5, v[1:2], s[8:15], s[12:15] dmask:0x1 slc ; encoding: [0x00,0x01,0xc0,0xf2,0x01,0x05,0x62,0x00] +0x00,0x01,0xc0,0xf2,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_o v5, v[1:2], s[8:15], s[12:15] dmask:0x1 tfe ; encoding: [0x00,0x01,0xc1,0xf0,0x01,0x05,0x62,0x00] +0x00,0x01,0xc1,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_o v5, v[1:2], s[8:15], s[12:15] dmask:0x1 lwe ; encoding: [0x00,0x01,0xc2,0xf0,0x01,0x05,0x62,0x00] +0x00,0x01,0xc2,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_o v5, v[1:2], s[8:15], s[12:15] dmask:0x1 da ; encoding: [0x00,0x41,0xc0,0xf0,0x01,0x05,0x62,0x00] +0x00,0x41,0xc0,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_o v5, v[1:2], s[8:15], s[12:15] dmask:0x1 d16 ; encoding: [0x00,0x01,0xc0,0xf0,0x01,0x05,0x62,0x80] +0x00,0x01,0xc0,0xf0,0x01,0x05,0x62,0x80 + +# CHECK: image_sample_lz_o v5, v[1:2], s[8:15], s[12:15] dmask:0x1 ; encoding: [0x00,0x01,0xdc,0xf0,0x01,0x05,0x62,0x00] +0x00,0x01,0xdc,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_lz_o v252, v[1:2], s[8:15], s[12:15] dmask:0x1 ; encoding: [0x00,0x01,0xdc,0xf0,0x01,0xfc,0x62,0x00] +0x00,0x01,0xdc,0xf0,0x01,0xfc,0x62,0x00 + +# CHECK: image_sample_lz_o v5, v[252:253], s[8:15], s[12:15] dmask:0x1 ; encoding: [0x00,0x01,0xdc,0xf0,0xfc,0x05,0x62,0x00] +0x00,0x01,0xdc,0xf0,0xfc,0x05,0x62,0x00 + +# CHECK: image_sample_lz_o v5, v[1:2], s[12:19], s[12:15] dmask:0x1 ; encoding: [0x00,0x01,0xdc,0xf0,0x01,0x05,0x63,0x00] +0x00,0x01,0xdc,0xf0,0x01,0x05,0x63,0x00 + +# CHECK: image_sample_lz_o v5, v[1:2], s[92:99], s[12:15] dmask:0x1 ; encoding: [0x00,0x01,0xdc,0xf0,0x01,0x05,0x77,0x00] +0x00,0x01,0xdc,0xf0,0x01,0x05,0x77,0x00 + +# CHECK: image_sample_lz_o v5, v[1:2], s[8:15], s[16:19] dmask:0x1 ; encoding: [0x00,0x01,0xdc,0xf0,0x01,0x05,0x82,0x00] +0x00,0x01,0xdc,0xf0,0x01,0x05,0x82,0x00 + +# CHECK: image_sample_lz_o v5, v[1:2], s[8:15], s[96:99] dmask:0x1 ; encoding: [0x00,0x01,0xdc,0xf0,0x01,0x05,0x02,0x03] +0x00,0x01,0xdc,0xf0,0x01,0x05,0x02,0x03 + +# CHECK: image_sample_lz_o v5, v[1:2], s[8:15], s[12:15] dmask:0x2 ; encoding: [0x00,0x02,0xdc,0xf0,0x01,0x05,0x62,0x00] +0x00,0x02,0xdc,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_lz_o v[5:6], v[1:2], s[8:15], s[12:15] dmask:0x3 ; encoding: [0x00,0x03,0xdc,0xf0,0x01,0x05,0x62,0x00] +0x00,0x03,0xdc,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_lz_o v5, v[1:2], s[8:15], s[12:15] dmask:0x4 ; encoding: [0x00,0x04,0xdc,0xf0,0x01,0x05,0x62,0x00] +0x00,0x04,0xdc,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_lz_o v[5:6], v[1:2], s[8:15], s[12:15] dmask:0x5 ; encoding: [0x00,0x05,0xdc,0xf0,0x01,0x05,0x62,0x00] +0x00,0x05,0xdc,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_lz_o v[5:6], v[1:2], s[8:15], s[12:15] dmask:0x6 ; encoding: [0x00,0x06,0xdc,0xf0,0x01,0x05,0x62,0x00] +0x00,0x06,0xdc,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_lz_o v[5:7], v[1:2], s[8:15], s[12:15] dmask:0x7 ; encoding: [0x00,0x07,0xdc,0xf0,0x01,0x05,0x62,0x00] +0x00,0x07,0xdc,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_lz_o v5, v[1:2], s[8:15], s[12:15] dmask:0x8 ; encoding: [0x00,0x08,0xdc,0xf0,0x01,0x05,0x62,0x00] +0x00,0x08,0xdc,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_lz_o v[5:6], v[1:2], s[8:15], s[12:15] dmask:0x9 ; encoding: [0x00,0x09,0xdc,0xf0,0x01,0x05,0x62,0x00] +0x00,0x09,0xdc,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_lz_o v[5:6], v[1:2], s[8:15], s[12:15] dmask:0xa ; encoding: [0x00,0x0a,0xdc,0xf0,0x01,0x05,0x62,0x00] +0x00,0x0a,0xdc,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_lz_o v[5:7], v[1:2], s[8:15], s[12:15] dmask:0xb ; encoding: [0x00,0x0b,0xdc,0xf0,0x01,0x05,0x62,0x00] +0x00,0x0b,0xdc,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_lz_o v[5:6], v[1:2], s[8:15], s[12:15] dmask:0xc ; encoding: [0x00,0x0c,0xdc,0xf0,0x01,0x05,0x62,0x00] +0x00,0x0c,0xdc,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_lz_o v[5:7], v[1:2], s[8:15], s[12:15] dmask:0xd ; encoding: [0x00,0x0d,0xdc,0xf0,0x01,0x05,0x62,0x00] +0x00,0x0d,0xdc,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_lz_o v[5:7], v[1:2], s[8:15], s[12:15] dmask:0xe ; encoding: [0x00,0x0e,0xdc,0xf0,0x01,0x05,0x62,0x00] +0x00,0x0e,0xdc,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_lz_o v5, v[1:2], s[8:15], s[12:15] ; encoding: [0x00,0x00,0xdc,0xf0,0x01,0x05,0x62,0x00] +0x00,0x00,0xdc,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_lz_o v5, v[1:2], s[8:15], s[12:15] dmask:0x1 unorm ; encoding: [0x00,0x11,0xdc,0xf0,0x01,0x05,0x62,0x00] +0x00,0x11,0xdc,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_lz_o v5, v[1:2], s[8:15], s[12:15] dmask:0x1 glc ; encoding: [0x00,0x21,0xdc,0xf0,0x01,0x05,0x62,0x00] +0x00,0x21,0xdc,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_lz_o v5, v[1:2], s[8:15], s[12:15] dmask:0x1 slc ; encoding: [0x00,0x01,0xdc,0xf2,0x01,0x05,0x62,0x00] +0x00,0x01,0xdc,0xf2,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_lz_o v5, v[1:2], s[8:15], s[12:15] dmask:0x1 tfe ; encoding: [0x00,0x01,0xdd,0xf0,0x01,0x05,0x62,0x00] +0x00,0x01,0xdd,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_lz_o v5, v[1:2], s[8:15], s[12:15] dmask:0x1 lwe ; encoding: [0x00,0x01,0xde,0xf0,0x01,0x05,0x62,0x00] +0x00,0x01,0xde,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_lz_o v5, v[1:2], s[8:15], s[12:15] dmask:0x1 da ; encoding: [0x00,0x41,0xdc,0xf0,0x01,0x05,0x62,0x00] +0x00,0x41,0xdc,0xf0,0x01,0x05,0x62,0x00 + +# CHECK: image_sample_lz_o v5, v[1:2], s[8:15], s[12:15] dmask:0x1 d16 ; encoding: [0x00,0x01,0xdc,0xf0,0x01,0x05,0x62,0x80] +0x00,0x01,0xdc,0xf0,0x01,0x05,0x62,0x80 + +# CHECK: image_gather4_cl v[5:8], v1, s[8:15], s[12:15] dmask:0x1 ; encoding: [0x00,0x01,0x04,0xf1,0x01,0x05,0x62,0x00] +0x00,0x01,0x04,0xf1,0x01,0x05,0x62,0x00 + +# CHECK: image_gather4_cl v[252:255], v1, s[8:15], s[12:15] dmask:0x1 ; encoding: [0x00,0x01,0x04,0xf1,0x01,0xfc,0x62,0x00] +0x00,0x01,0x04,0xf1,0x01,0xfc,0x62,0x00 + +# CHECK: image_gather4_cl v[5:8], v252, s[8:15], s[12:15] dmask:0x1 ; encoding: [0x00,0x01,0x04,0xf1,0xfc,0x05,0x62,0x00] +0x00,0x01,0x04,0xf1,0xfc,0x05,0x62,0x00 + +# CHECK: image_gather4_cl v[5:8], v1, s[12:19], s[12:15] dmask:0x1 ; encoding: [0x00,0x01,0x04,0xf1,0x01,0x05,0x63,0x00] +0x00,0x01,0x04,0xf1,0x01,0x05,0x63,0x00 + +# CHECK: image_gather4_cl v[5:8], v1, s[92:99], s[12:15] dmask:0x1 ; encoding: [0x00,0x01,0x04,0xf1,0x01,0x05,0x77,0x00] +0x00,0x01,0x04,0xf1,0x01,0x05,0x77,0x00 + +# CHECK: image_gather4_cl v[5:8], v1, s[8:15], s[16:19] dmask:0x1 ; encoding: [0x00,0x01,0x04,0xf1,0x01,0x05,0x82,0x00] +0x00,0x01,0x04,0xf1,0x01,0x05,0x82,0x00 + +# CHECK: image_gather4_cl v[5:8], v1, s[8:15], s[96:99] dmask:0x1 ; encoding: [0x00,0x01,0x04,0xf1,0x01,0x05,0x02,0x03] +0x00,0x01,0x04,0xf1,0x01,0x05,0x02,0x03 + +# CHECK: image_gather4_cl v[5:8], v1, s[8:15], s[12:15] dmask:0x2 ; encoding: [0x00,0x02,0x04,0xf1,0x01,0x05,0x62,0x00] +0x00,0x02,0x04,0xf1,0x01,0x05,0x62,0x00 + +# CHECK: image_gather4_cl v[5:8], v1, s[8:15], s[12:15] dmask:0x4 ; encoding: [0x00,0x04,0x04,0xf1,0x01,0x05,0x62,0x00] +0x00,0x04,0x04,0xf1,0x01,0x05,0x62,0x00 + +# CHECK: image_gather4_cl v[5:8], v1, s[8:15], s[12:15] dmask:0x8 ; encoding: [0x00,0x08,0x04,0xf1,0x01,0x05,0x62,0x00] +0x00,0x08,0x04,0xf1,0x01,0x05,0x62,0x00 + +# CHECK: image_gather4_cl v[5:8], v1, s[8:15], s[12:15] dmask:0x1 unorm ; encoding: [0x00,0x11,0x04,0xf1,0x01,0x05,0x62,0x00] +0x00,0x11,0x04,0xf1,0x01,0x05,0x62,0x00 + +# CHECK: image_gather4_cl v[5:8], v1, s[8:15], s[12:15] dmask:0x1 glc ; encoding: [0x00,0x21,0x04,0xf1,0x01,0x05,0x62,0x00] +0x00,0x21,0x04,0xf1,0x01,0x05,0x62,0x00 + +# CHECK: image_gather4_cl v[5:8], v1, s[8:15], s[12:15] dmask:0x1 slc ; encoding: [0x00,0x01,0x04,0xf3,0x01,0x05,0x62,0x00] +0x00,0x01,0x04,0xf3,0x01,0x05,0x62,0x00 + +# CHECK: image_gather4_cl v[5:8], v1, s[8:15], s[12:15] dmask:0x1 lwe ; encoding: [0x00,0x01,0x06,0xf1,0x01,0x05,0x62,0x00] +0x00,0x01,0x06,0xf1,0x01,0x05,0x62,0x00 + +# CHECK: image_gather4_cl v[5:8], v1, s[8:15], s[12:15] dmask:0x1 da ; encoding: [0x00,0x41,0x04,0xf1,0x01,0x05,0x62,0x00] +0x00,0x41,0x04,0xf1,0x01,0x05,0x62,0x00 + +# CHECK: image_gather4_cl v[5:6], v1, s[8:15], s[12:15] dmask:0x1 d16 ; encoding: [0x00,0x01,0x04,0xf1,0x01,0x05,0x62,0x80] +0x00,0x01,0x04,0xf1,0x01,0x05,0x62,0x80 + +# CHECK: image_gather4_l v[5:8], v1, s[8:15], s[12:15] dmask:0x1 ; encoding: [0x00,0x01,0x10,0xf1,0x01,0x05,0x62,0x00] +0x00,0x01,0x10,0xf1,0x01,0x05,0x62,0x00 + +# CHECK: image_gather4_l v[252:255], v1, s[8:15], s[12:15] dmask:0x1 ; encoding: [0x00,0x01,0x10,0xf1,0x01,0xfc,0x62,0x00] +0x00,0x01,0x10,0xf1,0x01,0xfc,0x62,0x00 + +# CHECK: image_gather4_l v[5:8], v252, s[8:15], s[12:15] dmask:0x1 ; encoding: [0x00,0x01,0x10,0xf1,0xfc,0x05,0x62,0x00] +0x00,0x01,0x10,0xf1,0xfc,0x05,0x62,0x00 + +# CHECK: image_gather4_l v[5:8], v1, s[12:19], s[12:15] dmask:0x1 ; encoding: [0x00,0x01,0x10,0xf1,0x01,0x05,0x63,0x00] +0x00,0x01,0x10,0xf1,0x01,0x05,0x63,0x00 + +# CHECK: image_gather4_l v[5:8], v1, s[92:99], s[12:15] dmask:0x1 ; encoding: [0x00,0x01,0x10,0xf1,0x01,0x05,0x77,0x00] +0x00,0x01,0x10,0xf1,0x01,0x05,0x77,0x00 + +# CHECK: image_gather4_l v[5:8], v1, s[8:15], s[16:19] dmask:0x1 ; encoding: [0x00,0x01,0x10,0xf1,0x01,0x05,0x82,0x00] +0x00,0x01,0x10,0xf1,0x01,0x05,0x82,0x00 + +# CHECK: image_gather4_l v[5:8], v1, s[8:15], s[96:99] dmask:0x1 ; encoding: [0x00,0x01,0x10,0xf1,0x01,0x05,0x02,0x03] +0x00,0x01,0x10,0xf1,0x01,0x05,0x02,0x03 + +# CHECK: image_gather4_l v[5:8], v1, s[8:15], s[12:15] dmask:0x2 ; encoding: [0x00,0x02,0x10,0xf1,0x01,0x05,0x62,0x00] +0x00,0x02,0x10,0xf1,0x01,0x05,0x62,0x00 + +# CHECK: image_gather4_l v[5:8], v1, s[8:15], s[12:15] dmask:0x4 ; encoding: [0x00,0x04,0x10,0xf1,0x01,0x05,0x62,0x00] +0x00,0x04,0x10,0xf1,0x01,0x05,0x62,0x00 + +# CHECK: image_gather4_l v[5:8], v1, s[8:15], s[12:15] dmask:0x8 ; encoding: [0x00,0x08,0x10,0xf1,0x01,0x05,0x62,0x00] +0x00,0x08,0x10,0xf1,0x01,0x05,0x62,0x00 + +# CHECK: image_gather4_l v[5:8], v1, s[8:15], s[12:15] dmask:0x1 unorm ; encoding: [0x00,0x11,0x10,0xf1,0x01,0x05,0x62,0x00] +0x00,0x11,0x10,0xf1,0x01,0x05,0x62,0x00 + +# CHECK: image_gather4_l v[5:8], v1, s[8:15], s[12:15] dmask:0x1 glc ; encoding: [0x00,0x21,0x10,0xf1,0x01,0x05,0x62,0x00] +0x00,0x21,0x10,0xf1,0x01,0x05,0x62,0x00 -# CHECK: scratch_load_ubyte_d16_hi v5, off, vcc_lo offset:-1 ; encoding: [0xff,0x5f,0x84,0xdc,0x00,0x00,0x6a,0x05] -0xff,0x5f,0x84,0xdc,0x00,0x00,0x6a,0x05 +# CHECK: image_gather4_l v[5:8], v1, s[8:15], s[12:15] dmask:0x1 slc ; encoding: [0x00,0x01,0x10,0xf3,0x01,0x05,0x62,0x00] +0x00,0x01,0x10,0xf3,0x01,0x05,0x62,0x00 -# CHECK: scratch_load_ubyte_d16_hi v5, off, vcc_hi offset:-1 ; encoding: [0xff,0x5f,0x84,0xdc,0x00,0x00,0x6b,0x05] -0xff,0x5f,0x84,0xdc,0x00,0x00,0x6b,0x05 +# CHECK: image_gather4_l v[5:8], v1, s[8:15], s[12:15] dmask:0x1 lwe ; encoding: [0x00,0x01,0x12,0xf1,0x01,0x05,0x62,0x00] +0x00,0x01,0x12,0xf1,0x01,0x05,0x62,0x00 -# CHECK: scratch_load_ubyte_d16_hi v5, v0, off offset:-1 ; encoding: [0xff,0x5f,0x84,0xdc,0x00,0x00,0x7f,0x05] -0xff,0x5f,0x84,0xdc,0x00,0x00,0x7f,0x05 +# CHECK: image_gather4_l v[5:8], v1, s[8:15], s[12:15] dmask:0x1 da ; encoding: [0x00,0x41,0x10,0xf1,0x01,0x05,0x62,0x00] +0x00,0x41,0x10,0xf1,0x01,0x05,0x62,0x00 -# CHECK: scratch_load_ubyte_d16_hi v5, off, s2 ; encoding: [0x00,0x40,0x84,0xdc,0x00,0x00,0x02,0x05] -0x00,0x40,0x84,0xdc,0x00,0x00,0x02,0x05 +# CHECK: image_gather4_l v[5:6], v1, s[8:15], s[12:15] dmask:0x1 d16 ; encoding: [0x00,0x01,0x10,0xf1,0x01,0x05,0x62,0x80] +0x00,0x01,0x10,0xf1,0x01,0x05,0x62,0x80 -# CHECK: scratch_load_ubyte_d16_hi v5, off, s2 offset:4095 ; encoding: [0xff,0x4f,0x84,0xdc,0x00,0x00,0x02,0x05] -0xff,0x4f,0x84,0xdc,0x00,0x00,0x02,0x05 +# CHECK: image_gather4_b v[5:8], v[1:2], s[8:15], s[12:15] dmask:0x1 ; encoding: [0x00,0x01,0x14,0xf1,0x01,0x05,0x62,0x00] +0x00,0x01,0x14,0xf1,0x01,0x05,0x62,0x00 -# CHECK: scratch_load_ubyte_d16_hi v5, off, s2 offset:-4096 ; encoding: [0x00,0x50,0x84,0xdc,0x00,0x00,0x02,0x05] -0x00,0x50,0x84,0xdc,0x00,0x00,0x02,0x05 +# CHECK: image_gather4_b v[252:255], v[1:2], s[8:15], s[12:15] dmask:0x1 ; encoding: [0x00,0x01,0x14,0xf1,0x01,0xfc,0x62,0x00] +0x00,0x01,0x14,0xf1,0x01,0xfc,0x62,0x00 -# CHECK: scratch_load_ubyte_d16_hi v5, off, s2 offset:-1 glc ; encoding: [0xff,0x5f,0x85,0xdc,0x00,0x00,0x02,0x05] -0xff,0x5f,0x85,0xdc,0x00,0x00,0x02,0x05 +# CHECK: image_gather4_b v[5:8], v[252:253], s[8:15], s[12:15] dmask:0x1 ; encoding: [0x00,0x01,0x14,0xf1,0xfc,0x05,0x62,0x00] +0x00,0x01,0x14,0xf1,0xfc,0x05,0x62,0x00 -# CHECK: scratch_load_ubyte_d16_hi v5, off, s2 offset:-1 slc ; encoding: [0xff,0x5f,0x86,0xdc,0x00,0x00,0x02,0x05] -0xff,0x5f,0x86,0xdc,0x00,0x00,0x02,0x05 +# CHECK: image_gather4_b v[5:8], v[1:2], s[12:19], s[12:15] dmask:0x1 ; encoding: [0x00,0x01,0x14,0xf1,0x01,0x05,0x63,0x00] +0x00,0x01,0x14,0xf1,0x01,0x05,0x63,0x00 -# CHECK: scratch_load_sbyte_d16 v5, off, s2 offset:-1 ; encoding: [0xff,0x5f,0x88,0xdc,0x00,0x00,0x02,0x05] -0xff,0x5f,0x88,0xdc,0x00,0x00,0x02,0x05 +# CHECK: image_gather4_b v[5:8], v[1:2], s[92:99], s[12:15] dmask:0x1 ; encoding: [0x00,0x01,0x14,0xf1,0x01,0x05,0x77,0x00] +0x00,0x01,0x14,0xf1,0x01,0x05,0x77,0x00 -# CHECK: scratch_load_sbyte_d16 v255, off, s2 offset:-1 ; encoding: [0xff,0x5f,0x88,0xdc,0x00,0x00,0x02,0xff] -0xff,0x5f,0x88,0xdc,0x00,0x00,0x02,0xff +# CHECK: image_gather4_b v[5:8], v[1:2], s[8:15], s[16:19] dmask:0x1 ; encoding: [0x00,0x01,0x14,0xf1,0x01,0x05,0x82,0x00] +0x00,0x01,0x14,0xf1,0x01,0x05,0x82,0x00 -# CHECK: scratch_load_sbyte_d16 v5, off, s101 offset:-1 ; encoding: [0xff,0x5f,0x88,0xdc,0x00,0x00,0x65,0x05] -0xff,0x5f,0x88,0xdc,0x00,0x00,0x65,0x05 +# CHECK: image_gather4_b v[5:8], v[1:2], s[8:15], s[96:99] dmask:0x1 ; encoding: [0x00,0x01,0x14,0xf1,0x01,0x05,0x02,0x03] +0x00,0x01,0x14,0xf1,0x01,0x05,0x02,0x03 -# CHECK: scratch_load_sbyte_d16 v5, off, flat_scratch_lo offset:-1 ; encoding: [0xff,0x5f,0x88,0xdc,0x00,0x00,0x66,0x05] -0xff,0x5f,0x88,0xdc,0x00,0x00,0x66,0x05 +# CHECK: image_gather4_b v[5:8], v[1:2], s[8:15], s[12:15] dmask:0x2 ; encoding: [0x00,0x02,0x14,0xf1,0x01,0x05,0x62,0x00] +0x00,0x02,0x14,0xf1,0x01,0x05,0x62,0x00 -# CHECK: scratch_load_sbyte_d16 v5, off, flat_scratch_hi offset:-1 ; encoding: [0xff,0x5f,0x88,0xdc,0x00,0x00,0x67,0x05] -0xff,0x5f,0x88,0xdc,0x00,0x00,0x67,0x05 +# CHECK: image_gather4_b v[5:8], v[1:2], s[8:15], s[12:15] dmask:0x4 ; encoding: [0x00,0x04,0x14,0xf1,0x01,0x05,0x62,0x00] +0x00,0x04,0x14,0xf1,0x01,0x05,0x62,0x00 -# CHECK: scratch_load_sbyte_d16 v5, off, vcc_lo offset:-1 ; encoding: [0xff,0x5f,0x88,0xdc,0x00,0x00,0x6a,0x05] -0xff,0x5f,0x88,0xdc,0x00,0x00,0x6a,0x05 +# CHECK: image_gather4_b v[5:8], v[1:2], s[8:15], s[12:15] dmask:0x8 ; encoding: [0x00,0x08,0x14,0xf1,0x01,0x05,0x62,0x00] +0x00,0x08,0x14,0xf1,0x01,0x05,0x62,0x00 -# CHECK: scratch_load_sbyte_d16 v5, off, vcc_hi offset:-1 ; encoding: [0xff,0x5f,0x88,0xdc,0x00,0x00,0x6b,0x05] -0xff,0x5f,0x88,0xdc,0x00,0x00,0x6b,0x05 +# CHECK: image_gather4_b v[5:8], v[1:2], s[8:15], s[12:15] dmask:0x1 unorm ; encoding: [0x00,0x11,0x14,0xf1,0x01,0x05,0x62,0x00] +0x00,0x11,0x14,0xf1,0x01,0x05,0x62,0x00 -# CHECK: scratch_load_sbyte_d16 v5, v0, off offset:-1 ; encoding: [0xff,0x5f,0x88,0xdc,0x00,0x00,0x7f,0x05] -0xff,0x5f,0x88,0xdc,0x00,0x00,0x7f,0x05 +# CHECK: image_gather4_b v[5:8], v[1:2], s[8:15], s[12:15] dmask:0x1 glc ; encoding: [0x00,0x21,0x14,0xf1,0x01,0x05,0x62,0x00] +0x00,0x21,0x14,0xf1,0x01,0x05,0x62,0x00 -# CHECK: scratch_load_sbyte_d16 v5, off, s2 ; encoding: [0x00,0x40,0x88,0xdc,0x00,0x00,0x02,0x05] -0x00,0x40,0x88,0xdc,0x00,0x00,0x02,0x05 +# CHECK: image_gather4_b v[5:8], v[1:2], s[8:15], s[12:15] dmask:0x1 slc ; encoding: [0x00,0x01,0x14,0xf3,0x01,0x05,0x62,0x00] +0x00,0x01,0x14,0xf3,0x01,0x05,0x62,0x00 -# CHECK: scratch_load_sbyte_d16 v5, off, s2 offset:4095 ; encoding: [0xff,0x4f,0x88,0xdc,0x00,0x00,0x02,0x05] -0xff,0x4f,0x88,0xdc,0x00,0x00,0x02,0x05 +# CHECK: image_gather4_b v[5:8], v[1:2], s[8:15], s[12:15] dmask:0x1 lwe ; encoding: [0x00,0x01,0x16,0xf1,0x01,0x05,0x62,0x00] +0x00,0x01,0x16,0xf1,0x01,0x05,0x62,0x00 -# CHECK: scratch_load_sbyte_d16 v5, off, s2 offset:-4096 ; encoding: [0x00,0x50,0x88,0xdc,0x00,0x00,0x02,0x05] -0x00,0x50,0x88,0xdc,0x00,0x00,0x02,0x05 +# CHECK: image_gather4_b v[5:8], v[1:2], s[8:15], s[12:15] dmask:0x1 da ; encoding: [0x00,0x41,0x14,0xf1,0x01,0x05,0x62,0x00] +0x00,0x41,0x14,0xf1,0x01,0x05,0x62,0x00 -# CHECK: scratch_load_sbyte_d16 v5, off, s2 offset:-1 glc ; encoding: [0xff,0x5f,0x89,0xdc,0x00,0x00,0x02,0x05] -0xff,0x5f,0x89,0xdc,0x00,0x00,0x02,0x05 +# CHECK: image_gather4_b v[5:6], v[1:2], s[8:15], s[12:15] dmask:0x1 d16 ; encoding: [0x00,0x01,0x14,0xf1,0x01,0x05,0x62,0x80] +0x00,0x01,0x14,0xf1,0x01,0x05,0x62,0x80 -# CHECK: scratch_load_sbyte_d16 v5, off, s2 offset:-1 slc ; encoding: [0xff,0x5f,0x8a,0xdc,0x00,0x00,0x02,0x05] -0xff,0x5f,0x8a,0xdc,0x00,0x00,0x02,0x05 +# CHECK: image_gather4_c v[5:8], v[1:2], s[8:15], s[12:15] dmask:0x1 ; encoding: [0x00,0x01,0x20,0xf1,0x01,0x05,0x62,0x00] +0x00,0x01,0x20,0xf1,0x01,0x05,0x62,0x00 -# CHECK: scratch_load_sbyte_d16_hi v5, off, s2 offset:-1 ; encoding: [0xff,0x5f,0x8c,0xdc,0x00,0x00,0x02,0x05] -0xff,0x5f,0x8c,0xdc,0x00,0x00,0x02,0x05 +# CHECK: image_gather4_c v[252:255], v[1:2], s[8:15], s[12:15] dmask:0x1 ; encoding: [0x00,0x01,0x20,0xf1,0x01,0xfc,0x62,0x00] +0x00,0x01,0x20,0xf1,0x01,0xfc,0x62,0x00 -# CHECK: scratch_load_sbyte_d16_hi v255, off, s2 offset:-1 ; encoding: [0xff,0x5f,0x8c,0xdc,0x00,0x00,0x02,0xff] -0xff,0x5f,0x8c,0xdc,0x00,0x00,0x02,0xff +# CHECK: image_gather4_c v[5:8], v[252:253], s[8:15], s[12:15] dmask:0x1 ; encoding: [0x00,0x01,0x20,0xf1,0xfc,0x05,0x62,0x00] +0x00,0x01,0x20,0xf1,0xfc,0x05,0x62,0x00 -# CHECK: scratch_load_sbyte_d16_hi v5, off, s101 offset:-1 ; encoding: [0xff,0x5f,0x8c,0xdc,0x00,0x00,0x65,0x05] -0xff,0x5f,0x8c,0xdc,0x00,0x00,0x65,0x05 +# CHECK: image_gather4_c v[5:8], v[1:2], s[12:19], s[12:15] dmask:0x1 ; encoding: [0x00,0x01,0x20,0xf1,0x01,0x05,0x63,0x00] +0x00,0x01,0x20,0xf1,0x01,0x05,0x63,0x00 -# CHECK: scratch_load_sbyte_d16_hi v5, off, flat_scratch_lo offset:-1 ; encoding: [0xff,0x5f,0x8c,0xdc,0x00,0x00,0x66,0x05] -0xff,0x5f,0x8c,0xdc,0x00,0x00,0x66,0x05 +# CHECK: image_gather4_c v[5:8], v[1:2], s[92:99], s[12:15] dmask:0x1 ; encoding: [0x00,0x01,0x20,0xf1,0x01,0x05,0x77,0x00] +0x00,0x01,0x20,0xf1,0x01,0x05,0x77,0x00 -# CHECK: scratch_load_sbyte_d16_hi v5, off, flat_scratch_hi offset:-1 ; encoding: [0xff,0x5f,0x8c,0xdc,0x00,0x00,0x67,0x05] -0xff,0x5f,0x8c,0xdc,0x00,0x00,0x67,0x05 +# CHECK: image_gather4_c v[5:8], v[1:2], s[8:15], s[16:19] dmask:0x1 ; encoding: [0x00,0x01,0x20,0xf1,0x01,0x05,0x82,0x00] +0x00,0x01,0x20,0xf1,0x01,0x05,0x82,0x00 -# CHECK: scratch_load_sbyte_d16_hi v5, off, vcc_lo offset:-1 ; encoding: [0xff,0x5f,0x8c,0xdc,0x00,0x00,0x6a,0x05] -0xff,0x5f,0x8c,0xdc,0x00,0x00,0x6a,0x05 +# CHECK: image_gather4_c v[5:8], v[1:2], s[8:15], s[96:99] dmask:0x1 ; encoding: [0x00,0x01,0x20,0xf1,0x01,0x05,0x02,0x03] +0x00,0x01,0x20,0xf1,0x01,0x05,0x02,0x03 -# CHECK: scratch_load_sbyte_d16_hi v5, off, vcc_hi offset:-1 ; encoding: [0xff,0x5f,0x8c,0xdc,0x00,0x00,0x6b,0x05] -0xff,0x5f,0x8c,0xdc,0x00,0x00,0x6b,0x05 +# CHECK: image_gather4_c v[5:8], v[1:2], s[8:15], s[12:15] dmask:0x2 ; encoding: [0x00,0x02,0x20,0xf1,0x01,0x05,0x62,0x00] +0x00,0x02,0x20,0xf1,0x01,0x05,0x62,0x00 -# CHECK: scratch_load_sbyte_d16_hi v5, v0, off offset:-1 ; encoding: [0xff,0x5f,0x8c,0xdc,0x00,0x00,0x7f,0x05] -0xff,0x5f,0x8c,0xdc,0x00,0x00,0x7f,0x05 +# CHECK: image_gather4_c v[5:8], v[1:2], s[8:15], s[12:15] dmask:0x4 ; encoding: [0x00,0x04,0x20,0xf1,0x01,0x05,0x62,0x00] +0x00,0x04,0x20,0xf1,0x01,0x05,0x62,0x00 -# CHECK: scratch_load_sbyte_d16_hi v5, off, s2 ; encoding: [0x00,0x40,0x8c,0xdc,0x00,0x00,0x02,0x05] -0x00,0x40,0x8c,0xdc,0x00,0x00,0x02,0x05 +# CHECK: image_gather4_c v[5:8], v[1:2], s[8:15], s[12:15] dmask:0x8 ; encoding: [0x00,0x08,0x20,0xf1,0x01,0x05,0x62,0x00] +0x00,0x08,0x20,0xf1,0x01,0x05,0x62,0x00 -# CHECK: scratch_load_sbyte_d16_hi v5, off, s2 offset:4095 ; encoding: [0xff,0x4f,0x8c,0xdc,0x00,0x00,0x02,0x05] -0xff,0x4f,0x8c,0xdc,0x00,0x00,0x02,0x05 +# CHECK: image_gather4_c v[5:8], v[1:2], s[8:15], s[12:15] dmask:0x1 unorm ; encoding: [0x00,0x11,0x20,0xf1,0x01,0x05,0x62,0x00] +0x00,0x11,0x20,0xf1,0x01,0x05,0x62,0x00 -# CHECK: scratch_load_sbyte_d16_hi v5, off, s2 offset:-4096 ; encoding: [0x00,0x50,0x8c,0xdc,0x00,0x00,0x02,0x05] -0x00,0x50,0x8c,0xdc,0x00,0x00,0x02,0x05 +# CHECK: image_gather4_c v[5:8], v[1:2], s[8:15], s[12:15] dmask:0x1 glc ; encoding: [0x00,0x21,0x20,0xf1,0x01,0x05,0x62,0x00] +0x00,0x21,0x20,0xf1,0x01,0x05,0x62,0x00 -# CHECK: scratch_load_sbyte_d16_hi v5, off, s2 offset:-1 glc ; encoding: [0xff,0x5f,0x8d,0xdc,0x00,0x00,0x02,0x05] -0xff,0x5f,0x8d,0xdc,0x00,0x00,0x02,0x05 +# CHECK: image_gather4_c v[5:8], v[1:2], s[8:15], s[12:15] dmask:0x1 slc ; encoding: [0x00,0x01,0x20,0xf3,0x01,0x05,0x62,0x00] +0x00,0x01,0x20,0xf3,0x01,0x05,0x62,0x00 -# CHECK: scratch_load_sbyte_d16_hi v5, off, s2 offset:-1 slc ; encoding: [0xff,0x5f,0x8e,0xdc,0x00,0x00,0x02,0x05] -0xff,0x5f,0x8e,0xdc,0x00,0x00,0x02,0x05 +# CHECK: image_gather4_c v[5:8], v[1:2], s[8:15], s[12:15] dmask:0x1 lwe ; encoding: [0x00,0x01,0x22,0xf1,0x01,0x05,0x62,0x00] +0x00,0x01,0x22,0xf1,0x01,0x05,0x62,0x00 -# CHECK: scratch_load_short_d16 v5, off, s2 offset:-1 ; encoding: [0xff,0x5f,0x90,0xdc,0x00,0x00,0x02,0x05] -0xff,0x5f,0x90,0xdc,0x00,0x00,0x02,0x05 +# CHECK: image_gather4_c v[5:8], v[1:2], s[8:15], s[12:15] dmask:0x1 da ; encoding: [0x00,0x41,0x20,0xf1,0x01,0x05,0x62,0x00] +0x00,0x41,0x20,0xf1,0x01,0x05,0x62,0x00 -# CHECK: scratch_load_short_d16 v255, off, s2 offset:-1 ; encoding: [0xff,0x5f,0x90,0xdc,0x00,0x00,0x02,0xff] -0xff,0x5f,0x90,0xdc,0x00,0x00,0x02,0xff +# CHECK: image_gather4_c v[5:6], v[1:2], s[8:15], s[12:15] dmask:0x1 d16 ; encoding: [0x00,0x01,0x20,0xf1,0x01,0x05,0x62,0x80] +0x00,0x01,0x20,0xf1,0x01,0x05,0x62,0x80 -# CHECK: scratch_load_short_d16 v5, off, s101 offset:-1 ; encoding: [0xff,0x5f,0x90,0xdc,0x00,0x00,0x65,0x05] -0xff,0x5f,0x90,0xdc,0x00,0x00,0x65,0x05 +# CHECK: image_gather4_c_lz v[5:8], v[1:2], s[8:15], s[12:15] dmask:0x1 ; encoding: [0x00,0x01,0x3c,0xf1,0x01,0x05,0x62,0x00] +0x00,0x01,0x3c,0xf1,0x01,0x05,0x62,0x00 -# CHECK: scratch_load_short_d16 v5, off, flat_scratch_lo offset:-1 ; encoding: [0xff,0x5f,0x90,0xdc,0x00,0x00,0x66,0x05] -0xff,0x5f,0x90,0xdc,0x00,0x00,0x66,0x05 +# CHECK: image_gather4_c_lz v[252:255], v[1:2], s[8:15], s[12:15] dmask:0x1 ; encoding: [0x00,0x01,0x3c,0xf1,0x01,0xfc,0x62,0x00] +0x00,0x01,0x3c,0xf1,0x01,0xfc,0x62,0x00 -# CHECK: scratch_load_short_d16 v5, off, flat_scratch_hi offset:-1 ; encoding: [0xff,0x5f,0x90,0xdc,0x00,0x00,0x67,0x05] -0xff,0x5f,0x90,0xdc,0x00,0x00,0x67,0x05 +# CHECK: image_gather4_c_lz v[5:8], v[252:253], s[8:15], s[12:15] dmask:0x1 ; encoding: [0x00,0x01,0x3c,0xf1,0xfc,0x05,0x62,0x00] +0x00,0x01,0x3c,0xf1,0xfc,0x05,0x62,0x00 -# CHECK: scratch_load_short_d16 v5, off, vcc_lo offset:-1 ; encoding: [0xff,0x5f,0x90,0xdc,0x00,0x00,0x6a,0x05] -0xff,0x5f,0x90,0xdc,0x00,0x00,0x6a,0x05 +# CHECK: image_gather4_c_lz v[5:8], v[1:2], s[12:19], s[12:15] dmask:0x1 ; encoding: [0x00,0x01,0x3c,0xf1,0x01,0x05,0x63,0x00] +0x00,0x01,0x3c,0xf1,0x01,0x05,0x63,0x00 -# CHECK: scratch_load_short_d16 v5, off, vcc_hi offset:-1 ; encoding: [0xff,0x5f,0x90,0xdc,0x00,0x00,0x6b,0x05] -0xff,0x5f,0x90,0xdc,0x00,0x00,0x6b,0x05 +# CHECK: image_gather4_c_lz v[5:8], v[1:2], s[92:99], s[12:15] dmask:0x1 ; encoding: [0x00,0x01,0x3c,0xf1,0x01,0x05,0x77,0x00] +0x00,0x01,0x3c,0xf1,0x01,0x05,0x77,0x00 -# CHECK: scratch_load_short_d16 v5, v0, off offset:-1 ; encoding: [0xff,0x5f,0x90,0xdc,0x00,0x00,0x7f,0x05] -0xff,0x5f,0x90,0xdc,0x00,0x00,0x7f,0x05 +# CHECK: image_gather4_c_lz v[5:8], v[1:2], s[8:15], s[16:19] dmask:0x1 ; encoding: [0x00,0x01,0x3c,0xf1,0x01,0x05,0x82,0x00] +0x00,0x01,0x3c,0xf1,0x01,0x05,0x82,0x00 -# CHECK: scratch_load_short_d16 v5, off, s2 ; encoding: [0x00,0x40,0x90,0xdc,0x00,0x00,0x02,0x05] -0x00,0x40,0x90,0xdc,0x00,0x00,0x02,0x05 +# CHECK: image_gather4_c_lz v[5:8], v[1:2], s[8:15], s[96:99] dmask:0x1 ; encoding: [0x00,0x01,0x3c,0xf1,0x01,0x05,0x02,0x03] +0x00,0x01,0x3c,0xf1,0x01,0x05,0x02,0x03 -# CHECK: scratch_load_short_d16 v5, off, s2 offset:4095 ; encoding: [0xff,0x4f,0x90,0xdc,0x00,0x00,0x02,0x05] -0xff,0x4f,0x90,0xdc,0x00,0x00,0x02,0x05 +# CHECK: image_gather4_c_lz v[5:8], v[1:2], s[8:15], s[12:15] dmask:0x2 ; encoding: [0x00,0x02,0x3c,0xf1,0x01,0x05,0x62,0x00] +0x00,0x02,0x3c,0xf1,0x01,0x05,0x62,0x00 -# CHECK: scratch_load_short_d16 v5, off, s2 offset:-4096 ; encoding: [0x00,0x50,0x90,0xdc,0x00,0x00,0x02,0x05] -0x00,0x50,0x90,0xdc,0x00,0x00,0x02,0x05 +# CHECK: image_gather4_c_lz v[5:8], v[1:2], s[8:15], s[12:15] dmask:0x4 ; encoding: [0x00,0x04,0x3c,0xf1,0x01,0x05,0x62,0x00] +0x00,0x04,0x3c,0xf1,0x01,0x05,0x62,0x00 -# CHECK: scratch_load_short_d16 v5, off, s2 offset:-1 glc ; encoding: [0xff,0x5f,0x91,0xdc,0x00,0x00,0x02,0x05] -0xff,0x5f,0x91,0xdc,0x00,0x00,0x02,0x05 +# CHECK: image_gather4_c_lz v[5:8], v[1:2], s[8:15], s[12:15] dmask:0x8 ; encoding: [0x00,0x08,0x3c,0xf1,0x01,0x05,0x62,0x00] +0x00,0x08,0x3c,0xf1,0x01,0x05,0x62,0x00 -# CHECK: scratch_load_short_d16 v5, off, s2 offset:-1 slc ; encoding: [0xff,0x5f,0x92,0xdc,0x00,0x00,0x02,0x05] -0xff,0x5f,0x92,0xdc,0x00,0x00,0x02,0x05 +# CHECK: image_gather4_c_lz v[5:8], v[1:2], s[8:15], s[12:15] dmask:0x1 unorm ; encoding: [0x00,0x11,0x3c,0xf1,0x01,0x05,0x62,0x00] +0x00,0x11,0x3c,0xf1,0x01,0x05,0x62,0x00 -# CHECK: scratch_load_short_d16_hi v5, off, s2 offset:-1 ; encoding: [0xff,0x5f,0x94,0xdc,0x00,0x00,0x02,0x05] -0xff,0x5f,0x94,0xdc,0x00,0x00,0x02,0x05 +# CHECK: image_gather4_c_lz v[5:8], v[1:2], s[8:15], s[12:15] dmask:0x1 glc ; encoding: [0x00,0x21,0x3c,0xf1,0x01,0x05,0x62,0x00] +0x00,0x21,0x3c,0xf1,0x01,0x05,0x62,0x00 -# CHECK: scratch_load_short_d16_hi v255, off, s2 offset:-1 ; encoding: [0xff,0x5f,0x94,0xdc,0x00,0x00,0x02,0xff] -0xff,0x5f,0x94,0xdc,0x00,0x00,0x02,0xff +# CHECK: image_gather4_c_lz v[5:8], v[1:2], s[8:15], s[12:15] dmask:0x1 slc ; encoding: [0x00,0x01,0x3c,0xf3,0x01,0x05,0x62,0x00] +0x00,0x01,0x3c,0xf3,0x01,0x05,0x62,0x00 -# CHECK: scratch_load_short_d16_hi v5, off, s101 offset:-1 ; encoding: [0xff,0x5f,0x94,0xdc,0x00,0x00,0x65,0x05] -0xff,0x5f,0x94,0xdc,0x00,0x00,0x65,0x05 +# CHECK: image_gather4_c_lz v[5:8], v[1:2], s[8:15], s[12:15] dmask:0x1 lwe ; encoding: [0x00,0x01,0x3e,0xf1,0x01,0x05,0x62,0x00] +0x00,0x01,0x3e,0xf1,0x01,0x05,0x62,0x00 -# CHECK: scratch_load_short_d16_hi v5, off, flat_scratch_lo offset:-1 ; encoding: [0xff,0x5f,0x94,0xdc,0x00,0x00,0x66,0x05] -0xff,0x5f,0x94,0xdc,0x00,0x00,0x66,0x05 +# CHECK: image_gather4_c_lz v[5:8], v[1:2], s[8:15], s[12:15] dmask:0x1 da ; encoding: [0x00,0x41,0x3c,0xf1,0x01,0x05,0x62,0x00] +0x00,0x41,0x3c,0xf1,0x01,0x05,0x62,0x00 -# CHECK: scratch_load_short_d16_hi v5, off, flat_scratch_hi offset:-1 ; encoding: [0xff,0x5f,0x94,0xdc,0x00,0x00,0x67,0x05] -0xff,0x5f,0x94,0xdc,0x00,0x00,0x67,0x05 +# CHECK: image_gather4_c_lz v[5:6], v[1:2], s[8:15], s[12:15] dmask:0x1 d16 ; encoding: [0x00,0x01,0x3c,0xf1,0x01,0x05,0x62,0x80] +0x00,0x01,0x3c,0xf1,0x01,0x05,0x62,0x80 -# CHECK: scratch_load_short_d16_hi v5, off, vcc_lo offset:-1 ; encoding: [0xff,0x5f,0x94,0xdc,0x00,0x00,0x6a,0x05] -0xff,0x5f,0x94,0xdc,0x00,0x00,0x6a,0x05 +# CHECK: image_gather4_o v[5:8], v[1:2], s[8:15], s[12:15] dmask:0x1 ; encoding: [0x00,0x01,0x40,0xf1,0x01,0x05,0x62,0x00] +0x00,0x01,0x40,0xf1,0x01,0x05,0x62,0x00 -# CHECK: scratch_load_short_d16_hi v5, off, vcc_hi offset:-1 ; encoding: [0xff,0x5f,0x94,0xdc,0x00,0x00,0x6b,0x05] -0xff,0x5f,0x94,0xdc,0x00,0x00,0x6b,0x05 +# CHECK: image_gather4_o v[252:255], v[1:2], s[8:15], s[12:15] dmask:0x1 ; encoding: [0x00,0x01,0x40,0xf1,0x01,0xfc,0x62,0x00] +0x00,0x01,0x40,0xf1,0x01,0xfc,0x62,0x00 -# CHECK: scratch_load_short_d16_hi v5, v0, off offset:-1 ; encoding: [0xff,0x5f,0x94,0xdc,0x00,0x00,0x7f,0x05] -0xff,0x5f,0x94,0xdc,0x00,0x00,0x7f,0x05 +# CHECK: image_gather4_o v[5:8], v[252:253], s[8:15], s[12:15] dmask:0x1 ; encoding: [0x00,0x01,0x40,0xf1,0xfc,0x05,0x62,0x00] +0x00,0x01,0x40,0xf1,0xfc,0x05,0x62,0x00 -# CHECK: scratch_load_short_d16_hi v5, off, s2 ; encoding: [0x00,0x40,0x94,0xdc,0x00,0x00,0x02,0x05] -0x00,0x40,0x94,0xdc,0x00,0x00,0x02,0x05 +# CHECK: image_gather4_o v[5:8], v[1:2], s[12:19], s[12:15] dmask:0x1 ; encoding: [0x00,0x01,0x40,0xf1,0x01,0x05,0x63,0x00] +0x00,0x01,0x40,0xf1,0x01,0x05,0x63,0x00 -# CHECK: scratch_load_short_d16_hi v5, off, s2 offset:4095 ; encoding: [0xff,0x4f,0x94,0xdc,0x00,0x00,0x02,0x05] -0xff,0x4f,0x94,0xdc,0x00,0x00,0x02,0x05 +# CHECK: image_gather4_o v[5:8], v[1:2], s[92:99], s[12:15] dmask:0x1 ; encoding: [0x00,0x01,0x40,0xf1,0x01,0x05,0x77,0x00] +0x00,0x01,0x40,0xf1,0x01,0x05,0x77,0x00 -# CHECK: scratch_load_short_d16_hi v5, off, s2 offset:-4096 ; encoding: [0x00,0x50,0x94,0xdc,0x00,0x00,0x02,0x05] -0x00,0x50,0x94,0xdc,0x00,0x00,0x02,0x05 +# CHECK: image_gather4_o v[5:8], v[1:2], s[8:15], s[16:19] dmask:0x1 ; encoding: [0x00,0x01,0x40,0xf1,0x01,0x05,0x82,0x00] +0x00,0x01,0x40,0xf1,0x01,0x05,0x82,0x00 -# CHECK: scratch_load_short_d16_hi v5, off, s2 offset:-1 glc ; encoding: [0xff,0x5f,0x95,0xdc,0x00,0x00,0x02,0x05] -0xff,0x5f,0x95,0xdc,0x00,0x00,0x02,0x05 +# CHECK: image_gather4_o v[5:8], v[1:2], s[8:15], s[96:99] dmask:0x1 ; encoding: [0x00,0x01,0x40,0xf1,0x01,0x05,0x02,0x03] +0x00,0x01,0x40,0xf1,0x01,0x05,0x02,0x03 -# CHECK: scratch_load_short_d16_hi v5, off, s2 offset:-1 slc ; encoding: [0xff,0x5f,0x96,0xdc,0x00,0x00,0x02,0x05] -0xff,0x5f,0x96,0xdc,0x00,0x00,0x02,0x05 +# CHECK: image_gather4_o v[5:8], v[1:2], s[8:15], s[12:15] dmask:0x2 ; encoding: [0x00,0x02,0x40,0xf1,0x01,0x05,0x62,0x00] +0x00,0x02,0x40,0xf1,0x01,0x05,0x62,0x00 -# CHECK: image_get_resinfo v5, v1, s[8:15] dmask:0x1 ; encoding: [0x00,0x01,0x38,0xf0,0x01,0x05,0x02,0x00] -0x00,0x01,0x38,0xf0,0x01,0x05,0x02,0x00 +# CHECK: image_gather4_o v[5:8], v[1:2], s[8:15], s[12:15] dmask:0x4 ; encoding: [0x00,0x04,0x40,0xf1,0x01,0x05,0x62,0x00] +0x00,0x04,0x40,0xf1,0x01,0x05,0x62,0x00 -# CHECK: image_get_resinfo v252, v1, s[8:15] dmask:0x1 ; encoding: [0x00,0x01,0x38,0xf0,0x01,0xfc,0x02,0x00] -0x00,0x01,0x38,0xf0,0x01,0xfc,0x02,0x00 +# CHECK: image_gather4_o v[5:8], v[1:2], s[8:15], s[12:15] dmask:0x8 ; encoding: [0x00,0x08,0x40,0xf1,0x01,0x05,0x62,0x00] +0x00,0x08,0x40,0xf1,0x01,0x05,0x62,0x00 -# CHECK: image_get_resinfo v5, v255, s[8:15] dmask:0x1 ; encoding: [0x00,0x01,0x38,0xf0,0xff,0x05,0x02,0x00] -0x00,0x01,0x38,0xf0,0xff,0x05,0x02,0x00 +# CHECK: image_gather4_o v[5:8], v[1:2], s[8:15], s[12:15] dmask:0x1 unorm ; encoding: [0x00,0x11,0x40,0xf1,0x01,0x05,0x62,0x00] +0x00,0x11,0x40,0xf1,0x01,0x05,0x62,0x00 -# CHECK: image_get_resinfo v5, v1, s[12:19] dmask:0x1 ; encoding: [0x00,0x01,0x38,0xf0,0x01,0x05,0x03,0x00] -0x00,0x01,0x38,0xf0,0x01,0x05,0x03,0x00 +# CHECK: image_gather4_o v[5:8], v[1:2], s[8:15], s[12:15] dmask:0x1 glc ; encoding: [0x00,0x21,0x40,0xf1,0x01,0x05,0x62,0x00] +0x00,0x21,0x40,0xf1,0x01,0x05,0x62,0x00 -# CHECK: image_get_resinfo v5, v1, s[92:99] dmask:0x1 ; encoding: [0x00,0x01,0x38,0xf0,0x01,0x05,0x17,0x00] -0x00,0x01,0x38,0xf0,0x01,0x05,0x17,0x00 +# CHECK: image_gather4_o v[5:8], v[1:2], s[8:15], s[12:15] dmask:0x1 slc ; encoding: [0x00,0x01,0x40,0xf3,0x01,0x05,0x62,0x00] +0x00,0x01,0x40,0xf3,0x01,0x05,0x62,0x00 -# CHECK: image_get_resinfo v5, v1, s[8:15] dmask:0x2 ; encoding: [0x00,0x02,0x38,0xf0,0x01,0x05,0x02,0x00] -0x00,0x02,0x38,0xf0,0x01,0x05,0x02,0x00 +# CHECK: image_gather4_o v[5:8], v[1:2], s[8:15], s[12:15] dmask:0x1 lwe ; encoding: [0x00,0x01,0x42,0xf1,0x01,0x05,0x62,0x00] +0x00,0x01,0x42,0xf1,0x01,0x05,0x62,0x00 -# CHECK: image_get_resinfo v[5:6], v1, s[8:15] dmask:0x3 ; encoding: [0x00,0x03,0x38,0xf0,0x01,0x05,0x02,0x00] -0x00,0x03,0x38,0xf0,0x01,0x05,0x02,0x00 +# CHECK: image_gather4_o v[5:8], v[1:2], s[8:15], s[12:15] dmask:0x1 da ; encoding: [0x00,0x41,0x40,0xf1,0x01,0x05,0x62,0x00] +0x00,0x41,0x40,0xf1,0x01,0x05,0x62,0x00 -# CHECK: image_get_resinfo v5, v1, s[8:15] dmask:0x4 ; encoding: [0x00,0x04,0x38,0xf0,0x01,0x05,0x02,0x00] -0x00,0x04,0x38,0xf0,0x01,0x05,0x02,0x00 +# CHECK: image_gather4_o v[5:6], v[1:2], s[8:15], s[12:15] dmask:0x1 d16 ; encoding: [0x00,0x01,0x40,0xf1,0x01,0x05,0x62,0x80] +0x00,0x01,0x40,0xf1,0x01,0x05,0x62,0x80 -# CHECK: image_get_resinfo v[5:6], v1, s[8:15] dmask:0x5 ; encoding: [0x00,0x05,0x38,0xf0,0x01,0x05,0x02,0x00] -0x00,0x05,0x38,0xf0,0x01,0x05,0x02,0x00 +# CHECK: image_gather4_lz_o v[5:8], v[1:2], s[8:15], s[12:15] dmask:0x1 ; encoding: [0x00,0x01,0x5c,0xf1,0x01,0x05,0x62,0x00] +0x00,0x01,0x5c,0xf1,0x01,0x05,0x62,0x00 -# CHECK: image_get_resinfo v[5:6], v1, s[8:15] dmask:0x6 ; encoding: [0x00,0x06,0x38,0xf0,0x01,0x05,0x02,0x00] -0x00,0x06,0x38,0xf0,0x01,0x05,0x02,0x00 +# CHECK: image_gather4_lz_o v[252:255], v[1:2], s[8:15], s[12:15] dmask:0x1 ; encoding: [0x00,0x01,0x5c,0xf1,0x01,0xfc,0x62,0x00] +0x00,0x01,0x5c,0xf1,0x01,0xfc,0x62,0x00 -# CHECK: image_get_resinfo v[5:7], v1, s[8:15] dmask:0x7 ; encoding: [0x00,0x07,0x38,0xf0,0x01,0x05,0x02,0x00] -0x00,0x07,0x38,0xf0,0x01,0x05,0x02,0x00 +# CHECK: image_gather4_lz_o v[5:8], v[252:253], s[8:15], s[12:15] dmask:0x1 ; encoding: [0x00,0x01,0x5c,0xf1,0xfc,0x05,0x62,0x00] +0x00,0x01,0x5c,0xf1,0xfc,0x05,0x62,0x00 -# CHECK: image_get_resinfo v5, v1, s[8:15] dmask:0x8 ; encoding: [0x00,0x08,0x38,0xf0,0x01,0x05,0x02,0x00] -0x00,0x08,0x38,0xf0,0x01,0x05,0x02,0x00 +# CHECK: image_gather4_lz_o v[5:8], v[1:2], s[12:19], s[12:15] dmask:0x1 ; encoding: [0x00,0x01,0x5c,0xf1,0x01,0x05,0x63,0x00] +0x00,0x01,0x5c,0xf1,0x01,0x05,0x63,0x00 -# CHECK: image_get_resinfo v[5:6], v1, s[8:15] dmask:0x9 ; encoding: [0x00,0x09,0x38,0xf0,0x01,0x05,0x02,0x00] -0x00,0x09,0x38,0xf0,0x01,0x05,0x02,0x00 +# CHECK: image_gather4_lz_o v[5:8], v[1:2], s[92:99], s[12:15] dmask:0x1 ; encoding: [0x00,0x01,0x5c,0xf1,0x01,0x05,0x77,0x00] +0x00,0x01,0x5c,0xf1,0x01,0x05,0x77,0x00 -# CHECK: image_get_resinfo v[5:6], v1, s[8:15] dmask:0xa ; encoding: [0x00,0x0a,0x38,0xf0,0x01,0x05,0x02,0x00] -0x00,0x0a,0x38,0xf0,0x01,0x05,0x02,0x00 +# CHECK: image_gather4_lz_o v[5:8], v[1:2], s[8:15], s[16:19] dmask:0x1 ; encoding: [0x00,0x01,0x5c,0xf1,0x01,0x05,0x82,0x00] +0x00,0x01,0x5c,0xf1,0x01,0x05,0x82,0x00 -# CHECK: image_get_resinfo v[5:7], v1, s[8:15] dmask:0xb ; encoding: [0x00,0x0b,0x38,0xf0,0x01,0x05,0x02,0x00] -0x00,0x0b,0x38,0xf0,0x01,0x05,0x02,0x00 +# CHECK: image_gather4_lz_o v[5:8], v[1:2], s[8:15], s[96:99] dmask:0x1 ; encoding: [0x00,0x01,0x5c,0xf1,0x01,0x05,0x02,0x03] +0x00,0x01,0x5c,0xf1,0x01,0x05,0x02,0x03 -# CHECK: image_get_resinfo v[5:6], v1, s[8:15] dmask:0xc ; encoding: [0x00,0x0c,0x38,0xf0,0x01,0x05,0x02,0x00] -0x00,0x0c,0x38,0xf0,0x01,0x05,0x02,0x00 +# CHECK: image_gather4_lz_o v[5:8], v[1:2], s[8:15], s[12:15] dmask:0x2 ; encoding: [0x00,0x02,0x5c,0xf1,0x01,0x05,0x62,0x00] +0x00,0x02,0x5c,0xf1,0x01,0x05,0x62,0x00 -# CHECK: image_get_resinfo v[5:7], v1, s[8:15] dmask:0xd ; encoding: [0x00,0x0d,0x38,0xf0,0x01,0x05,0x02,0x00] -0x00,0x0d,0x38,0xf0,0x01,0x05,0x02,0x00 +# CHECK: image_gather4_lz_o v[5:8], v[1:2], s[8:15], s[12:15] dmask:0x4 ; encoding: [0x00,0x04,0x5c,0xf1,0x01,0x05,0x62,0x00] +0x00,0x04,0x5c,0xf1,0x01,0x05,0x62,0x00 -# CHECK: image_get_resinfo v[5:7], v1, s[8:15] dmask:0xe ; encoding: [0x00,0x0e,0x38,0xf0,0x01,0x05,0x02,0x00] -0x00,0x0e,0x38,0xf0,0x01,0x05,0x02,0x00 +# CHECK: image_gather4_lz_o v[5:8], v[1:2], s[8:15], s[12:15] dmask:0x8 ; encoding: [0x00,0x08,0x5c,0xf1,0x01,0x05,0x62,0x00] +0x00,0x08,0x5c,0xf1,0x01,0x05,0x62,0x00 -# CHECK: image_get_resinfo v[5:8], v1, s[8:15] dmask:0xf ; encoding: [0x00,0x0f,0x38,0xf0,0x01,0x05,0x02,0x00] -0x00,0x0f,0x38,0xf0,0x01,0x05,0x02,0x00 +# CHECK: image_gather4_lz_o v[5:8], v[1:2], s[8:15], s[12:15] dmask:0x1 unorm ; encoding: [0x00,0x11,0x5c,0xf1,0x01,0x05,0x62,0x00] +0x00,0x11,0x5c,0xf1,0x01,0x05,0x62,0x00 -# CHECK: image_get_resinfo v5, v1, s[8:15] dmask:0x1 unorm ; encoding: [0x00,0x11,0x38,0xf0,0x01,0x05,0x02,0x00] -0x00,0x11,0x38,0xf0,0x01,0x05,0x02,0x00 +# CHECK: image_gather4_lz_o v[5:8], v[1:2], s[8:15], s[12:15] dmask:0x1 glc ; encoding: [0x00,0x21,0x5c,0xf1,0x01,0x05,0x62,0x00] +0x00,0x21,0x5c,0xf1,0x01,0x05,0x62,0x00 -# CHECK: image_get_resinfo v5, v1, s[8:15] dmask:0x1 glc ; encoding: [0x00,0x21,0x38,0xf0,0x01,0x05,0x02,0x00] -0x00,0x21,0x38,0xf0,0x01,0x05,0x02,0x00 +# CHECK: image_gather4_lz_o v[5:8], v[1:2], s[8:15], s[12:15] dmask:0x1 slc ; encoding: [0x00,0x01,0x5c,0xf3,0x01,0x05,0x62,0x00] +0x00,0x01,0x5c,0xf3,0x01,0x05,0x62,0x00 -# CHECK: image_get_resinfo v5, v1, s[8:15] dmask:0x1 slc ; encoding: [0x00,0x01,0x38,0xf2,0x01,0x05,0x02,0x00] -0x00,0x01,0x38,0xf2,0x01,0x05,0x02,0x00 +# CHECK: image_gather4_lz_o v[5:8], v[1:2], s[8:15], s[12:15] dmask:0x1 lwe ; encoding: [0x00,0x01,0x5e,0xf1,0x01,0x05,0x62,0x00] +0x00,0x01,0x5e,0xf1,0x01,0x05,0x62,0x00 -# CHECK: image_get_resinfo v5, v1, s[8:15] dmask:0x1 lwe ; encoding: [0x00,0x01,0x3a,0xf0,0x01,0x05,0x02,0x00] -0x00,0x01,0x3a,0xf0,0x01,0x05,0x02,0x00 +# CHECK: image_gather4_lz_o v[5:8], v[1:2], s[8:15], s[12:15] dmask:0x1 da ; encoding: [0x00,0x41,0x5c,0xf1,0x01,0x05,0x62,0x00] +0x00,0x41,0x5c,0xf1,0x01,0x05,0x62,0x00 -# CHECK: image_get_resinfo v5, v1, s[8:15] dmask:0x1 da ; encoding: [0x00,0x41,0x38,0xf0,0x01,0x05,0x02,0x00] -0x00,0x41,0x38,0xf0,0x01,0x05,0x02,0x00 +# CHECK: image_gather4_lz_o v[5:6], v[1:2], s[8:15], s[12:15] dmask:0x1 d16 ; encoding: [0x00,0x01,0x5c,0xf1,0x01,0x05,0x62,0x80] +0x00,0x01,0x5c,0xf1,0x01,0x05,0x62,0x80 # CHECK: buffer_load_format_x v5, off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x00,0xe0,0x00,0x05,0x02,0x03] 0xff,0x0f,0x00,0xe0,0x00,0x05,0x02,0x03 @@ -18096,6 +19740,51 @@ # CHECK: s_setvskip s1, 0x3f717273 ; encoding: [0x01,0xff,0x10,0xbf,0x73,0x72,0x71,0x3f] 0x01,0xff,0x10,0xbf,0x73,0x72,0x71,0x3f +# CHECK: s_set_gpr_idx_on s1, gpr_idx() ; encoding: [0x01,0x00,0x11,0xbf] +0x01,0x00,0x11,0xbf + +# CHECK: s_set_gpr_idx_on s101, gpr_idx() ; encoding: [0x65,0x00,0x11,0xbf] +0x65,0x00,0x11,0xbf + +# CHECK: s_set_gpr_idx_on flat_scratch_lo, gpr_idx() ; encoding: [0x66,0x00,0x11,0xbf] +0x66,0x00,0x11,0xbf + +# CHECK: s_set_gpr_idx_on flat_scratch_hi, gpr_idx() ; encoding: [0x67,0x00,0x11,0xbf] +0x67,0x00,0x11,0xbf + +# CHECK: s_set_gpr_idx_on vcc_lo, gpr_idx() ; encoding: [0x6a,0x00,0x11,0xbf] +0x6a,0x00,0x11,0xbf + +# CHECK: s_set_gpr_idx_on vcc_hi, gpr_idx() ; encoding: [0x6b,0x00,0x11,0xbf] +0x6b,0x00,0x11,0xbf + +# CHECK: s_set_gpr_idx_on m0, gpr_idx() ; encoding: [0x7c,0x00,0x11,0xbf] +0x7c,0x00,0x11,0xbf + +# CHECK: s_set_gpr_idx_on 0, gpr_idx() ; encoding: [0x80,0x00,0x11,0xbf] +0x80,0x00,0x11,0xbf + +# CHECK: s_set_gpr_idx_on -1, gpr_idx() ; encoding: [0xc1,0x00,0x11,0xbf] +0xc1,0x00,0x11,0xbf + +# CHECK: s_set_gpr_idx_on 0.5, gpr_idx() ; encoding: [0xf0,0x00,0x11,0xbf] +0xf0,0x00,0x11,0xbf + +# CHECK: s_set_gpr_idx_on -4.0, gpr_idx() ; encoding: [0xf7,0x00,0x11,0xbf] +0xf7,0x00,0x11,0xbf + +# CHECK: s_set_gpr_idx_on 0xaf123456, gpr_idx() ; encoding: [0xff,0x00,0x11,0xbf,0x56,0x34,0x12,0xaf] +0xff,0x00,0x11,0xbf,0x56,0x34,0x12,0xaf + +# CHECK: s_set_gpr_idx_on 0x3f717273, gpr_idx() ; encoding: [0xff,0x00,0x11,0xbf,0x73,0x72,0x71,0x3f] +0xff,0x00,0x11,0xbf,0x73,0x72,0x71,0x3f + +# CHECK: s_set_gpr_idx_on s1, gpr_idx(SRC0) ; encoding: [0x01,0x01,0x11,0xbf] +0x01,0x01,0x11,0xbf + +# CHECK: s_set_gpr_idx_on s1, gpr_idx(SRC0,SRC1,SRC2,DST) ; encoding: [0x01,0x0f,0x11,0xbf] +0x01,0x0f,0x11,0xbf + # CHECK: s_cmp_eq_u64 s[2:3], s[4:5] ; encoding: [0x02,0x04,0x12,0xbf] 0x02,0x04,0x12,0xbf @@ -18714,6 +20403,96 @@ # CHECK: s_mulk_i32 s5, 0xc1d1 ; encoding: [0xd1,0xc1,0x85,0xb7] 0xd1,0xc1,0x85,0xb7 +# CHECK: s_cbranch_i_fork s[2:3], 12609 ; encoding: [0x41,0x31,0x02,0xb8] +0x41,0x31,0x02,0xb8 + +# CHECK: s_cbranch_i_fork s[4:5], 12609 ; encoding: [0x41,0x31,0x04,0xb8] +0x41,0x31,0x04,0xb8 + +# CHECK: s_cbranch_i_fork s[100:101], 12609 ; encoding: [0x41,0x31,0x64,0xb8] +0x41,0x31,0x64,0xb8 + +# CHECK: s_cbranch_i_fork flat_scratch, 12609 ; encoding: [0x41,0x31,0x66,0xb8] +0x41,0x31,0x66,0xb8 + +# CHECK: s_cbranch_i_fork vcc, 12609 ; encoding: [0x41,0x31,0x6a,0xb8] +0x41,0x31,0x6a,0xb8 + +# CHECK: s_cbranch_i_fork exec, 12609 ; encoding: [0x41,0x31,0x7e,0xb8] +0x41,0x31,0x7e,0xb8 + +# CHECK: s_cbranch_i_fork s[2:3], 49617 ; encoding: [0xd1,0xc1,0x02,0xb8] +0xd1,0xc1,0x02,0xb8 + +# CHECK: s_getreg_b32 s5, hwreg(HW_REG_MODE, 5, 7) ; encoding: [0x41,0x31,0x85,0xb8] +0x41,0x31,0x85,0xb8 + +# CHECK: s_getreg_b32 s101, hwreg(HW_REG_MODE, 5, 7) ; encoding: [0x41,0x31,0xe5,0xb8] +0x41,0x31,0xe5,0xb8 + +# CHECK: s_getreg_b32 flat_scratch_lo, hwreg(HW_REG_MODE, 5, 7) ; encoding: [0x41,0x31,0xe6,0xb8] +0x41,0x31,0xe6,0xb8 + +# CHECK: s_getreg_b32 flat_scratch_hi, hwreg(HW_REG_MODE, 5, 7) ; encoding: [0x41,0x31,0xe7,0xb8] +0x41,0x31,0xe7,0xb8 + +# CHECK: s_getreg_b32 vcc_lo, hwreg(HW_REG_MODE, 5, 7) ; encoding: [0x41,0x31,0xea,0xb8] +0x41,0x31,0xea,0xb8 + +# CHECK: s_getreg_b32 vcc_hi, hwreg(HW_REG_MODE, 5, 7) ; encoding: [0x41,0x31,0xeb,0xb8] +0x41,0x31,0xeb,0xb8 + +# CHECK: s_getreg_b32 m0, hwreg(HW_REG_MODE, 5, 7) ; encoding: [0x41,0x31,0xfc,0xb8] +0x41,0x31,0xfc,0xb8 + +# CHECK: s_getreg_b32 exec_lo, hwreg(HW_REG_MODE, 5, 7) ; encoding: [0x41,0x31,0xfe,0xb8] +0x41,0x31,0xfe,0xb8 + +# CHECK: s_getreg_b32 exec_hi, hwreg(HW_REG_MODE, 5, 7) ; encoding: [0x41,0x31,0xff,0xb8] +0x41,0x31,0xff,0xb8 + +# CHECK: s_getreg_b32 s5, hwreg(17, 7, 25) ; encoding: [0xd1,0xc1,0x85,0xb8] +0xd1,0xc1,0x85,0xb8 + +# CHECK: s_setreg_b32 hwreg(HW_REG_MODE, 5, 7), s1 ; encoding: [0x41,0x31,0x01,0xb9] +0x41,0x31,0x01,0xb9 + +# CHECK: s_setreg_b32 hwreg(17, 7, 25), s1 ; encoding: [0xd1,0xc1,0x01,0xb9] +0xd1,0xc1,0x01,0xb9 + +# CHECK: s_setreg_b32 hwreg(HW_REG_MODE, 5, 7), s101 ; encoding: [0x41,0x31,0x65,0xb9] +0x41,0x31,0x65,0xb9 + +# CHECK: s_setreg_b32 hwreg(HW_REG_MODE, 5, 7), flat_scratch_lo ; encoding: [0x41,0x31,0x66,0xb9] +0x41,0x31,0x66,0xb9 + +# CHECK: s_setreg_b32 hwreg(HW_REG_MODE, 5, 7), flat_scratch_hi ; encoding: [0x41,0x31,0x67,0xb9] +0x41,0x31,0x67,0xb9 + +# CHECK: s_setreg_b32 hwreg(HW_REG_MODE, 5, 7), vcc_lo ; encoding: [0x41,0x31,0x6a,0xb9] +0x41,0x31,0x6a,0xb9 + +# CHECK: s_setreg_b32 hwreg(HW_REG_MODE, 5, 7), vcc_hi ; encoding: [0x41,0x31,0x6b,0xb9] +0x41,0x31,0x6b,0xb9 + +# CHECK: s_setreg_b32 hwreg(HW_REG_MODE, 5, 7), m0 ; encoding: [0x41,0x31,0x7c,0xb9] +0x41,0x31,0x7c,0xb9 + +# CHECK: s_setreg_b32 hwreg(HW_REG_MODE, 5, 7), exec_lo ; encoding: [0x41,0x31,0x7e,0xb9] +0x41,0x31,0x7e,0xb9 + +# CHECK: s_setreg_b32 hwreg(HW_REG_MODE, 5, 7), exec_hi ; encoding: [0x41,0x31,0x7f,0xb9] +0x41,0x31,0x7f,0xb9 + +# CHECK: s_setreg_imm32_b32 hwreg(HW_REG_MODE, 5, 7), 0x11213141 ; encoding: [0x41,0x31,0x00,0xba,0x41,0x31,0x21,0x11] +0x41,0x31,0x00,0xba,0x41,0x31,0x21,0x11 + +# CHECK: s_setreg_imm32_b32 hwreg(17, 7, 25), 0x11213141 ; encoding: [0xd1,0xc1,0x00,0xba,0x41,0x31,0x21,0x11] +0xd1,0xc1,0x00,0xba,0x41,0x31,0x21,0x11 + +# CHECK: s_setreg_imm32_b32 hwreg(HW_REG_MODE, 5, 7), 0xa1b1c1d1 ; encoding: [0x41,0x31,0x00,0xba,0xd1,0xc1,0xb1,0xa1] +0x41,0x31,0x00,0xba,0xd1,0xc1,0xb1,0xa1 + # CHECK: s_nop 0x3141 ; encoding: [0x41,0x31,0x80,0xbf] 0x41,0x31,0x80,0xbf @@ -18777,6 +20556,12 @@ # CHECK: s_setkill 0xc1d1 ; encoding: [0xd1,0xc1,0x8b,0xbf] 0xd1,0xc1,0x8b,0xbf +# CHECK: s_waitcnt vmcnt(1) expcnt(4) lgkmcnt(1) ; encoding: [0x41,0x31,0x8c,0xbf] +0x41,0x31,0x8c,0xbf + +# CHECK: s_waitcnt vmcnt(49) expcnt(5) lgkmcnt(1) ; encoding: [0xd1,0xc1,0x8c,0xbf] +0xd1,0xc1,0x8c,0xbf + # CHECK: s_sethalt 0x3141 ; encoding: [0x41,0x31,0x8d,0xbf] 0x41,0x31,0x8d,0xbf @@ -18795,6 +20580,18 @@ # CHECK: s_setprio 0xc1d1 ; encoding: [0xd1,0xc1,0x8f,0xbf] 0xd1,0xc1,0x8f,0xbf +# CHECK: s_sendmsg 12609 ; encoding: [0x41,0x31,0x90,0xbf] +0x41,0x31,0x90,0xbf + +# CHECK: s_sendmsg 49617 ; encoding: [0xd1,0xc1,0x90,0xbf] +0xd1,0xc1,0x90,0xbf + +# CHECK: s_sendmsghalt 12609 ; encoding: [0x41,0x31,0x91,0xbf] +0x41,0x31,0x91,0xbf + +# CHECK: s_sendmsghalt 49617 ; encoding: [0xd1,0xc1,0x91,0xbf] +0xd1,0xc1,0x91,0xbf + # CHECK: s_trap 0x3141 ; encoding: [0x41,0x31,0x92,0xbf] 0x41,0x31,0x92,0xbf @@ -18849,6 +20646,42 @@ # CHECK: s_set_gpr_idx_off ; encoding: [0x00,0x00,0x9c,0xbf] 0x00,0x00,0x9c,0xbf +# CHECK: s_set_gpr_idx_mode gpr_idx() ; encoding: [0x00,0x00,0x9d,0xbf] +0x00,0x00,0x9d,0xbf + +# CHECK: s_set_gpr_idx_mode gpr_idx(SRC0) ; encoding: [0x01,0x00,0x9d,0xbf] +0x01,0x00,0x9d,0xbf + +# CHECK: s_set_gpr_idx_mode gpr_idx(SRC0,SRC1,SRC2,DST) ; encoding: [0x0f,0x00,0x9d,0xbf] +0x0f,0x00,0x9d,0xbf + +# CHECK: v_interp_p1_f32_e32 v5, v1, attr0.x ; encoding: [0x01,0x00,0x14,0xd4] +0x01,0x00,0x14,0xd4 + +# CHECK: v_interp_p1_f32_e32 v255, v1, attr0.x ; encoding: [0x01,0x00,0xfc,0xd7] +0x01,0x00,0xfc,0xd7 + +# CHECK: v_interp_p1_f32_e32 v5, v255, attr0.x ; encoding: [0xff,0x00,0x14,0xd4] +0xff,0x00,0x14,0xd4 + +# CHECK: v_interp_p1_f32_e32 v5, v1, attr1.x ; encoding: [0x01,0x04,0x14,0xd4] +0x01,0x04,0x14,0xd4 + +# CHECK: v_interp_p1_f32_e32 v5, v1, attr31.x ; encoding: [0x01,0x7c,0x14,0xd4] +0x01,0x7c,0x14,0xd4 + +# CHECK: v_interp_p1_f32_e32 v5, v1, attr32.x ; encoding: [0x01,0x80,0x14,0xd4] +0x01,0x80,0x14,0xd4 + +# CHECK: v_interp_p1_f32_e32 v5, v1, attr0.y ; encoding: [0x01,0x01,0x14,0xd4] +0x01,0x01,0x14,0xd4 + +# CHECK: v_interp_p1_f32_e32 v5, v1, attr0.z ; encoding: [0x01,0x02,0x14,0xd4] +0x01,0x02,0x14,0xd4 + +# CHECK: v_interp_p1_f32_e32 v5, v1, attr0.w ; encoding: [0x01,0x03,0x14,0xd4] +0x01,0x03,0x14,0xd4 + # CHECK: v_interp_p1_f32_e64 v5, v2, attr0.x ; encoding: [0x05,0x00,0x70,0xd2,0x00,0x04,0x02,0x00] 0x05,0x00,0x70,0xd2,0x00,0x04,0x02,0x00 @@ -18894,6 +20727,33 @@ # CHECK: v_interp_p1_f32_e64 v5, v2, attr0.x div:2 ; encoding: [0x05,0x00,0x70,0xd2,0x00,0x04,0x02,0x18] 0x05,0x00,0x70,0xd2,0x00,0x04,0x02,0x18 +# CHECK: v_interp_p2_f32_e32 v5, v1, attr0.x ; encoding: [0x01,0x00,0x15,0xd4] +0x01,0x00,0x15,0xd4 + +# CHECK: v_interp_p2_f32_e32 v255, v1, attr0.x ; encoding: [0x01,0x00,0xfd,0xd7] +0x01,0x00,0xfd,0xd7 + +# CHECK: v_interp_p2_f32_e32 v5, v255, attr0.x ; encoding: [0xff,0x00,0x15,0xd4] +0xff,0x00,0x15,0xd4 + +# CHECK: v_interp_p2_f32_e32 v5, v1, attr1.x ; encoding: [0x01,0x04,0x15,0xd4] +0x01,0x04,0x15,0xd4 + +# CHECK: v_interp_p2_f32_e32 v5, v1, attr31.x ; encoding: [0x01,0x7c,0x15,0xd4] +0x01,0x7c,0x15,0xd4 + +# CHECK: v_interp_p2_f32_e32 v5, v1, attr32.x ; encoding: [0x01,0x80,0x15,0xd4] +0x01,0x80,0x15,0xd4 + +# CHECK: v_interp_p2_f32_e32 v5, v1, attr0.y ; encoding: [0x01,0x01,0x15,0xd4] +0x01,0x01,0x15,0xd4 + +# CHECK: v_interp_p2_f32_e32 v5, v1, attr0.z ; encoding: [0x01,0x02,0x15,0xd4] +0x01,0x02,0x15,0xd4 + +# CHECK: v_interp_p2_f32_e32 v5, v1, attr0.w ; encoding: [0x01,0x03,0x15,0xd4] +0x01,0x03,0x15,0xd4 + # CHECK: v_interp_p2_f32_e64 v5, v2, attr0.x ; encoding: [0x05,0x00,0x71,0xd2,0x00,0x04,0x02,0x00] 0x05,0x00,0x71,0xd2,0x00,0x04,0x02,0x00 @@ -18939,6 +20799,36 @@ # CHECK: v_interp_p2_f32_e64 v5, v2, attr0.x div:2 ; encoding: [0x05,0x00,0x71,0xd2,0x00,0x04,0x02,0x18] 0x05,0x00,0x71,0xd2,0x00,0x04,0x02,0x18 +# CHECK: v_interp_mov_f32_e32 v5, p10, attr0.x ; encoding: [0x00,0x00,0x16,0xd4] +0x00,0x00,0x16,0xd4 + +# CHECK: v_interp_mov_f32_e32 v255, p10, attr0.x ; encoding: [0x00,0x00,0xfe,0xd7] +0x00,0x00,0xfe,0xd7 + +# CHECK: v_interp_mov_f32_e32 v5, p20, attr0.x ; encoding: [0x01,0x00,0x16,0xd4] +0x01,0x00,0x16,0xd4 + +# CHECK: v_interp_mov_f32_e32 v5, p0, attr0.x ; encoding: [0x02,0x00,0x16,0xd4] +0x02,0x00,0x16,0xd4 + +# CHECK: v_interp_mov_f32_e32 v5, p10, attr1.x ; encoding: [0x00,0x04,0x16,0xd4] +0x00,0x04,0x16,0xd4 + +# CHECK: v_interp_mov_f32_e32 v5, p10, attr31.x ; encoding: [0x00,0x7c,0x16,0xd4] +0x00,0x7c,0x16,0xd4 + +# CHECK: v_interp_mov_f32_e32 v5, p10, attr32.x ; encoding: [0x00,0x80,0x16,0xd4] +0x00,0x80,0x16,0xd4 + +# CHECK: v_interp_mov_f32_e32 v5, p10, attr0.y ; encoding: [0x00,0x01,0x16,0xd4] +0x00,0x01,0x16,0xd4 + +# CHECK: v_interp_mov_f32_e32 v5, p10, attr0.z ; encoding: [0x00,0x02,0x16,0xd4] +0x00,0x02,0x16,0xd4 + +# CHECK: v_interp_mov_f32_e32 v5, p10, attr0.w ; encoding: [0x00,0x03,0x16,0xd4] +0x00,0x03,0x16,0xd4 + # CHECK: v_interp_mov_f32_e64 v5, p10, attr0.x ; encoding: [0x05,0x00,0x72,0xd2,0x00,0x00,0x00,0x00] 0x05,0x00,0x72,0xd2,0x00,0x00,0x00,0x00 @@ -18981,6 +20871,12 @@ # CHECK: v_interp_mov_f32_e64 v5, p10, attr0.x div:2 ; encoding: [0x05,0x00,0x72,0xd2,0x00,0x00,0x00,0x18] 0x05,0x00,0x72,0xd2,0x00,0x00,0x00,0x18 +# CHECK: v_nop ; encoding: [0x00,0x00,0x00,0x7e] +0x00,0x00,0x00,0x7e + +# CHECK: v_nop ; encoding: [0x00,0x00,0x40,0xd1,0x00,0x00,0x00,0x00] +0x00,0x00,0x40,0xd1,0x00,0x00,0x00,0x00 + # CHECK: v_mov_b32_e32 v5, v1 ; encoding: [0x01,0x03,0x0a,0x7e] 0x01,0x03,0x0a,0x7e @@ -24600,6 +26496,12 @@ # CHECK: v_frexp_mant_f32_e64 v5, v1 div:2 ; encoding: [0x05,0x00,0x74,0xd1,0x01,0x01,0x00,0x18] 0x05,0x00,0x74,0xd1,0x01,0x01,0x00,0x18 +# CHECK: v_clrexcp ; encoding: [0x00,0x6a,0x00,0x7e] +0x00,0x6a,0x00,0x7e + +# CHECK: v_clrexcp ; encoding: [0x00,0x00,0x75,0xd1,0x00,0x00,0x00,0x00] +0x00,0x00,0x75,0xd1,0x00,0x00,0x00,0x00 + # CHECK: v_cvt_f16_u16_e32 v5, v1 ; encoding: [0x01,0x73,0x0a,0x7e] 0x01,0x73,0x0a,0x7e