diff options
author | Eric Anholt <eric@anholt.net> | 2006-08-25 13:38:03 -0700 |
---|---|---|
committer | Damien Lespiau <damien.lespiau@intel.com> | 2013-03-04 15:54:22 +0000 |
commit | 883408eab8dc0d36d36acbccc4bb4cde432607ec (patch) | |
tree | 29e339eb4b77dca965c162957a4b9016efcd3561 /assembler/lex.l | |
parent | 2cca382cd23c6d18d498f55692088ee1112deb8c (diff) |
Add rules for more registers, and use some for destinations.
Diffstat (limited to 'assembler/lex.l')
-rw-r--r-- | assembler/lex.l | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/assembler/lex.l b/assembler/lex.l index ab418da2..b5b4f725 100644 --- a/assembler/lex.l +++ b/assembler/lex.l @@ -119,6 +119,22 @@ int saved_state = INITIAL; yylval.integer = atoi(yytext + 1); return MSGREG; } +"mask"[0-9]+ { + yylval.integer = atoi(yytext + 1); + return MASKREG; +} +"ms"[0-9]+ { + yylval.integer = atoi(yytext + 1); + return MASKSTACKREG; +} +"msd"[0-9]+ { + yylval.integer = atoi(yytext + 1); + return MASKSTACKDEPTHREG; +} +"n"[0-9]+ { + yylval.integer = atoi(yytext + 1); + return NOTIFYREG; +} "f"[0-9]+ { yylval.integer = atoi(yytext + 1); return FLAGREG; @@ -131,9 +147,45 @@ int saved_state = INITIAL; yylval.integer = atoi(yytext + 1); return CONTROLREG; } +"sr"[0-9]+ { + yylval.integer = atoi(yytext + 1); + return STATEREG; +} "ip" { return IPREG; } +"amask" { + yylval.integer = BRW_AMASK; + return AMASK; +} +"imask" { + yylval.integer = BRW_IMASK; + return IMASK; +} +"lmask" { + yylval.integer = BRW_LMASK; + return LMASK; +} +"cmask" { + yylval.integer = BRW_CMASK; + return CMASK; +} +"imsd" { + yylval.integer = 0; + return IMSD; +} +"lmsd" { + yylval.integer = 1; + return LMSD; +} +"ims" { + yylval.integer = 0; + return IMS; +} +"lms" { + yylval.integer = 16; + return LMS; +} /* * Lexing of register types should probably require the ":" symbol specified |