summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2013-03-04DEPRECATED: This repository is deprecated.HEADmasterDamien Lespiau1-0/+1
The assembler has been folded in intel-gpu-tools.
2012-10-31bump version to 1.3Xiang, Haihao1-1/+1
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
2012-10-23Fix typo. "donesn't" -> "doesn't"Homer Hsing1-4/+4
2012-10-23Add the CRE enginee for HSW+Zhao Yakui4-2/+25
This is also for media encoding like VME, which can do the operation of check & refinement. Signed-off-by: Zhao Yakui <yakui.zhao@intel.com>
2012-10-23Fix JMPI encoding for Haswell.Gwenole Beauchesne1-1/+5
It uses the byte-aligned jump instead of 64-bit units. Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com> Signed-off-by: Zhao Yakui <yakui.zhao@intel.com>
2012-10-23Add initial support for Haswell.Gwenole Beauchesne4-54/+65
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com> Signed-off-by: Zhao Yakui <yakui.zhao@intel.com>
2012-10-23Allow Gen version decimals.Gwenole Beauchesne1-2/+17
This is preparatory work for Haswell (Gen 7.5). Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2012-10-23Bump gen_level to multiple of tens.Gwenole Beauchesne1-8/+8
Add new helper macros to check versions: - IS_GENp() meant to match Gen X and above - IS_GENx() meant to match Gen X exactly. Patch mechanically generated. No stale "gen_level" usage. Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com> Signed-off-by: Zhao Yakui <yakui.zhao@intel.com>
2012-10-23Fix Gen7 JMPI compilationHomer Hsing2-3/+11
Gen7 JMPI Restrictions in bspec: The JIP data type must be Signed DWord
2012-10-18Fix sub-register number of an address register encodingHomer Hsing1-6/+29
The AddrSubRegNum field in the instruction binary code should be: code value(advanced_flag==0) value(advanced_flag==1) a0.0 0 0 a0.1 invalid input 1 a0.2 1 2 a0.3 invalid input 3 a0.4 2 4 a0.5 invalid input 5 a0.6 3 6 a0.7 invalid input 7 a0.8 4 invalid input a0.10 5 invalid input a0.12 6 invalid input a0.14 7 invalid input
2012-10-18Fix symbol register subreg number calculation rule symbol_reg_pHomer Hsing1-2/+7
When in normal mode, subreg_nr should not be divided by type_size. This patch fixes such bug.
2012-09-28Show warning when compiling the grammar parserHomer Hsing1-1/+1
2012-09-28Support Gen6 WHILE instructionHomer Hsing1-1/+4
2012-09-28Make sure Gen6 IF worksHomer Hsing1-6/+17
2012-09-28Make sure Gen6 ENDIF workHomer Hsing1-2/+10
2012-09-28Fix JIP position for Gen6 JMPIHomer Hsing1-6/+11
2012-09-28Fix Gen6 ELSE instructions code logic according to bspec.Homer Hsing3-10/+22
2012-09-28Make sure BREAK/CONT/HALT work on Gen6.Homer Hsing1-3/+3
2012-09-28Support Gen6 RET instruction.Homer Hsing1-20/+12
2012-09-28Support Gen6 CALL instruction.Homer Hsing1-9/+27
2012-09-28Replace variable init code in WAIT by src_null_regHomer Hsing1-8/+2
2012-09-28Let ip_dst and ip_src become local const variable, so as to reduce ↵Homer Hsing1-40/+20
replicated code.
2012-09-28Support Gen6 three-source-operand instructions.Homer Hsing2-19/+20
Add bits1.three_src.gen6.dest_reg_file according to Gen6 spec
2012-09-28Compile ELSE and WHILE in Gen5 as same way as in Gen4Homer Hsing1-4/+7
2012-09-28Fix reloc_target_offset computing logicHomer Hsing1-5/+5
2012-09-28Fully support Gen7 branching instructionsHomer Hsing1-144/+182
Also fix integer argument parsing rule for JMPI, IF and WHILE Fix shift/reduce conflicts in relativelocation
2012-09-28Supporting multi-branch instructios BRD & BRCHomer Hsing4-12/+108
brd: redirect channels to branches brc: let channels converging together also rewrite code converting label to offset
2012-09-28Use right-recursing in parser rule inst_option_listHomer Hsing1-6/+6
This recursing cost less memory. It is recommended by Bison.
2012-09-28Support subroutine instructions, CALL & RETHomer Hsing4-1/+56
2012-09-28Merge replicative code in gram.yHomer Hsing1-70/+14
2012-09-28Reduce replicative code in gram.y by reloc_target field in src_operandHomer Hsing2-35/+11
Bspec says JIP and UIP should be the source operands. It is better if src_operand has a field "reloc_target" according to bspec. The replicative code in JMPI and branchloop rules can be merged into one.
2012-09-28Restrict type of relativelocation2 to intHomer Hsing1-6/+1
Original rule set it to EXP | NUMBER, then YYERROR if it is NUMBER. This patch set it directly to EXP, restricting its type to int.
2012-09-28Rewrite label matching code. Collect labels in a linked list.Homer Hsing2-31/+67
Label matching is faster because of searching only in a small list, rather than searching a label in all instructions.
2012-09-28Add second_reloc_target in the data structure.Homer Hsing3-7/+9
Since Gen6+, some branching instructions have two relocation targets.
2012-09-28Add test case for ".declare" overriding feature.Homer Hsing1-0/+1
Later same name .declare pragma will override previously defined one. This patch add a test case for that feature.
2012-09-28Fix memory leaking in the parserHomer Hsing1-1/+5
STRING has been malloc'ed by strdup in src/lex.l but forgotten to be freed in src/gram.y.
2012-09-26Fix field length of JIP for one-offset-branch in Gen6Homer Hsing2-4/+7
Such JIP has 25 bits length in Gen6.
2012-09-26Automatically run all test cases.Homer Hsing2-11/+80
In the past test/run-test.sh run only one test case per call. This patch let it automatically run all test cases.
2012-09-26Fix missing environment variables problem in test/run-test.shHomer Hsing1-5/+7
Currently test/run-test.sh cannot get the value of ${srcdir} and ${top_builddir}. Thus we cannot run any test case. This patch uses $0 to get the absolute path of run-test.sh. Now test cases work.
2012-09-26Add a generic hash table algorithm. Reuse for declared_reg_table and ↵Homer Hsing2-27/+47
label_table in the future. Rewrite find_register() and insert_register(). The hash table code has been extracted. We may use those code for label table in the future.
2012-09-26Add a test case for ".declare" pragmaHomer Hsing3-1/+11
2012-09-26Rename brw_instruction.bits3.if_else to branchHomer Hsing2-4/+4
Because that field will be used for all branch instructions
2012-09-26According to BSPEC, put PLN & BFI1 to binaryop, put SUBB to binaryaccopHomer Hsing1-3/+4
bspec: BFI1 should not access accumulator. PLN should not use accumulator as source. future work in gram.y: show warning if acc is used as dest for ADDC/SUBB/CMP/CMPN/SHL/BFI1.
2012-09-26Explain the difference between binaryinstruction and binaryaccinstructionHomer Hsing1-0/+4
Developers may add new instructions in wrong place in the future if they don't know the difference between binaryinstruction and binaryaccinstruction.
2012-09-26Renaming according to BSPEC: jump_count -> JIP; pop_count -> UIP.Homer Hsing2-7/+6
Since bspec SNB+, jump_count and pop_count is renamed to JIP and uIP.
2012-09-26Use bits3.if_else.jump_count instead of bits3.ud for readabilityHomer Hsing1-2/+2
2012-09-26Pad NOP instructions instead of the ILLEGAL instruction for entryHomer Hsing1-1/+2
If a label is an entry, the assembler will pad empty instruction before the label until offset % 4 == 0. In the past, the ILLEGAL instructions are padded. It may raise exceptions. We use the NOP instructions instead.
2012-09-26Merge same if branches in declare_pragma section in gram.yHomer Hsing1-19/+15
2012-09-26Reduce memory cost in entry_tableHomer Hsing1-40/+28
Original code double entry table space if there is no space. It may waste 50% memory of the entry table. Now we use a link list to store entry items.
2012-09-26Make the entry point padding code logic looks nicerHomer Hsing1-1/+2