diff options
author | Eric Anholt <eric@anholt.net> | 2006-08-25 09:36:28 -0700 |
---|---|---|
committer | Damien Lespiau <damien.lespiau@intel.com> | 2013-03-04 15:54:22 +0000 |
commit | 3d36079ae3f9cab993b7bbec68f6fa2fbfb60136 (patch) | |
tree | bd95891449866837f58e928ac8115e3b1834eecc /assembler/lex.l | |
parent | e865196a9d28d0097e76d606f727939c11bf6147 (diff) |
Add syntax for extended math send functions, and adjust packed_yuv_sf for it.
Diffstat (limited to 'assembler/lex.l')
-rw-r--r-- | assembler/lex.l | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/assembler/lex.l b/assembler/lex.l index 6bca52dd4..8982df55a 100644 --- a/assembler/lex.l +++ b/assembler/lex.l @@ -2,6 +2,7 @@ %{ #include "gen4asm.h" #include "y.tab.h" +#include "brw_defines.h" int saved_state = INITIAL; @@ -121,6 +122,32 @@ int saved_state = INITIAL; "mask_disable" { return MASK_DISABLE; } "EOT" { return EOT; } + /* extended math functions */ +"inv" { yylval.integer = BRW_MATH_FUNCTION_INV; return SIN; } +"log" { yylval.integer = BRW_MATH_FUNCTION_LOG; return LOG; } +"exp" { yylval.integer = BRW_MATH_FUNCTION_EXP; return EXP; } +"sqrt" { yylval.integer = BRW_MATH_FUNCTION_SQRT; return SQRT; } +"rsq" { yylval.integer = BRW_MATH_FUNCTION_RSQ; return RSQ; } +"pow" { yylval.integer = BRW_MATH_FUNCTION_POW; return POW; } +"sin" { yylval.integer = BRW_MATH_FUNCTION_SIN; return SIN; } +"cos" { yylval.integer = BRW_MATH_FUNCTION_COS; return COS; } +"sincos" { yylval.integer = BRW_MATH_FUNCTION_SINCOS; return SINCOS; } +"intdiv" { + yylval.integer = BRW_MATH_FUNCTION_INT_DIV_QUOTIENT; + return INTDIV; +} +"intmod" { + yylval.integer = BRW_MATH_FUNCTION_INT_DIV_REMAINDER; + return INTMOD; +} +"intdivmod" { + yylval.integer = BRW_MATH_FUNCTION_INT_DIV_QUOTIENT_AND_REMAINDER; + return INTDIVMOD; +} + +"signed" { return SIGNED; } +"scalar" { return SCALAR; } + [0-9]* { yylval.integer = atoi(yytext); return INTEGER; |