Lines Matching refs:vec

1081    nir_variable *vec = create_ivec2(nir_var_mem_global, "vec");
1084 nir_store_var(b, vec, nir_load_var(b, in0), 1 << 0);
1085 nir_store_var(b, vec, nir_load_var(b, in1), 1 << 1);
1087 /* This load will be dropped, as vec.y (or vec[1]) is already known. */
1089 nir_build_deref_array_imm(b, nir_build_deref_var(b, vec), 1);
1109 /* NOTE: The ALU instruction is how we get the vec.y. */
1116 nir_variable *vec = create_ivec2(nir_var_mem_global, "vec");
1118 nir_copy_var(b, vec, in0);
1122 nir_build_deref_array_imm(b, nir_build_deref_var(b, vec), 1);
1140 nir_variable *vec = create_ivec2(nir_var_mem_global, "vec");
1143 /* Loading "vec[1]" deref will save the information about vec.y. */
1145 nir_build_deref_array_imm(b, nir_build_deref_var(b, vec), 1);
1148 /* Store to vec.x. */
1149 nir_store_var(b, vec, nir_load_var(b, in0), 1 << 0);
1151 /* This load will be dropped, since both vec.x and vec.y are known. */
1152 nir_ssa_def *loaded_from_vec = nir_load_var(b, vec);
1173 nir_variable *vec = create_ivec2(nir_var_mem_global, "vec");
1177 /* Store to "vec[1]" and "vec[0]". */
1179 nir_build_deref_array_imm(b, nir_build_deref_var(b, vec), 1);
1183 nir_build_deref_array_imm(b, nir_build_deref_var(b, vec), 0);
1188 nir_build_deref_array_imm(b, nir_build_deref_var(b, vec), 1);
1191 nir_store_var(b, out1, nir_load_var(b, vec), 1);
1218 nir_variable *vec = create_ivec2(nir_var_mem_global, "vec");
1224 /* Store to vec[idx]. */
1226 nir_build_deref_array(b, nir_build_deref_var(b, vec), idx_ssa);
1229 /* Load from vec[idx] to store in out. This load should be dropped. */
1231 nir_build_deref_array(b, nir_build_deref_var(b, vec), idx_ssa);
1245 /* Store to vec[idx] propagated to out. */
1255 nir_variable *vec = create_ivec2(nir_var_mem_global, "vec");
1261 /* Store to vec. */
1262 nir_store_var(b, vec, nir_imm_ivec2(b, 10, 10), 1 | 2);
1264 /* Load from vec[idx]. This load is currently not dropped. */
1266 nir_build_deref_array(b, nir_build_deref_var(b, vec), idx_ssa);
1269 /* Load from vec[idx] again. This load should be dropped. */
1283 /* Store to vec[idx] propagated to out. */
1856 nir_alu_instr *vec = nir_src_as_alu_instr(combined->src[1]);
1857 ASSERT_TRUE(vec);
1859 nir_intrinsic_instr *load = nir_src_as_intrinsic(vec->src[i].src);
1863 ASSERT_EQ(vec->src[i].swizzle[0], i)
1895 nir_alu_instr *vec = nir_src_as_alu_instr(combined->src[1]);
1896 ASSERT_TRUE(vec);
1899 nir_intrinsic_instr *load_for_x = nir_src_as_intrinsic(vec->src[0].src);
1901 ASSERT_EQ(vec->src[0].swizzle[0], 0);
1904 nir_intrinsic_instr *load_for_y = nir_src_as_intrinsic(vec->src[1].src);
1906 ASSERT_EQ(vec->src[1].swizzle[0], 1);
1909 nir_intrinsic_instr *load_for_z = nir_src_as_intrinsic(vec->src[2].src);
1910 nir_intrinsic_instr *load_for_w = nir_src_as_intrinsic(vec->src[3].src);
1913 ASSERT_EQ(vec->src[2].swizzle[0], 2);
1914 ASSERT_EQ(vec->src[3].swizzle[0], 3);
1919 nir_variable **v = create_many_ivec4(nir_var_mem_global, "vec", 2);
1961 nir_alu_instr *vec = nir_src_as_alu_instr(combined->src[1]);
1962 ASSERT_TRUE(vec);
1965 nir_intrinsic_instr *load_for_x = nir_src_as_intrinsic(vec->src[0].src);
1967 ASSERT_EQ(vec->src[0].swizzle[0], 0);
1970 nir_intrinsic_instr *load_for_y = nir_src_as_intrinsic(vec->src[1].src);
1972 ASSERT_EQ(vec->src[1].swizzle[0], 1);
1975 nir_intrinsic_instr *load_for_z = nir_src_as_intrinsic(vec->src[2].src);
1977 ASSERT_EQ(vec->src[2].swizzle[0], 0);
1980 nir_intrinsic_instr *load_for_w = nir_src_as_intrinsic(vec->src[3].src);
1982 ASSERT_EQ(vec->src[3].swizzle[0], 0);