Supporting LRP: dest = src0 * src1 + (1-src0) * src2

This commit is contained in:
Homer Hsing 2012-09-12 13:04:49 +08:00 committed by Damien Lespiau
parent a034bcbd04
commit 210510cebb
3 changed files with 4 additions and 2 deletions

View File

@ -607,6 +607,7 @@
#define BRW_OPCODE_LINE 89
#define BRW_OPCODE_PLN 90
#define BRW_OPCODE_MAD 91
#define BRW_OPCODE_LRP 92
#define BRW_OPCODE_NOP 126
#define BRW_PREDICATE_NONE 0

View File

@ -118,7 +118,7 @@ void set_direct_src_operand(struct src_operand *src, struct direct_reg *reg,
%token <integer> SEND NOP JMPI IF IFF WHILE ELSE BREAK CONT HALT MSAVE
%token <integer> PUSH MREST POP WAIT DO ENDIF ILLEGAL
%token <integer> MATH_INST
%token <integer> MAD
%token <integer> MAD LRP
%token NULL_TOKEN MATH SAMPLER GATEWAY READ WRITE URB THREAD_SPAWNER VME DATA_PORT
@ -493,7 +493,7 @@ binaryaccinstruction:
binaryaccop: AVG | ADD | SEL | AND | OR | XOR | SHR | SHL | ASR | CMP | CMPN | PLN
;
trinaryop: MAD
trinaryop: MAD | LRP
;
trinaryinstruction:

View File

@ -84,6 +84,7 @@ yylval.integer = BRW_CHANNEL_W;
"lzd" { yylval.integer = BRW_OPCODE_LZD; return LZD; }
"mad" { yylval.integer = BRW_OPCODE_MAD; return MAD; }
"lrp" { yylval.integer = BRW_OPCODE_LRP; return LRP; }
"mul" { yylval.integer = BRW_OPCODE_MUL; return MUL; }
"mac" { yylval.integer = BRW_OPCODE_MAC; return MAC; }
"mach" { yylval.integer = BRW_OPCODE_MACH; return MACH; }