add AccWrCtrl flag on Sandybridge

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
This commit is contained in:
Xiang, Haihao 2010-10-08 13:53:22 +08:00 committed by Damien Lespiau
parent 5bcf1f5a03
commit 55d81c4ce7
4 changed files with 11 additions and 2 deletions

View File

@ -552,6 +552,9 @@
#define BRW_MASK_ENABLE 0
#define BRW_MASK_DISABLE 1
#define BRW_ACCWRCTRL_NONE 0
#define BRW_ACCWRCTRL_ACCWRCTRL 1
#define BRW_OPCODE_MOV 1
#define BRW_OPCODE_SEL 2
#define BRW_OPCODE_NOT 4

View File

@ -1054,7 +1054,8 @@ struct brw_instruction
GLuint predicate_inverse:1; /* 0x00100000 */
GLuint execution_size:3; /* 0x00e00000 */
GLuint destreg__conditionalmod:4; /* destreg - send, conditionalmod - others */
GLuint pad0:2; /* 0x30000000 */
GLuint acc_wr_control:1; /* 0x10000000 */
GLuint pad0:1; /* 0x20000000 */
GLuint debug_control:1; /* 0x40000000 */
GLuint saturate:1; /* 0x80000000 */
} header;

View File

@ -88,7 +88,7 @@ void set_direct_src_operand(struct src_operand *src, struct direct_reg *reg,
%token <integer> TYPE_VF TYPE_HF TYPE_V TYPE_F
%token ALIGN1 ALIGN16 SECHALF COMPR SWITCH ATOMIC NODDCHK NODDCLR
%token MASK_DISABLE BREAKPOINT EOT
%token MASK_DISABLE BREAKPOINT ACCWRCTRL EOT
%token SEQ ANY2H ALL2H ANY4H ALL4H ANY8H ALL8H ANY16H ALL16H ANYV ALLV
%token <integer> ZERO EQUAL NOT_ZERO NOT_EQUAL GREATER GREATER_EQUAL LESS LESS_EQUAL
@ -1605,6 +1605,9 @@ instoption_list:
case BREAKPOINT:
$$.header.debug_control = BRW_DEBUG_BREAKPOINT;
break;
case ACCWRCTRL:
$$.header.acc_wr_control = BRW_ACCWRCTRL_ACCWRCTRL;
break;
case EOT:
/* XXX: EOT shouldn't be an instoption, I don't think */
$$.bits3.generic.end_of_thread = 1;
@ -1627,6 +1630,7 @@ instoption: ALIGN1 { $$ = ALIGN1; }
| NODDCLR { $$ = NODDCLR; }
| MASK_DISABLE { $$ = MASK_DISABLE; }
| BREAKPOINT { $$ = BREAKPOINT; }
| ACCWRCTRL { $$ = ACCWRCTRL; }
| EOT { $$ = EOT; }
;

View File

@ -269,6 +269,7 @@ extern char *input_filename;
"mask_disable" { return MASK_DISABLE; }
"nomask" { return MASK_DISABLE; }
"breakpoint" { return BREAKPOINT; }
"accwrctrl" { return ACCWRCTRL; }
"EOT" { return EOT; }
/* extended math functions */