Lines Matching defs:val

272 as_vgpr(Builder& bld, Temp val)
274 if (val.type() == RegType::sgpr)
275 return bld.copy(bld.def(RegType::vgpr, val.size()), val);
276 assert(val.type() == RegType::vgpr);
277 return val;
281 as_vgpr(isel_context* ctx, Temp val)
284 return as_vgpr(bld, val);
604 bool_to_vector_condition(isel_context* ctx, Temp val, Temp dst = Temp(0, s2))
610 assert(val.regClass() == s1);
614 bld.scc(val));
618 bool_to_scalar_condition(isel_context* ctx, Temp val, Temp dst = Temp(0, s1))
624 assert(val.regClass() == bld.lm);
628 bld.sop2(Builder::s_and, bld.def(bld.lm), bld.scc(Definition(dst)), val, Operand(exec, bld.lm));
1193 emit_scaled_op(isel_context* ctx, Builder& bld, Definition dst, Temp val, aco_opcode op,
1197 Temp is_denormal = bld.vopc(aco_opcode::v_cmp_class_f32, bld.def(bld.lm), as_vgpr(ctx, val),
1199 Temp scaled = bld.vop2(aco_opcode::v_mul_f32, bld.def(v1), Operand::c32(0x4b800000u), val);
1203 Temp not_scaled = bld.vop1(op, bld.def(v1), val);
1209 emit_rcp(isel_context* ctx, Builder& bld, Definition dst, Temp val)
1212 bld.vop1(aco_opcode::v_rcp_f32, dst, val);
1216 emit_scaled_op(ctx, bld, dst, val, aco_opcode::v_rcp_f32, 0x4b800000u);
1220 emit_rsq(isel_context* ctx, Builder& bld, Definition dst, Temp val)
1223 bld.vop1(aco_opcode::v_rsq_f32, dst, val);
1227 emit_scaled_op(ctx, bld, dst, val, aco_opcode::v_rsq_f32, 0x45800000u);
1231 emit_sqrt(isel_context* ctx, Builder& bld, Definition dst, Temp val)
1234 bld.vop1(aco_opcode::v_sqrt_f32, dst, val);
1238 emit_scaled_op(ctx, bld, dst, val, aco_opcode::v_sqrt_f32, 0x39800000u);
1242 emit_log2(isel_context* ctx, Builder& bld, Definition dst, Temp val)
1245 bld.vop1(aco_opcode::v_log_f32, dst, val);
1249 emit_scaled_op(ctx, bld, dst, val, aco_opcode::v_log_f32, 0xc1c00000u);
1253 emit_trunc_f64(isel_context* ctx, Builder& bld, Definition dst, Temp val)
1256 return bld.vop1(aco_opcode::v_trunc_f64, Definition(dst), val);
1260 if (val.type() == RegType::sgpr)
1261 val = as_vgpr(ctx, val);
1265 bld.pseudo(aco_opcode::p_split_vector, Definition(val_lo), Definition(val_hi), val);
1304 emit_floor_f64(isel_context* ctx, Builder& bld, Definition dst, Temp val)
1307 return bld.vop1(aco_opcode::v_floor_f64, Definition(dst), val);
1311 Temp src0 = as_vgpr(ctx, val);
3940 int val = instr->value[0].b ? -1 : 0;
3941 Operand op = bld.lm.size() == 1 ? Operand::c32(val) : Operand::c64(val);
4130 Temp val = params.callback(bld, info, aligned_offset_tmp, bytes_needed, align,
4134 if (val == info.dst) {
4153 assert(val.bytes() >= load_size && "unimplemented");
4154 if (val.type() == RegType::sgpr)
4155 byte_align_scalar(ctx, val, byte_align_off, info.dst);
4157 byte_align_vector(ctx, val, byte_align_off, info.dst, component_size);
4163 assert(val.bytes() == info.component_size && "unimplemented");
4167 const_offset += val.bytes();
4168 align_offset = (align_offset + val.bytes()) % align_mul;
4170 bytes_read += val.bytes();
4171 vals[num_vals++] = val;
4324 Temp val = rc == info.dst.regClass() && dst_hint.id() ? dst_hint : bld.tmp(rc);
4327 instr = bld.ds(op, Definition(val), offset, m, const_offset, const_offset + 1);
4329 instr = bld.ds(op, Definition(val), offset, m, const_offset);
4335 return val;
4391 Temp val = dst_hint.id() && dst_hint.regClass() == rc ? dst_hint : bld.tmp(rc);
4392 load->definitions[0] = Definition(val);
4397 return val;
4449 Temp val = dst_hint.id() && rc == dst_hint.regClass() ? dst_hint : bld.tmp(rc);
4450 mubuf->definitions[0] = Definition(val);
4453 return val;
4484 Temp val = dst_hint.id() && rc == dst_hint.regClass() ? dst_hint : bld.tmp(rc);
4490 flat->definitions[0] = Definition(val);
4493 return val;
4647 Temp val = dst_hint.id() && rc == dst_hint.regClass() ? dst_hint : bld.tmp(rc);
4660 mubuf->definitions[0] = Definition(val);
4680 flat->definitions[0] = Definition(val);
4684 return val;
7799 /* subgroupClusteredAnd(val, 4) -> ~wqm(exec & ~val) */
7805 /* subgroupClusteredOr(val, 4) -> wqm(val & exec) */
7810 /* subgroupAnd(val) -> (exec & ~val) == 0 */
7818 /* subgroupOr(val) -> (val & exec) != 0 */
7825 /* subgroupXor(val) -> s_bcnt1_i32_b64(val & exec) & 1 */
7834 /* subgroupClustered{And,Or,Xor}(val, n):
7838 * return ((val | ~exec) >> cluster_offset) & cluster_mask == cluster_mask
7840 * return ((val & exec) >> cluster_offset) & cluster_mask != 0
7842 * return v_bnt_u32_b32(((val & exec) >> cluster_offset) & cluster_mask, 0) & 1 != 0
7889 /* subgroupExclusiveAnd(val) -> mbcnt(exec & ~val) == 0
7890 * subgroupExclusiveOr(val) -> mbcnt(val & exec) != 0
7891 * subgroupExclusiveXor(val) -> mbcnt(val & exec) & 1 != 0
7919 /* subgroupInclusiveAnd(val) -> subgroupExclusiveAnd(val) && val
7920 * subgroupInclusiveOr(val) -> subgroupExclusiveOr(val) || val
7921 * subgroupInclusiveXor(val) -> subgroupExclusiveXor(val) ^^ val
8967 Temp val = bld.as_uniform(get_ssa_temp(ctx, instr->src[1].ssa));
8972 emit_wqm(bld, bld.writelane(bld.def(v1), val, lane, src), dst);
8977 bld.pseudo(aco_opcode::p_split_vector, Definition(val_lo), Definition(val_hi), val);
10044 Temp val[4];
10046 val[i] = emit_extract_vector(ctx, tmp_dst, i, v1);
10049 cvt_val = bld.vop1(aco_opcode::v_cvt_u32_f32, bld.def(v1), val[i]);
10051 cvt_val = bld.vop1(aco_opcode::v_cvt_i32_f32, bld.def(v1), val[i]);
10052 val[i] = bld.vop2(aco_opcode::v_cndmask_b32, bld.def(v1), val[i], cvt_val,
10058 tmp_dst = bld.pseudo(aco_opcode::p_create_vector, Definition(tmp), val[0], val[1], val[2],
10059 val[3], emit_extract_vector(ctx, tmp_dst, 4, v1));
10061 tmp_dst = bld.pseudo(aco_opcode::p_create_vector, Definition(tmp), val[0], val[1], val[2],
10062 val[3]);
10457 Operand val;
10459 val = vals[block.linear_preds[0] - first];
10465 val = Operand(ctx->program->allocateTmp(rc));
10466 phi->definitions[0] = Definition(val.getTemp());
10469 vals[idx - first] = val;
12028 program->config->float_mode = program->blocks[0].fp_mode.val;
12095 Temp val = bld.tmp(v1);
12097 load_vmem_mubuf(&ctx, val, gsvs_ring, vtx_offset, Temp(), const_offset, 4, 1, 0u, true,
12101 ctx.outputs.temps[i * 4u + j] = val;
12127 program->config->float_mode = program->blocks[0].fp_mode.val;
12189 program->config->float_mode = program->blocks[0].fp_mode.val;
12519 program->config->float_mode = program->blocks[0].fp_mode.val;
12570 program->config->float_mode = program->blocks[0].fp_mode.val;