contrib/beignet.git
12 years agoFirst working implementation of linear scan register allocator Spilling is still...
Benjamin Segovia [Tue, 12 Jun 2012 03:27:19 +0000 (03:27 +0000)]
First working implementation of linear scan register allocator Spilling is still TODO

12 years agoImplemented the first phase of the linear scan allocator
Benjamin Segovia [Tue, 12 Jun 2012 00:08:00 +0000 (00:08 +0000)]
Implemented the first phase of the linear scan allocator

12 years agoPlayed around for register allocation
Benjamin Segovia [Mon, 11 Jun 2012 19:47:53 +0000 (19:47 +0000)]
Played around for register allocation

12 years agoUsed first bits the register file memory allocator in the Gen register allocator
Benjamin Segovia [Mon, 11 Jun 2012 19:33:50 +0000 (19:33 +0000)]
Used first bits the register file memory allocator in the Gen register allocator

12 years agoImplemented the CURBE allocation with the register file allocator
Benjamin Segovia [Mon, 11 Jun 2012 17:17:41 +0000 (17:17 +0000)]
Implemented the CURBE allocation with the register file allocator

12 years agoStarted to implement proper allocation of curbe entries
Benjamin Segovia [Mon, 11 Jun 2012 16:34:02 +0000 (16:34 +0000)]
Started to implement proper allocation of curbe entries

12 years agoFixed the comment for block coalescing
Benjamin Segovia [Wed, 6 Jun 2012 21:41:07 +0000 (21:41 +0000)]
Fixed the comment for block coalescing

12 years agoStarted to implement the generic memory allocator used to register allocate the programs
Benjamin Segovia [Wed, 6 Jun 2012 21:37:39 +0000 (21:37 +0000)]
Started to implement the generic memory allocator used to register allocate the programs

12 years agoRemoved this selection tile crap. It was just a bad idea. Instead use a selection...
Benjamin Segovia [Wed, 6 Jun 2012 20:05:13 +0000 (20:05 +0000)]
Removed this selection tile crap. It was just a bad idea. Instead use a selection block that basically keeps track of the way basic blocks are encoding while performing the instruction selection

12 years agoFixed scalar register encoding for untyped reads and writes
Benjamin Segovia [Wed, 6 Jun 2012 19:29:41 +0000 (19:29 +0000)]
Fixed scalar register encoding for untyped reads and writes

12 years agoPlayed around for the new back end boilerplate
Benjamin Segovia [Tue, 5 Jun 2012 21:44:59 +0000 (21:44 +0000)]
Played around for the new back end boilerplate

12 years agoFixed various bug in the new boilerplate (selection / allocation / encoding)
Benjamin Segovia [Tue, 5 Jun 2012 21:44:25 +0000 (21:44 +0000)]
Fixed various bug in the new boilerplate (selection / allocation / encoding)

12 years agoSimplify the new emission code
Benjamin Segovia [Tue, 5 Jun 2012 00:21:19 +0000 (00:21 +0000)]
Simplify the new emission code

12 years agoFinished first implementation of the boiler plate code to separate instruction select...
Benjamin Segovia [Tue, 5 Jun 2012 00:07:51 +0000 (00:07 +0000)]
Finished first implementation of the boiler plate code to separate instruction selection from the rest (final encoding and register allocation). Neither debugged nor activated.

12 years agoAdded most of the boiler plate for the instruction selection and vector allocation...
Benjamin Segovia [Tue, 29 May 2012 02:53:18 +0000 (02:53 +0000)]
Added most of the boiler plate for the instruction selection and vector allocation (i.e. the registers that need to be contiguous are allocated together in vectors)

12 years agoPrepare the work for proper register allocation (i.e. after instruction selection)
Benjamin Segovia [Sun, 27 May 2012 22:45:30 +0000 (22:45 +0000)]
Prepare the work for proper register allocation (i.e. after instruction selection)

12 years agoMove the register allocation in a dedicated class
Benjamin Segovia [Sun, 27 May 2012 19:44:45 +0000 (19:44 +0000)]
Move the register allocation in a dedicated class

12 years agoImplemented first methods of the gen selection engine
Benjamin Segovia [Sun, 27 May 2012 16:58:49 +0000 (16:58 +0000)]
Implemented first methods of the gen selection engine

12 years agoFixed compilation
Benjamin Segovia [Tue, 22 May 2012 18:32:23 +0000 (18:32 +0000)]
Fixed compilation

12 years agoStarted to segment the final code generation into: - instruction selection phase...
Benjamin Segovia [Tue, 22 May 2012 18:30:53 +0000 (18:30 +0000)]
Started to segment the final code generation into: - instruction selection phase - register allocation - mov insertion - instruction scheduling - instrucition encoding

Started with the instruction selection engine

12 years agoNow booleans are encoded with 1 short instead of a vector of shorts.
Benjamin Segovia [Mon, 21 May 2012 17:41:37 +0000 (17:41 +0000)]
Now booleans are encoded with 1 short instead of a vector of shorts.

12 years agoFixed typo in the curbe load for SimContext
Benjamin Segovia [Mon, 21 May 2012 16:33:44 +0000 (16:33 +0000)]
Fixed typo in the curbe load for SimContext

12 years agoFixed compilation with gcc 4.7
Benjamin Segovia [Mon, 21 May 2012 14:52:57 +0000 (14:52 +0000)]
Fixed compilation with gcc 4.7

12 years agoAdded support for bool to int conversion (that uses a select)
Benjamin Segovia [Mon, 21 May 2012 04:00:06 +0000 (04:00 +0000)]
Added support for bool to int conversion (that uses a select)

12 years agoFixed a type in a range-based for loop
Benjamin Segovia [Mon, 21 May 2012 03:31:57 +0000 (03:31 +0000)]
Fixed a type in a range-based for loop

12 years agoMade a systematic of range-based for loops when it is possible
Benjamin Segovia [Mon, 21 May 2012 03:20:34 +0000 (03:20 +0000)]
Made a systematic of range-based for loops when it is possible

12 years agoReplace some C cast by C++ const_cast to make things a bit more pure and clearer...
Benjamin Segovia [Mon, 21 May 2012 02:38:53 +0000 (02:38 +0000)]
Replace some C cast by C++ const_cast to make things a bit more pure and clearer...

12 years agos/getInput/getArg/g (just to make things consistent with the previous related renaming)
Benjamin Segovia [Mon, 21 May 2012 02:32:27 +0000 (02:32 +0000)]
s/getInput/getArg/g (just to make things consistent with the previous related renaming)

12 years agoRemoved unused file
Benjamin Segovia [Mon, 21 May 2012 02:19:24 +0000 (02:19 +0000)]
Removed unused file

12 years agoAdded first support for structure kernel arguments (anything bigger than 4 bytes...
Benjamin Segovia [Mon, 21 May 2012 02:18:01 +0000 (02:18 +0000)]
Added first support for structure kernel arguments (anything bigger than 4 bytes). They work on c++ simulator and regular Gen backend

12 years agoAdded missing tests and kernels for structure arguments
Benjamin Segovia [Mon, 21 May 2012 02:15:58 +0000 (02:15 +0000)]
Added missing tests and kernels for structure arguments

12 years agoAdded first support for structure arguments (bigger than 4 bytes for 32 bit Gen)...
Benjamin Segovia [Mon, 21 May 2012 02:15:11 +0000 (02:15 +0000)]
Added first support for structure arguments (bigger than 4 bytes for 32 bit Gen) They work for both c++ simulator and Gen back-ends

12 years agoStarted constant_push handling Started to revamp the custom allocators
Benjamin Segovia [Sun, 20 May 2012 19:57:32 +0000 (19:57 +0000)]
Started constant_push handling Started to revamp the custom allocators

12 years agos/input/arg/g
Benjamin Segovia [Sun, 20 May 2012 17:44:17 +0000 (17:44 +0000)]
s/input/arg/g

12 years agos/FunctionInput/FunctionArgument/g
Benjamin Segovia [Sun, 20 May 2012 17:39:17 +0000 (17:39 +0000)]
s/FunctionInput/FunctionArgument/g

12 years agoProperly identified the three cases for the function argument
Benjamin Segovia [Sat, 19 May 2012 00:28:25 +0000 (00:28 +0000)]
Properly identified the three cases for the function argument

12 years agoFixed a bug in masked gathe for the simulator
Benjamin Segovia [Fri, 18 May 2012 23:50:31 +0000 (23:50 +0000)]
Fixed a bug in masked gathe for the simulator

12 years agoStarted to handle structure arguments
Benjamin Segovia [Thu, 17 May 2012 18:06:43 +0000 (18:06 +0000)]
Started to handle structure arguments

12 years agoAdded some first support for function arguments that are just values (int, short...
Benjamin Segovia [Thu, 17 May 2012 17:44:39 +0000 (17:44 +0000)]
Added some first support for function arguments that are just values (int, short, char and of course pointers)

12 years agoAdded more tests for function arguments
Benjamin Segovia [Thu, 17 May 2012 17:41:49 +0000 (17:41 +0000)]
Added more tests for function arguments

12 years agoAdded one more test for the arrays
Benjamin Segovia [Thu, 17 May 2012 15:31:32 +0000 (15:31 +0000)]
Added one more test for the arrays

12 years agoAdded proper support for stack in Gen backend
Benjamin Segovia [Thu, 17 May 2012 14:29:07 +0000 (14:29 +0000)]
Added proper support for stack in Gen backend

12 years agoAdded missing lowering files
Benjamin Segovia [Wed, 16 May 2012 19:23:45 +0000 (19:23 +0000)]
Added missing lowering files

12 years agoAdded first support for stack Only c++ simulator can handle it right now
Benjamin Segovia [Wed, 16 May 2012 19:23:13 +0000 (19:23 +0000)]
Added first support for stack Only c++ simulator can handle it right now

12 years agoAdded first test for stack handling
Benjamin Segovia [Wed, 16 May 2012 19:22:05 +0000 (19:22 +0000)]
Added first test for stack handling

12 years agoAdded support for lowering of return instruction
Benjamin Segovia [Mon, 14 May 2012 18:24:59 +0000 (18:24 +0000)]
Added support for lowering of return instruction

12 years agoAdded tests for return instruction lowering
Benjamin Segovia [Mon, 14 May 2012 18:24:39 +0000 (18:24 +0000)]
Added tests for return instruction lowering

12 years agoMade mandelbrot pass in the C++ simulator Made (actually) all tests pass in the C...
Benjamin Segovia [Mon, 14 May 2012 02:37:38 +0000 (02:37 +0000)]
Made mandelbrot pass in the C++ simulator Made (actually) all tests pass in the C++ simulator

12 years agoAdded support for byte registers in the simulator Added byte scatters / gathers in...
Benjamin Segovia [Mon, 14 May 2012 02:36:38 +0000 (02:36 +0000)]
Added support for byte registers in the simulator Added byte scatters / gathers in the simulator Added conversion instructions in the simulator

12 years agoAdded support for loads and stores of uint2/3/4
Benjamin Segovia [Sun, 13 May 2012 17:58:26 +0000 (17:58 +0000)]
Added support for loads and stores of uint2/3/4

12 years agoAdded tests for uint2/3/4 loads / stores and unaligned versions of them
Benjamin Segovia [Sun, 13 May 2012 17:57:02 +0000 (17:57 +0000)]
Added tests for uint2/3/4 loads / stores and unaligned versions of them

12 years agoMade Mandelbrot work on Fulsim (SIMD8 only right now)
Benjamin Segovia [Fri, 11 May 2012 19:35:31 +0000 (19:35 +0000)]
Made Mandelbrot work on Fulsim (SIMD8 only right now)

12 years agoFixed FP division
Benjamin Segovia [Fri, 11 May 2012 19:34:44 +0000 (19:34 +0000)]
Fixed FP division

12 years agoAdded load immediates of bytes and shorts
Benjamin Segovia [Fri, 11 May 2012 18:03:15 +0000 (18:03 +0000)]
Added load immediates of bytes and shorts

12 years agoAdded tests for load immediates of bytes and shorts
Benjamin Segovia [Fri, 11 May 2012 18:03:02 +0000 (18:03 +0000)]
Added tests for load immediates of bytes and shorts

12 years agoAdded tests for shorts and bytes operations
Benjamin Segovia [Fri, 11 May 2012 17:50:38 +0000 (17:50 +0000)]
Added tests for shorts and bytes operations

12 years agoSimplified a lot the encoding and the back end. Added support for bytes
Benjamin Segovia [Fri, 11 May 2012 17:25:07 +0000 (17:25 +0000)]
Simplified a lot the encoding and the back end. Added support for bytes

12 years agoActivated all the tests. Byte conversion now works fine
Benjamin Segovia [Fri, 11 May 2012 17:24:24 +0000 (17:24 +0000)]
Activated all the tests. Byte conversion now works fine

12 years agoFixed this damn fucking relocation bug!
Benjamin Segovia [Thu, 10 May 2012 20:09:32 +0000 (20:09 +0000)]
Fixed this damn fucking relocation bug!

12 years agoFixed a bug while providing local IDs in the CURBE
Benjamin Segovia [Wed, 9 May 2012 13:18:26 +0000 (13:18 +0000)]
Fixed a bug while providing local IDs in the CURBE

12 years agoAdded first test for byte scatter reads / writes
Benjamin Segovia [Wed, 9 May 2012 13:15:13 +0000 (13:15 +0000)]
Added first test for byte scatter reads / writes

12 years agoReencode a new surface state to make fulsim happy while using byte scattered reads...
Benjamin Segovia [Wed, 9 May 2012 12:49:05 +0000 (12:49 +0000)]
Reencode a new surface state to make fulsim happy while using byte scattered reads and writes with flat address space

12 years agoPlayed around with byte scatters / gathers
Benjamin Segovia [Wed, 9 May 2012 12:45:00 +0000 (12:45 +0000)]
Played around with byte scatters / gathers

12 years agoAdded more bits of byte scatter / gather and started to implement the conversion...
Benjamin Segovia [Tue, 8 May 2012 14:27:54 +0000 (14:27 +0000)]
Added more bits of byte scatter / gather and started to implement the conversion routines

12 years agoAdded first bits of byte scattered reads and writes in GenContext Started to clean...
Benjamin Segovia [Tue, 8 May 2012 12:59:46 +0000 (12:59 +0000)]
Added first bits of byte scattered reads and writes in GenContext Started to clean up code to prepare a full-fledge register allocator

12 years agoRemoved mandelbrot from the tests
Benjamin Segovia [Tue, 8 May 2012 01:43:55 +0000 (01:43 +0000)]
Removed mandelbrot from the tests

12 years agoFixed a bug in the IR context that created empty blocks
Benjamin Segovia [Tue, 8 May 2012 01:34:52 +0000 (01:34 +0000)]
Fixed a bug in the IR context that created empty blocks

12 years agoStart to implement UB GenReg
Benjamin Segovia [Tue, 8 May 2012 00:35:39 +0000 (00:35 +0000)]
Start to implement UB GenReg

12 years agoRemoved more unused encoding stuff related to swizzles
Benjamin Segovia [Tue, 8 May 2012 00:26:27 +0000 (00:26 +0000)]
Removed more unused encoding stuff related to swizzles

12 years agoRemoved unused part of the encoding
Benjamin Segovia [Tue, 8 May 2012 00:22:46 +0000 (00:22 +0000)]
Removed unused part of the encoding

12 years agoStarted to implement support for byte and shorts
Benjamin Segovia [Mon, 7 May 2012 23:49:54 +0000 (23:49 +0000)]
Started to implement support for byte and shorts

12 years agoStarted to implement mandelbrot
Benjamin Segovia [Fri, 4 May 2012 19:22:44 +0000 (19:22 +0000)]
Started to implement mandelbrot

12 years agoFixed wrong assertion
Benjamin Segovia [Fri, 4 May 2012 19:22:14 +0000 (19:22 +0000)]
Fixed wrong assertion

12 years agoDebugged unstructured branch code
Benjamin Segovia [Fri, 4 May 2012 18:29:18 +0000 (18:29 +0000)]
Debugged unstructured branch code

12 years agoAdded more tests for structured and unstructured branches Debugged the unstructured...
Benjamin Segovia [Fri, 4 May 2012 18:28:46 +0000 (18:28 +0000)]
Added more tests for structured and unstructured branches Debugged the unstructured branch code

12 years agoFixed jumpi encoding problem
Benjamin Segovia [Thu, 3 May 2012 20:37:09 +0000 (20:37 +0000)]
Fixed jumpi encoding problem

12 years agoFixed bug in fwd branch encoding
Benjamin Segovia [Thu, 3 May 2012 20:17:52 +0000 (20:17 +0000)]
Fixed bug in fwd branch encoding

12 years agoFixed bug in the way to handle masked branches
Benjamin Segovia [Thu, 3 May 2012 19:45:56 +0000 (19:45 +0000)]
Fixed bug in the way to handle masked branches

12 years agoAdded several tests for unstructured branches
Benjamin Segovia [Thu, 3 May 2012 19:34:44 +0000 (19:34 +0000)]
Added several tests for unstructured branches

12 years agoCleaned up kernel directory
Benjamin Segovia [Thu, 3 May 2012 17:28:49 +0000 (17:28 +0000)]
Cleaned up kernel directory

12 years agoAdded flat_address_space tests
Benjamin Segovia [Thu, 3 May 2012 17:25:24 +0000 (17:25 +0000)]
Added flat_address_space tests

12 years agoKept on
Benjamin Segovia [Thu, 3 May 2012 17:25:05 +0000 (17:25 +0000)]
Kept on

12 years agoFinished the small test framework
Benjamin Segovia [Thu, 3 May 2012 17:12:18 +0000 (17:12 +0000)]
Finished the small test framework

12 years agoRevamped tests to make them smaller and simpler (and more automatic to use)
Benjamin Segovia [Thu, 3 May 2012 16:24:24 +0000 (16:24 +0000)]
Revamped tests to make them smaller and simpler (and more automatic to use)

12 years agotests -> utests
Benjamin Segovia [Thu, 3 May 2012 15:14:53 +0000 (15:14 +0000)]
tests -> utests

12 years agoSorted used / unused files in the test directory Made everything c++
Benjamin Segovia [Thu, 3 May 2012 15:13:39 +0000 (15:13 +0000)]
Sorted used / unused files in the test directory Made everything c++

12 years agofix gcc 4.7 compilation issues
Sushma Rao [Thu, 3 May 2012 15:01:29 +0000 (15:01 +0000)]
fix gcc 4.7 compilation issues

12 years agoAdded some functionalities for the test framework
Benjamin Segovia [Thu, 3 May 2012 14:50:39 +0000 (14:50 +0000)]
Added some functionalities for the test framework

12 years agoMade performance simulator work when using fulsim drm
Benjamin Segovia [Thu, 3 May 2012 14:34:09 +0000 (14:34 +0000)]
Made performance simulator work when using fulsim drm

12 years agoStarted to revmap the tests to make something easier and faster to use
Benjamin Segovia [Tue, 1 May 2012 23:28:49 +0000 (23:28 +0000)]
Started to revmap the tests to make something easier and faster to use

12 years agoMoved tests in a separate directory
Benjamin Segovia [Tue, 1 May 2012 20:08:30 +0000 (20:08 +0000)]
Moved tests in a separate directory

12 years agoStarted to implement unstructured branches in the compiler
Benjamin Segovia [Tue, 1 May 2012 20:01:42 +0000 (20:01 +0000)]
Started to implement unstructured branches in the compiler

12 years agoAdded first support for branches
Benjamin Segovia [Mon, 30 Apr 2012 19:04:15 +0000 (19:04 +0000)]
Added first support for branches

12 years agoAdded support for BlockIPs
Benjamin Segovia [Thu, 26 Apr 2012 22:25:25 +0000 (22:25 +0000)]
Added support for BlockIPs

12 years agoAdded first support for BlockIPs
Benjamin Segovia [Thu, 26 Apr 2012 22:25:11 +0000 (22:25 +0000)]
Added first support for BlockIPs

12 years agoAdded support for shorts in the simulator
Benjamin Segovia [Thu, 26 Apr 2012 20:30:04 +0000 (20:30 +0000)]
Added support for shorts in the simulator

12 years agoPlayed with SIMD8
Benjamin Segovia [Wed, 25 Apr 2012 22:37:42 +0000 (22:37 +0000)]
Played with SIMD8

12 years agoAlign driver code with new way to handle curbe
Benjamin Segovia [Wed, 25 Apr 2012 20:31:03 +0000 (20:31 +0000)]
Align driver code with new way to handle curbe

12 years agoSimplify the way we handle curbe
Benjamin Segovia [Wed, 25 Apr 2012 20:30:48 +0000 (20:30 +0000)]
Simplify the way we handle curbe

12 years agoImplemented a first quick and dirty mul32x32
Benjamin Segovia [Tue, 24 Apr 2012 20:32:46 +0000 (20:32 +0000)]
Implemented a first quick and dirty mul32x32