Xiang, Haihao [Mon, 13 Dec 2010 08:07:16 +0000 (16:07 +0800)]
Support instructions which strictly follow the documents.
Previously some instructions parsed by this assembler don't follow the
documents.
Signed-off-by: Chen, Yangyang <yangyang.chen@intel.com>
Signed-off-by: Han, Haofu <haofu.han@intel.com>
Signed-off-by: Zou Nan hai <nanhai.zou@intel.com>
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
Chen, Yangyang [Mon, 13 Dec 2010 07:36:02 +0000 (15:36 +0800)]
1. fix DOT
2. rule for instrseq
Signed-off-by: Chen, Yangyang <yangyang.chen@intel.com>
Signed-off-by: Han, Haofu <haofu.han@intel.com>
Chen, Yangyang [Mon, 13 Dec 2010 07:30:48 +0000 (15:30 +0800)]
fix CHANNEL select
Signed-off-by: Chen, Yangyang <yangyang.chen@intel.com>
Signed-off-by: Han, Haofu <haofu.han@intel.com>
Xiang, Haihao [Mon, 1 Nov 2010 08:16:25 +0000 (16:16 +0800)]
Support for headerless write
Add a new parameter to write
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
Xiang, Haihao [Thu, 21 Oct 2010 06:37:18 +0000 (14:37 +0800)]
bump version to 1.1
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
Xiang, Haihao [Wed, 27 Oct 2010 01:42:56 +0000 (09:42 +0800)]
add support for math instruction on Sandybridge
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
Xiang, Haihao [Tue, 19 Oct 2010 05:26:24 +0000 (13:26 +0800)]
add support for plane instruction (pln)
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
Xiang, Haihao [Thu, 21 Oct 2010 06:33:35 +0000 (14:33 +0800)]
Send on Sandybridge uses a message register as operand src0
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
Xiang, Haihao [Sat, 9 Oct 2010 05:57:48 +0000 (13:57 +0800)]
no compression flag on Sandybridge
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
Xiang, Haihao [Sat, 9 Oct 2010 04:52:08 +0000 (12:52 +0800)]
print error message when using math function on Sandybridge.
Sandybridge doesn't have math funtion, instead it supports a set of math
instructions. The support for math instructions will be added later.
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
Xiang, Haihao [Sat, 9 Oct 2010 04:46:15 +0000 (12:46 +0800)]
sampler, urb write, null and gateway on Sandybridge are same as Ironlake.
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
Xiang, Haihao [Sat, 9 Oct 2010 03:09:47 +0000 (11:09 +0800)]
add support for data port read on Sandybridge
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
Xiang, Haihao [Fri, 8 Oct 2010 08:48:15 +0000 (16:48 +0800)]
add support for data port write on Sandybridge.
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
Xiang, Haihao [Fri, 8 Oct 2010 07:07:51 +0000 (15:07 +0800)]
fix send instruction on Sandybridge
Send doesn't have implied move on Sandybridge, the SFID moves to bits[24,27] which
is used as the destination of the implied move on Prev GEN6.
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
Xiang, Haihao [Fri, 8 Oct 2010 05:53:22 +0000 (13:53 +0800)]
add AccWrCtrl flag on Sandybridge
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
Xiang, Haihao [Fri, 8 Oct 2010 05:10:15 +0000 (13:10 +0800)]
always set destination horiz stride for Align16 to 1 on Sandybridge.
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
Xiang, Haihao [Fri, 8 Oct 2010 04:53:38 +0000 (12:53 +0800)]
fix jump count for Sandybridge.
It is same as Ironlake.
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
Xiang, Haihao [Fri, 8 Oct 2010 04:52:34 +0000 (12:52 +0800)]
add -g 6 for Sandybridge
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
Zou Nan hai [Wed, 21 Apr 2010 03:02:21 +0000 (11:02 +0800)]
use left recursion instead of right recursion to avoid memory exhausted issue when compiling large source files
Eric Anholt [Wed, 23 Dec 2009 01:06:47 +0000 (17:06 -0800)]
Fix setup of immediate types for gen4 disasm.
Caught by clang.
Eric Anholt [Tue, 4 Aug 2009 23:27:28 +0000 (16:27 -0700)]
disasm: Print out ELSE and ENDIF src1 arguments like IF does.
Eric Anholt [Tue, 4 Aug 2009 22:02:12 +0000 (15:02 -0700)]
whitespace cleanup from Mesa import.
Zou Nan hai [Wed, 28 Oct 2009 02:14:19 +0000 (10:14 +0800)]
1. type syntax :ud :uw etc
2. empty instruction option
3. remove a conflict
Zou Nan hai [Tue, 20 Oct 2009 06:51:04 +0000 (14:51 +0800)]
support simple expression
Xiang, Haihao [Thu, 23 Jul 2009 02:43:27 +0000 (10:43 +0800)]
add intel-gen4asm.pc.in
bump version to 1.0
Xiang, Haihao [Thu, 23 Jul 2009 02:33:55 +0000 (10:33 +0800)]
the offset of JMPI is in unit of 64bits on GEN5.
This fix is only applied for JMPI label. It is up to you
to use a right offset for JMPI imm32|reg in your program.
Xiang, Haihao [Thu, 23 Jul 2009 02:32:51 +0000 (10:32 +0800)]
change read message format on GEN5
to re-use a lot of shaders for GEN5.
Xiang Haihao [Tue, 30 Jun 2009 02:02:33 +0000 (10:02 +0800)]
Add support for GEN5
Add a new option [-g n], n=4(GEN4),5(GEN5). If don't use -g,
the default value is 4(GEN4)
Zou Nanhai [Wed, 10 Dec 2008 02:38:54 +0000 (18:38 -0800)]
Add support for labeled and conditional branches
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Sun, 19 Oct 2008 03:07:45 +0000 (20:07 -0700)]
Support more addressing modes in disasm
Eric Anholt [Wed, 18 Jun 2008 22:09:30 +0000 (15:09 -0700)]
Fix compiler warning from missing include.
Zou Nan hai [Wed, 18 Jun 2008 22:05:19 +0000 (15:05 -0700)]
Add support for dp_read message.
Zou Nan hai [Wed, 18 Jun 2008 22:04:11 +0000 (15:04 -0700)]
Add thread_spawner message target support.
Keith Packard [Thu, 24 Apr 2008 06:10:40 +0000 (23:10 -0700)]
Add conditional support to assembler. Add align16 dest support to disasm.
This is working towards round-tripping mesa programs. Still need indirect
register addressing and align16 source support.
Keith Packard [Thu, 24 Apr 2008 02:28:23 +0000 (19:28 -0700)]
Add math and urb units, deal with nop
Keith Packard [Wed, 23 Apr 2008 19:52:58 +0000 (12:52 -0700)]
Add disassembler (intel-gen4disasm).
Decodes most simple instructions. Still needs work on branching and send.
Keith Packard [Fri, 11 Apr 2008 18:04:42 +0000 (11:04 -0700)]
Support #line directives
Keith Packard [Sun, 30 Mar 2008 07:58:40 +0000 (00:58 -0700)]
Ensure that parse errors cause non-zero exit.
Also, avoid creating output file when a parse error occurs
Keith Packard [Sun, 30 Mar 2008 07:58:28 +0000 (00:58 -0700)]
Add packed vector immediate values
Keith Packard [Sun, 30 Mar 2008 07:57:40 +0000 (00:57 -0700)]
Add GCC warnings
Eric Anholt [Fri, 1 Sep 2006 23:19:04 +0000 (16:19 -0700)]
Add accidentally forgotten rnde test.
Eric Anholt [Fri, 1 Sep 2006 23:18:06 +0000 (16:18 -0700)]
More renaming of gen4asm -> intel-gen4asm, plus README update.
Eric Anholt [Fri, 1 Sep 2006 22:54:54 +0000 (15:54 -0700)]
Update .gitignore for gen4asm -> intel-gen4asm
Eric Anholt [Fri, 1 Sep 2006 22:40:57 +0000 (15:40 -0700)]
Rename package and binary to intel-gen4asm.
Eric Anholt [Fri, 1 Sep 2006 22:38:37 +0000 (15:38 -0700)]
Use 0 instead of INITIAL, as the chosen lex on my debian doesn't supply it.
Eric Anholt [Fri, 1 Sep 2006 22:37:00 +0000 (15:37 -0700)]
Use inttypes.h to get at uint32_t instead of sys/types.h.
Eric Anholt [Fri, 1 Sep 2006 20:57:02 +0000 (13:57 -0700)]
Update the TODO with more tasks and a bit more description.
Eric Anholt [Fri, 1 Sep 2006 20:37:51 +0000 (13:37 -0700)]
Add break, cont, and halt instructions.
Eric Anholt [Fri, 1 Sep 2006 20:37:07 +0000 (13:37 -0700)]
Add tests for break, cont, and halt instructions.
Eric Anholt [Fri, 1 Sep 2006 19:29:23 +0000 (12:29 -0700)]
Fix the exitcode type for ENDIF to be D instead of UD.
Fixes the endif test.
Eric Anholt [Fri, 1 Sep 2006 19:25:22 +0000 (12:25 -0700)]
Add a test for ENDIF, revealing issues.
Eric Anholt [Fri, 1 Sep 2006 19:11:55 +0000 (12:11 -0700)]
Fix initialization of null reg for ELSE, and set the pop count right.
This fixes the ELSE test.
Eric Anholt [Fri, 1 Sep 2006 19:11:24 +0000 (12:11 -0700)]
Add a test for the ELSE instruction, revealing issues.
Eric Anholt [Fri, 1 Sep 2006 18:56:12 +0000 (11:56 -0700)]
Add support for the WAIT instruction.
Eric Anholt [Fri, 1 Sep 2006 18:55:22 +0000 (11:55 -0700)]
Add a test for wait instruction (not yet implemented).
Eric Anholt [Thu, 31 Aug 2006 23:19:08 +0000 (16:19 -0700)]
Lex integers as unsigned long instead of signed int, fixing the immediate test.
Eric Anholt [Thu, 31 Aug 2006 23:16:06 +0000 (16:16 -0700)]
Add a failing test for maximum ranges of UD/D immediates.
Eric Anholt [Thu, 31 Aug 2006 22:59:14 +0000 (15:59 -0700)]
Parse negative integers for imm32s, and don't exceed the IP count width field.
This fixes the while test.
Eric Anholt [Thu, 31 Aug 2006 22:57:35 +0000 (15:57 -0700)]
Fix the width of the IP count field expected by the while test.
Eric Anholt [Thu, 31 Aug 2006 22:53:53 +0000 (15:53 -0700)]
Fix copy'n'paste-o in lexing of the WHILE instruction.
Eric Anholt [Thu, 31 Aug 2006 22:28:10 +0000 (15:28 -0700)]
Initialize the structure used for setting up the ip src/dst in branches/jumps.
This fixes jmpi, if, and iff. The while test still fails to compile.
Eric Anholt [Thu, 31 Aug 2006 22:27:30 +0000 (15:27 -0700)]
Add tests for jmpi, if, iff, and while, revealing issues.
Eric Anholt [Thu, 31 Aug 2006 22:14:23 +0000 (15:14 -0700)]
Explain why rnde-intsrc is expected to fail.
Eric Anholt [Thu, 31 Aug 2006 22:08:52 +0000 (15:08 -0700)]
Add some masks in comments that will help with writing tests.
Eric Anholt [Thu, 31 Aug 2006 21:46:58 +0000 (14:46 -0700)]
Add configure.lineno to ignores.
Eric Anholt [Thu, 31 Aug 2006 21:46:28 +0000 (14:46 -0700)]
Add more unary operation tests.
Eric Anholt [Thu, 31 Aug 2006 21:25:33 +0000 (14:25 -0700)]
Start adding a test suite.
Eric Anholt [Thu, 31 Aug 2006 17:27:48 +0000 (10:27 -0700)]
Add a rule for the ELSE instruction.
Untested.
Eric Anholt [Thu, 31 Aug 2006 17:21:15 +0000 (10:21 -0700)]
Add rules for branch and jump instructions.
Untested.
Eric Anholt [Wed, 30 Aug 2006 18:40:05 +0000 (11:40 -0700)]
Add DO and ENDIF instructions.
Eric Anholt [Wed, 30 Aug 2006 18:10:45 +0000 (11:10 -0700)]
Fix a compiler warning by defining struct {in,}direct_reg at the top level.
Eric Anholt [Wed, 30 Aug 2006 18:09:52 +0000 (11:09 -0700)]
Fix gram.h creation, fixing dependencies and distcheck.
Eric Anholt [Wed, 30 Aug 2006 17:50:56 +0000 (10:50 -0700)]
Fix issues in the grammar that caused errors in bison.
Eric Anholt [Wed, 30 Aug 2006 17:38:44 +0000 (10:38 -0700)]
Add autotools build system, and rearrange directory layout.
Eric Anholt [Wed, 30 Aug 2006 17:22:56 +0000 (10:22 -0700)]
Add input/output file command line arguments.
Eric Anholt [Wed, 30 Aug 2006 16:57:20 +0000 (09:57 -0700)]
Add support for register-indirect addressing in source operands.
Eric Anholt [Wed, 30 Aug 2006 01:31:34 +0000 (18:31 -0700)]
Add support for register-indirect access in destination registers.
This is untested. Also, a few bits for source operand register-indirect access
sneak in with this commit.
Eric Anholt [Tue, 29 Aug 2006 22:29:31 +0000 (15:29 -0700)]
Add support for destination writemasks.
This involved changing dest operands to have their own structure like src
operands, as the destination writemask (which is align16-only) shares space
with register numbers in align1 mode.
Eric Anholt [Tue, 29 Aug 2006 16:30:32 +0000 (09:30 -0700)]
Avoid shift/reduce conflict in predicate by making flagreg and subreg 1 token.
Thanks to keithp for pointing out where the conflict was.
Eric Anholt [Tue, 29 Aug 2006 06:05:51 +0000 (23:05 -0700)]
Add support for predicate control.
This is untested on programs using predicate control, and also causes a
shift/reduce conflict.
Eric Anholt [Tue, 29 Aug 2006 05:11:18 +0000 (22:11 -0700)]
Add support for swizzle control on source operands.
This required restructuring to store source operands in a new structure rather
than being stored in instructions, as swizzle is align16-only and shares
storage with other fields for align1 mode.
These changes were not tested on real programs using swizzle.
Eric Anholt [Sat, 26 Aug 2006 00:44:55 +0000 (17:44 -0700)]
Add acc[01] as src operands.
Eric Anholt [Sat, 26 Aug 2006 00:42:05 +0000 (17:42 -0700)]
Comment cleanup and add missing semicolons after rules.
Eric Anholt [Sat, 26 Aug 2006 00:33:02 +0000 (17:33 -0700)]
Add support for more instruction options.
Eric Anholt [Fri, 25 Aug 2006 23:54:01 +0000 (16:54 -0700)]
Typo fix in comment.
Eric Anholt [Fri, 25 Aug 2006 23:52:09 +0000 (16:52 -0700)]
Rename direct_gen_reg struct to direct_reg now that it fills more roles.
Eric Anholt [Fri, 25 Aug 2006 23:50:17 +0000 (16:50 -0700)]
Support src ARF operands in another place, and spell it arch instead of acc.
Eric Anholt [Fri, 25 Aug 2006 20:53:48 +0000 (13:53 -0700)]
Add support for more registers as source operands.
Eric Anholt [Fri, 25 Aug 2006 20:38:03 +0000 (13:38 -0700)]
Add rules for more registers, and use some for destinations.
Eric Anholt [Fri, 25 Aug 2006 18:10:00 +0000 (11:10 -0700)]
Rename the resulting binary to gen4asm instead of lextest.
Eric Anholt [Fri, 25 Aug 2006 18:08:03 +0000 (11:08 -0700)]
Add a negation that the initial disasm missed.
Eric Anholt [Fri, 25 Aug 2006 18:05:10 +0000 (11:05 -0700)]
Add many more opcodes.
Eric Anholt [Fri, 25 Aug 2006 16:46:18 +0000 (09:46 -0700)]
Lex the register number with the register name.
This avoids the need for a start condition to prevent for example g1.8<0,1,0>UW
being lexed as GENREG NUMBER LANGLE etc. rather than
GENREG INTEGER DOT INTEGER LANGLE etc.
Eric Anholt [Fri, 25 Aug 2006 16:36:28 +0000 (09:36 -0700)]
Add syntax for extended math send functions, and adjust packed_yuv_sf for it.
Eric Anholt [Thu, 24 Aug 2006 23:37:04 +0000 (16:37 -0700)]
Add a syntax for urb write messages.
Eric Anholt [Thu, 24 Aug 2006 22:43:50 +0000 (15:43 -0700)]
Add some more generated files to ignore.
Eric Anholt [Thu, 24 Aug 2006 22:43:20 +0000 (15:43 -0700)]
Add packed yuv sf kernel from 2d driver.
Eric Anholt [Thu, 24 Aug 2006 22:26:10 +0000 (15:26 -0700)]
Add syntax for translating the DP write send message.
Eric Anholt [Thu, 24 Aug 2006 21:47:21 +0000 (14:47 -0700)]
Fix respecting of instruction options (misunderstood default action behavior).
Eric Anholt [Thu, 24 Aug 2006 21:35:10 +0000 (14:35 -0700)]
Fix up sampler send message translation and give it a near-usable syntax.