Lines Matching refs:reg

66 scan_register_key(const scan_register *reg)
68 unsigned key = reg->file;
69 key |= (reg->indices[0] << 4);
70 key |= (reg->indices[1] << 18);
76 fill_scan_register1d(scan_register *reg,
79 reg->file = file;
80 reg->dimensions = 1;
81 reg->indices[0] = index;
82 reg->indices[1] = 0;
86 fill_scan_register2d(scan_register *reg,
89 reg->file = file;
90 reg->dimensions = 2;
91 reg->indices[0] = index1;
92 reg->indices[1] = index2;
96 scan_register_dst(scan_register *reg,
102 fill_scan_register2d(reg,
107 fill_scan_register1d(reg,
114 scan_register_src(scan_register *reg,
120 fill_scan_register2d(reg,
125 fill_scan_register1d(reg,
134 scan_register *reg = MALLOC(sizeof(scan_register));
135 scan_register_src(reg, src);
137 return reg;
143 scan_register *reg = MALLOC(sizeof(scan_register));
144 scan_register_dst(reg, dst);
146 return reg;
202 const scan_register *reg)
205 ctx->regs_decl, scan_register_key(reg),
206 (void*)reg, sizeof(scan_register));
219 scan_register *reg = (scan_register *)cso_hash_iter_data(iter);
220 if (reg->file == file)
231 scan_register *reg)
234 ctx->regs_used, scan_register_key(reg),
235 reg, sizeof(scan_register));
243 scan_register *reg)
245 return cso_hash_contains(ctx->regs_ind_used, reg->file);
268 scan_register *reg,
272 if (!check_file_name( ctx, reg->file )) {
273 FREE(reg);
280 reg->indices[0] = 0;
281 reg->indices[1] = 0;
282 if (!is_any_register_declared( ctx, reg->file ))
283 report_error( ctx, "%s: Undeclared %s register", file_names[reg->file], name );
284 if (!is_ind_register_used(ctx, reg))
285 cso_hash_insert(ctx->regs_ind_used, reg->file, reg);
287 FREE(reg);
290 if (!is_register_declared( ctx, reg )) {
291 if (reg->dimensions == 2) {
292 report_error( ctx, "%s[%d][%d]: Undeclared %s register", file_names[reg->file],
293 reg->indices[0], reg->indices[1], name );
296 report_error( ctx, "%s[%d]: Undeclared %s register", file_names[reg->file],
297 reg->indices[0], name );
300 if (!is_register_used( ctx, reg ))
301 cso_hash_insert(ctx->regs_used, scan_register_key(reg), reg);
303 FREE(reg);
341 scan_register *reg = create_scan_register_dst(&inst->Dst[i]);
344 reg,
352 scan_register *reg = create_scan_register_src(&inst->Src[i]);
355 reg,
379 scan_register *reg)
381 if (is_register_declared( ctx, reg))
383 file_names[reg->file], reg->indices[0] );
385 scan_register_key(reg),
386 reg);
417 scan_register *reg = MALLOC(sizeof(scan_register));
418 fill_scan_register2d(reg, file, i, vert);
419 check_and_declare(ctx, reg);
422 scan_register *reg = MALLOC(sizeof(scan_register));
424 fill_scan_register2d(reg, file, i, decl->Dim.Index2D);
426 fill_scan_register1d(reg, file, i);
428 check_and_declare(ctx, reg);
441 scan_register *reg;
450 reg = MALLOC(sizeof(scan_register));
451 fill_scan_register1d(reg, TGSI_FILE_IMMEDIATE, ctx->num_imms);
452 cso_hash_insert(ctx->regs_decl, scan_register_key(reg), reg);
501 scan_register *reg = (scan_register *)cso_hash_iter_data(iter);
502 if (!is_register_used(ctx, reg) && !is_ind_register_used(ctx, reg)) {
504 file_names[reg->file], reg->indices[0] );
523 scan_register *reg = (scan_register *)cso_hash_iter_data(iter);
525 assert(reg->file < TGSI_FILE_COUNT);
526 FREE(reg);