struct brw_instruction *options);
void set_instruction_predicate(struct brw_instruction *instr,
struct brw_instruction *predicate);
-void set_direct_dst_operand(struct dst_operand *dst, struct direct_reg *reg,
+void set_direct_dst_operand(struct dst_operand *dst, struct brw_reg *reg,
int type);
-void set_direct_src_operand(struct src_operand *src, struct direct_reg *reg,
+void set_direct_src_operand(struct src_operand *src, struct brw_reg *reg,
int type);
static void brw_program_init(struct brw_program *p)
struct brw_program program;
struct region region;
struct regtype regtype;
- struct direct_reg direct_reg;
+ struct brw_reg direct_reg;
struct indirect_reg indirect_reg;
struct condition condition;
struct declared_register symbol_reg;
%type <region> region region_wh indirectregion declare_srcregion;
%type <regtype> regtype
%type <direct_reg> directgenreg directmsgreg addrreg accreg flagreg maskreg
-%type <direct_reg> maskstackreg notifyreg
+%type <direct_reg> maskstackreg notifyreg
/* %type <direct_reg> maskstackdepthreg */
%type <direct_reg> statereg controlreg ipreg nullreg
%type <direct_reg> dstoperandex_typed srcarchoperandex_typed
memset(&$$, 0, sizeof($$));
$$.header.opcode = $2;
$$.header.execution_size = $3;
- $$.header.destreg__conditionalmod = $5.reg_nr; /* msg reg index */
+ $$.header.destreg__conditionalmod = $5.nr; /* msg reg index */
set_instruction_predicate(&$$, &$1);
memset(&$$, 0, sizeof($$));
$$.header.opcode = $2;
$$.header.execution_size = $3;
- $$.header.destreg__conditionalmod = $5.reg_nr; /* msg reg index */
+ $$.header.destreg__conditionalmod = $5.nr; /* msg reg index */
set_instruction_predicate(&$$, &$1);
if (set_instruction_dest(&$$, &$4) != 0)
src0.reg_type = BRW_REGISTER_TYPE_D;
}
- src0.reg_nr = $5.reg_nr;
+ src0.reg_nr = $5.nr;
src0.subreg_nr = 0;
set_instruction_src0(&$$, &src0);
src0.reg_type = BRW_REGISTER_TYPE_D;
}
- src0.reg_nr = $5.reg_nr;
+ src0.reg_nr = $5.nr;
src0.subreg_nr = 0;
set_instruction_src0(&$$, &src0);
memset(&$$, 0, sizeof($$));
$$.header.opcode = $2;
$$.header.execution_size = $3;
- $$.header.destreg__conditionalmod = $5.reg_nr; /* msg reg index */
+ $$.header.destreg__conditionalmod = $5.nr; /* msg reg index */
set_instruction_predicate(&$$, &$1);
if (set_instruction_dest(&$$, &$4) != 0)
memset(&$$, 0, sizeof($$));
$$.header.opcode = $2;
$$.header.execution_size = $3;
- $$.header.destreg__conditionalmod = $5.reg_nr; /* msg reg index */
+ $$.header.destreg__conditionalmod = $5.nr; /* msg reg index */
set_instruction_predicate(&$$, &$1);
dstoperandex: dstoperandex_typed dstregion regtype
{
memset (&$$, '\0', sizeof ($$));
- $$.reg_file = $1.reg_file;
- $$.reg_nr = $1.reg_nr;
- $$.subreg_nr = $1.subreg_nr;
+ $$.reg_file = $1.file;
+ $$.reg_nr = $1.nr;
+ $$.subreg_nr = $1.subnr;
$$.horiz_stride = $2;
$$.reg_type = $3.type;
}
| maskstackreg
{
memset (&$$, '\0', sizeof ($$));
- $$.reg_file = $1.reg_file;
- $$.reg_nr = $1.reg_nr;
- $$.subreg_nr = $1.subreg_nr;
+ $$.reg_file = $1.file;
+ $$.reg_nr = $1.nr;
+ $$.subreg_nr = $1.subnr;
$$.horiz_stride = 1;
$$.reg_type = BRW_REGISTER_TYPE_UW;
}
| controlreg
{
memset (&$$, '\0', sizeof ($$));
- $$.reg_file = $1.reg_file;
- $$.reg_nr = $1.reg_nr;
- $$.subreg_nr = $1.subreg_nr;
+ $$.reg_file = $1.file;
+ $$.reg_nr = $1.nr;
+ $$.subreg_nr = $1.subnr;
$$.horiz_stride = 1;
$$.reg_type = BRW_REGISTER_TYPE_UD;
}
| ipreg
{
memset (&$$, '\0', sizeof ($$));
- $$.reg_file = $1.reg_file;
- $$.reg_nr = $1.reg_nr;
- $$.subreg_nr = $1.subreg_nr;
+ $$.reg_file = $1.file;
+ $$.reg_nr = $1.nr;
+ $$.subreg_nr = $1.subnr;
$$.horiz_stride = 1;
$$.reg_type = BRW_REGISTER_TYPE_UD;
}
| nullreg dstregion regtype
{
memset (&$$, '\0', sizeof ($$));
- $$.reg_file = $1.reg_file;
- $$.reg_nr = $1.reg_nr;
- $$.subreg_nr = $1.subreg_nr;
+ $$.reg_file = $1.file;
+ $$.reg_nr = $1.nr;
+ $$.subreg_nr = $1.subnr;
$$.horiz_stride = $2;
$$.reg_type = $3.type;
}
{
memset (&$$, '\0', sizeof ($$));
$$.address_mode = BRW_ADDRESS_DIRECT;
- $$.reg_file = $1.reg_file;
- $$.reg_nr = $1.reg_nr;
- $$.subreg_nr = $1.subreg_nr;
+ $$.reg_file = $1.file;
+ $$.reg_nr = $1.nr;
+ $$.subreg_nr = $1.subnr;
}
| directmsgreg
{
memset (&$$, '\0', sizeof ($$));
$$.address_mode = BRW_ADDRESS_DIRECT;
- $$.reg_file = $1.reg_file;
- $$.reg_nr = $1.reg_nr;
- $$.subreg_nr = $1.subreg_nr;
+ $$.reg_file = $1.file;
+ $$.reg_nr = $1.nr;
+ $$.subreg_nr = $1.subnr;
}
| indirectgenreg
{
srcarchoperandex: srcarchoperandex_typed region regtype
{
memset (&$$, '\0', sizeof ($$));
- $$.reg_file = $1.reg_file;
+ $$.reg_file = $1.file;
$$.reg_type = $3.type;
- $$.subreg_nr = $1.subreg_nr;
- $$.reg_nr = $1.reg_nr;
+ $$.subreg_nr = $1.subnr;
+ $$.reg_nr = $1.nr;
$$.vert_stride = $2.vert_stride;
$$.width = $2.width;
$$.horiz_stride = $2.horiz_stride;
sendleadreg: symbol_reg
{
memset (&$$, '\0', sizeof ($$));
- $$.reg_file = $1.reg.file;
- $$.reg_nr = $1.reg.nr;
- $$.subreg_nr = $1.reg.subnr;
+ $$.file = $1.reg.file;
+ $$.nr = $1.reg.nr;
+ $$.subnr = $1.reg.subnr;
}
| directgenreg | directmsgreg
;
else{
memset (&$$, '\0', sizeof ($$));
$$.address_mode = BRW_ADDRESS_DIRECT;
- $$.reg_file = $1.reg_file;
- $$.reg_nr = $1.reg_nr;
- $$.subreg_nr = $1.subreg_nr;
+ $$.reg_file = $1.file;
+ $$.reg_nr = $1.nr;
+ $$.subreg_nr = $1.subnr;
$$.vert_stride = $2.vert_stride;
$$.width = $2.width;
$$.horiz_stride = $2.horiz_stride;
{
memset (&$$, '\0', sizeof ($$));
$$.address_mode = BRW_ADDRESS_DIRECT;
- $$.reg_file = $3.reg_file;
- $$.reg_nr = $3.reg_nr;
- $$.subreg_nr = $3.subreg_nr;
+ $$.reg_file = $3.file;
+ $$.reg_nr = $3.nr;
+ $$.subreg_nr = $3.subnr;
$$.reg_type = $5.type;
$$.vert_stride = $4.vert_stride;
$$.width = $4.width;
YYERROR;
}
memset (&$$, '\0', sizeof ($$));
- $$.address_subreg_nr = $1.subreg_nr;
+ $$.address_subreg_nr = $1.subnr;
$$.indirect_offset = $3;
}
| addrreg
{
memset (&$$, '\0', sizeof ($$));
- $$.address_subreg_nr = $1.subreg_nr;
+ $$.address_subreg_nr = $1.subnr;
$$.indirect_offset = 0;
}
;
directgenreg: GENREG subregnum
{
memset (&$$, '\0', sizeof ($$));
- $$.reg_file = BRW_GENERAL_REGISTER_FILE;
- $$.reg_nr = $1;
- $$.subreg_nr = $2;
+ $$.file = BRW_GENERAL_REGISTER_FILE;
+ $$.nr = $1;
+ $$.subnr = $2;
}
;
directmsgreg: MSGREG subregnum
{
memset (&$$, '\0', sizeof ($$));
- $$.reg_file = BRW_MESSAGE_REGISTER_FILE;
- $$.reg_nr = $1;
- $$.subreg_nr = $2;
+ $$.file = BRW_MESSAGE_REGISTER_FILE;
+ $$.nr = $1;
+ $$.subnr = $2;
}
;
YYERROR;
}
memset (&$$, '\0', sizeof ($$));
- $$.reg_file = BRW_ARCHITECTURE_REGISTER_FILE;
- $$.reg_nr = BRW_ARF_ADDRESS | $1;
- $$.subreg_nr = $2;
+ $$.file = BRW_ARCHITECTURE_REGISTER_FILE;
+ $$.nr = BRW_ARF_ADDRESS | $1;
+ $$.subnr = $2;
}
;
YYERROR;
}
memset (&$$, '\0', sizeof ($$));
- $$.reg_file = BRW_ARCHITECTURE_REGISTER_FILE;
- $$.reg_nr = BRW_ARF_ACCUMULATOR | $1;
- $$.subreg_nr = $2;
+ $$.file = BRW_ARCHITECTURE_REGISTER_FILE;
+ $$.nr = BRW_ARF_ACCUMULATOR | $1;
+ $$.subnr = $2;
}
;
}
memset (&$$, '\0', sizeof ($$));
- $$.reg_file = BRW_ARCHITECTURE_REGISTER_FILE;
- $$.reg_nr = BRW_ARF_FLAG | $1;
- $$.subreg_nr = $2;
+ $$.file = BRW_ARCHITECTURE_REGISTER_FILE;
+ $$.nr = BRW_ARF_FLAG | $1;
+ $$.subnr = $2;
}
;
YYERROR;
}
memset (&$$, '\0', sizeof ($$));
- $$.reg_file = BRW_ARCHITECTURE_REGISTER_FILE;
- $$.reg_nr = BRW_ARF_MASK;
- $$.subreg_nr = $2;
+ $$.file = BRW_ARCHITECTURE_REGISTER_FILE;
+ $$.nr = BRW_ARF_MASK;
+ $$.subnr = $2;
}
| mask_subreg
{
memset (&$$, '\0', sizeof ($$));
- $$.reg_file = BRW_ARCHITECTURE_REGISTER_FILE;
- $$.reg_nr = BRW_ARF_MASK;
- $$.subreg_nr = $1;
+ $$.file = BRW_ARCHITECTURE_REGISTER_FILE;
+ $$.nr = BRW_ARF_MASK;
+ $$.subnr = $1;
}
;
YYERROR;
}
memset (&$$, '\0', sizeof ($$));
- $$.reg_file = BRW_ARCHITECTURE_REGISTER_FILE;
- $$.reg_nr = BRW_ARF_MASK_STACK;
- $$.subreg_nr = $2;
+ $$.file = BRW_ARCHITECTURE_REGISTER_FILE;
+ $$.nr = BRW_ARF_MASK_STACK;
+ $$.subnr = $2;
}
| maskstack_subreg
{
memset (&$$, '\0', sizeof ($$));
- $$.reg_file = BRW_ARCHITECTURE_REGISTER_FILE;
- $$.reg_nr = BRW_ARF_MASK_STACK;
- $$.subreg_nr = $1;
+ $$.file = BRW_ARCHITECTURE_REGISTER_FILE;
+ $$.nr = BRW_ARF_MASK_STACK;
+ $$.subnr = $1;
}
;
YYERROR;
}
memset (&$$, '\0', sizeof ($$));
- $$.reg_file = BRW_ARCHITECTURE_REGISTER_FILE;
+ $$.file = BRW_ARCHITECTURE_REGISTER_FILE;
if (IS_GENp(6)) {
- $$.reg_nr = BRW_ARF_NOTIFICATION_COUNT;
- $$.subreg_nr = $1;
+ $$.nr = BRW_ARF_NOTIFICATION_COUNT;
+ $$.subnr = $1;
} else {
- $$.reg_nr = BRW_ARF_NOTIFICATION_COUNT | $1;
- $$.subreg_nr = 0;
+ $$.nr = BRW_ARF_NOTIFICATION_COUNT | $1;
+ $$.subnr = 0;
}
}
/*
YYERROR;
}
memset (&$$, '\0', sizeof ($$));
- $$.reg_file = BRW_ARCHITECTURE_REGISTER_FILE;
- $$.reg_nr = BRW_ARF_STATE | $1;
- $$.subreg_nr = $2;
+ $$.file = BRW_ARCHITECTURE_REGISTER_FILE;
+ $$.nr = BRW_ARF_STATE | $1;
+ $$.subnr = $2;
}
;
YYERROR;
}
memset (&$$, '\0', sizeof ($$));
- $$.reg_file = BRW_ARCHITECTURE_REGISTER_FILE;
- $$.reg_nr = BRW_ARF_CONTROL | $1;
- $$.subreg_nr = $2;
+ $$.file = BRW_ARCHITECTURE_REGISTER_FILE;
+ $$.nr = BRW_ARF_CONTROL | $1;
+ $$.subnr = $2;
}
;
ipreg: IPREG regtype
{
memset (&$$, '\0', sizeof ($$));
- $$.reg_file = BRW_ARCHITECTURE_REGISTER_FILE;
- $$.reg_nr = BRW_ARF_IP;
- $$.subreg_nr = 0;
+ $$.file = BRW_ARCHITECTURE_REGISTER_FILE;
+ $$.nr = BRW_ARF_IP;
+ $$.subnr = 0;
}
;
nullreg: NULL_TOKEN
{
memset (&$$, '\0', sizeof ($$));
- $$.reg_file = BRW_ARCHITECTURE_REGISTER_FILE;
- $$.reg_nr = BRW_ARF_NULL;
- $$.subreg_nr = 0;
+ $$.file = BRW_ARCHITECTURE_REGISTER_FILE;
+ $$.nr = BRW_ARF_NULL;
+ $$.subnr = 0;
}
;
* set a predicate for one flag register and conditional
* modification on the other flag register.
*/
- $$.bits2.da1.flag_reg_nr = ($3.reg_nr & 0xF);
- $$.bits2.da1.flag_subreg_nr = $3.subreg_nr;
+ $$.bits2.da1.flag_reg_nr = ($3.nr & 0xF);
+ $$.bits2.da1.flag_subreg_nr = $3.subnr;
$$.header.predicate_inverse = $2;
}
;
| condition DOT flagreg
{
$$.cond = $1;
- $$.flag_reg_nr = ($3.reg_nr & 0xF);
- $$.flag_subreg_nr = $3.subreg_nr;
+ $$.flag_reg_nr = ($3.nr & 0xF);
+ $$.flag_subreg_nr = $3.subnr;
}
condition: /* empty */ { $$ = BRW_CONDITIONAL_NONE; }
instr->bits2.da1.flag_subreg_nr = predicate->bits2.da1.flag_subreg_nr;
}
-void set_direct_dst_operand(struct dst_operand *dst, struct direct_reg *reg,
+void set_direct_dst_operand(struct dst_operand *dst, struct brw_reg *reg,
int type)
{
memset(dst, 0, sizeof(*dst));
dst->address_mode = BRW_ADDRESS_DIRECT;
- dst->reg_file = reg->reg_file;
- dst->reg_nr = reg->reg_nr;
- dst->subreg_nr = reg->subreg_nr;
+ dst->reg_file = reg->file;
+ dst->reg_nr = reg->nr;
+ dst->subreg_nr = reg->subnr;
dst->reg_type = type;
dst->horiz_stride = 1;
dst->writemask = BRW_WRITEMASK_XYZW;
}
-void set_direct_src_operand(struct src_operand *src, struct direct_reg *reg,
+void set_direct_src_operand(struct src_operand *src, struct brw_reg *reg,
int type)
{
memset(src, 0, sizeof(*src));
src->address_mode = BRW_ADDRESS_DIRECT;
- src->reg_file = reg->reg_file;
+ src->reg_file = reg->file;
src->reg_type = type;
- src->subreg_nr = reg->subreg_nr;
- src->reg_nr = reg->reg_nr;
+ src->subreg_nr = reg->subnr;
+ src->reg_nr = reg->nr;
src->vert_stride = 0;
src->width = 0;
src->horiz_stride = 0;