Lines Matching refs:ins
34 bi_lower_swizzle_16(bi_context *ctx, bi_instr *ins, unsigned src)
37 if (ins->src[src].swizzle == BI_SWIZZLE_H01)
41 switch (ins->op) {
72 if (src == 0 && ins->src[src].swizzle != BI_SWIZZLE_H10)
89 if (ins->src[src].swizzle == BI_SWIZZLE_H10)
98 bi_builder b = bi_init_builder(ctx, bi_after_instr(ins));
99 bi_index dest = ins->dest[0];
102 ins->dest[0] = tmp;
103 bi_swz_v2i16_to(&b, dest, bi_replace_index(ins->src[0], tmp));
116 if (ins->src[src].type == BI_INDEX_CONSTANT) {
117 ins->src[src].value = bi_apply_swizzle(ins->src[src].value,
118 ins->src[src].swizzle);
119 ins->src[src].swizzle = BI_SWIZZLE_H01;
126 if (ins->dest[0].swizzle == BI_SWIZZLE_H00 &&
127 ins->src[src].swizzle == BI_SWIZZLE_H00)
129 ins->src[src].swizzle = BI_SWIZZLE_H01;
134 bi_builder b = bi_init_builder(ctx, bi_before_instr(ins));
135 ins->src[src] = bi_replace_index(ins->src[src],
136 bi_swz_v2i16(&b, ins->src[src]));
137 ins->src[src].swizzle = BI_SWIZZLE_H01;
243 bi_foreach_instr_global_safe(ctx, ins) {
244 bi_foreach_src(ins, s) {
245 if (!bi_is_null(ins->src[s]))
246 bi_lower_swizzle_16(ctx, ins, s);
253 bi_foreach_instr_global(ctx, ins) {
254 if (bi_is_ssa(ins->dest[0]) && bi_instr_replicates(ins, replicates_16))
255 BITSET_SET(replicates_16, ins->dest[0].value);
257 if (ins->op == BI_OPCODE_SWZ_V2I16 && bi_is_ssa(ins->src[0]) &&
258 BITSET_TEST(replicates_16, ins->src[0].value)) {
259 ins->op = BI_OPCODE_MOV_I32;
260 ins->src[0].swizzle = BI_SWIZZLE_H01;
267 ins->dest[0].swizzle = BI_SWIZZLE_H01;