GLint id;
GLfloat fd;
} bits3;
- char *reloc_target;
+
+ char *first_reloc_target, *second_reloc_target; // first for JIP, second for UIP
+ GLint first_reloc_offset, second_reloc_offset; // in number of instructions
};
set_direct_src_operand(&ip_src, &dst, BRW_REGISTER_TYPE_UD);
set_instruction_src0(&$$, &ip_src);
set_instruction_src1(&$$, &imm);
- $$.reloc_target = $4;
+ $$.first_reloc_target = $4;
}
;
set_direct_src_operand(&ip_src, &dst, BRW_REGISTER_TYPE_UD);
set_instruction_src0(&$$, &ip_src);
set_instruction_src1(&$$, &imm);
- $$.reloc_target = $4;
+ $$.first_reloc_target = $4;
}
;
set_direct_src_operand(&ip_src, &dst, BRW_REGISTER_TYPE_UD);
set_instruction_src0(&$$, &ip_src);
set_instruction_src1(&$$, &imm);
- $$.reloc_target = $3;
+ $$.first_reloc_target = $3;
}
;
for (entry = compiled_program.first;
entry != NULL; entry = entry->next) {
if (!entry->islabel) {
- if (entry->instruction.reloc_target) {
+ if (entry->instruction.first_reloc_target) {
entry1 = entry;
int found = 0;
do {
if (entry1->islabel &&
strcmp(entry1->string,
- entry->instruction.reloc_target) == 0) {
+ entry->instruction.first_reloc_target) == 0) {
int offset =
entry1->inst_offset - entry->inst_offset;
int delta = (entry->instruction.header.opcode == BRW_OPCODE_JMPI ? 1 : 0);
} while (entry1 != entry);
if (found == 0)
fprintf(stderr, "can not find label %s\n",
- entry->instruction.reloc_target);
+ entry->instruction.first_reloc_target);
}
}
}