304 Commits

Author SHA1 Message Date
Xiang, Haihao
95d0ce48f6 fix jump count for Sandybridge.
It is same as Ironlake.

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
2013-03-04 15:54:27 +00:00
Xiang, Haihao
eb92c228cd add -g 6 for Sandybridge
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
2013-03-04 15:54:27 +00:00
Zou Nan hai
db8aedc745 use left recursion instead of right recursion to avoid memory exhausted issue when compiling large source files 2013-03-04 15:54:27 +00:00
Eric Anholt
dea75a6935 Fix setup of immediate types for gen4 disasm.
Caught by clang.
2013-03-04 15:54:27 +00:00
Eric Anholt
a6f1455019 disasm: Print out ELSE and ENDIF src1 arguments like IF does. 2013-03-04 15:54:27 +00:00
Eric Anholt
459c95b20c whitespace cleanup from Mesa import. 2013-03-04 15:54:26 +00:00
Zou Nan hai
c6f2da4e82 1. type syntax :ud :uw etc
2. empty instruction option
3. remove a conflict
2013-03-04 15:54:26 +00:00
Zou Nan hai
5608d2765d support simple expression 2013-03-04 15:54:26 +00:00
Xiang, Haihao
8521146207 add intel-gen4asm.pc.in
bump version to 1.0
2013-03-04 15:54:26 +00:00
Xiang, Haihao
60cf6e09dd 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.
2013-03-04 15:54:26 +00:00
Xiang, Haihao
5261b8475e change read message format on GEN5
to re-use a lot of shaders for GEN5.
2013-03-04 15:54:26 +00:00
Xiang Haihao
549b751afb 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)
2013-03-04 15:54:26 +00:00
Zou Nanhai
be9bcee15f Add support for labeled and conditional branches
Signed-off-by: Keith Packard <keithp@keithp.com>
2013-03-04 15:54:26 +00:00
Keith Packard
5a2ec836e1 Support more addressing modes in disasm 2013-03-04 15:54:26 +00:00
Eric Anholt
d866fff116 Fix compiler warning from missing include. 2013-03-04 15:54:26 +00:00
Zou Nan hai
807f8768e9 Add support for dp_read message. 2013-03-04 15:54:26 +00:00
Zou Nan hai
26afe90126 Add thread_spawner message target support. 2013-03-04 15:54:26 +00:00
Keith Packard
2033aea3dd 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.
2013-03-04 15:54:26 +00:00
Keith Packard
d8057c9bcd Add math and urb units, deal with nop 2013-03-04 15:54:26 +00:00
Keith Packard
ae85b10cf0 Add disassembler (intel-gen4disasm).
Decodes most simple instructions. Still needs work on branching and send.
2013-03-04 15:54:26 +00:00
Keith Packard
082fbe8738 Support #line directives 2013-03-04 15:54:25 +00:00
Keith Packard
b81aca4948 Ensure that parse errors cause non-zero exit.
Also, avoid creating output file when a parse error occurs
2013-03-04 15:54:25 +00:00
Keith Packard
2d4d401d70 Add packed vector immediate values 2013-03-04 15:54:25 +00:00
Keith Packard
3fd6e2fc7b Add GCC warnings 2013-03-04 15:54:25 +00:00
Eric Anholt
6e4b04a807 Add accidentally forgotten rnde test. 2013-03-04 15:54:25 +00:00
Eric Anholt
713db8b220 More renaming of gen4asm -> intel-gen4asm, plus README update. 2013-03-04 15:54:25 +00:00
Eric Anholt
09bf91ea75 Update .gitignore for gen4asm -> intel-gen4asm 2013-03-04 15:54:25 +00:00
Eric Anholt
a1170c5e64 Rename package and binary to intel-gen4asm. 2013-03-04 15:54:25 +00:00
Eric Anholt
a6d95cc0ce Use 0 instead of INITIAL, as the chosen lex on my debian doesn't supply it. 2013-03-04 15:54:25 +00:00
Eric Anholt
09d8be4117 Use inttypes.h to get at uint32_t instead of sys/types.h. 2013-03-04 15:54:25 +00:00
Eric Anholt
6be3ba4157 Update the TODO with more tasks and a bit more description. 2013-03-04 15:54:25 +00:00
Eric Anholt
4ee9c3d869 Add break, cont, and halt instructions. 2013-03-04 15:54:25 +00:00
Eric Anholt
9201e4e2a0 Add tests for break, cont, and halt instructions. 2013-03-04 15:54:25 +00:00
Eric Anholt
f45ac8b2cc Fix the exitcode type for ENDIF to be D instead of UD.
Fixes the endif test.
2013-03-04 15:54:25 +00:00
Eric Anholt
7c3ba4d49d Add a test for ENDIF, revealing issues. 2013-03-04 15:54:24 +00:00
Eric Anholt
960ca001ca Fix initialization of null reg for ELSE, and set the pop count right.
This fixes the ELSE test.
2013-03-04 15:54:24 +00:00
Eric Anholt
a8eb735270 Add a test for the ELSE instruction, revealing issues. 2013-03-04 15:54:24 +00:00
Eric Anholt
1f58efa747 Add support for the WAIT instruction. 2013-03-04 15:54:24 +00:00
Eric Anholt
055be60abf Add a test for wait instruction (not yet implemented). 2013-03-04 15:54:24 +00:00
Eric Anholt
d1b8791928 Lex integers as unsigned long instead of signed int, fixing the immediate test. 2013-03-04 15:54:24 +00:00
Eric Anholt
d72f5c9828 Add a failing test for maximum ranges of UD/D immediates. 2013-03-04 15:54:24 +00:00
Eric Anholt
330903ad81 Parse negative integers for imm32s, and don't exceed the IP count width field.
This fixes the while test.
2013-03-04 15:54:24 +00:00
Eric Anholt
d538dfc462 Fix the width of the IP count field expected by the while test. 2013-03-04 15:54:24 +00:00
Eric Anholt
892d6e7ed0 Fix copy'n'paste-o in lexing of the WHILE instruction. 2013-03-04 15:54:24 +00:00
Eric Anholt
56cdee41af 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.
2013-03-04 15:54:24 +00:00
Eric Anholt
8828725dc9 Add tests for jmpi, if, iff, and while, revealing issues. 2013-03-04 15:54:24 +00:00
Eric Anholt
cc865f1bc0 Explain why rnde-intsrc is expected to fail. 2013-03-04 15:54:24 +00:00
Eric Anholt
78cb82a1e2 Add some masks in comments that will help with writing tests. 2013-03-04 15:54:24 +00:00
Eric Anholt
b6fe4bbe2e Add configure.lineno to ignores. 2013-03-04 15:54:24 +00:00
Eric Anholt
863cd6a5b7 Add more unary operation tests. 2013-03-04 15:54:23 +00:00