History log of /external/swiftshader/src/Reactor/LLVMReactor.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
9ae6cfd7474303a699af8e98d9449d6a78fd02a8 27-Nov-2017 Nicolas Capens <capn@google.com> Fix remaining LLVM integer vector comparisons.

Change-Id: I35cd9c9e4510529a324f6bd3dfd91e56b834cbca
Reviewed-on: https://swiftshader-review.googlesource.com/14268
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Tested-by: Nicolas Capens <nicolascapens@google.com>
/external/swiftshader/src/Reactor/LLVMReactor.cpp
8ef6d1097d9fe71a2461a5040bddb1893bdbed6c 09-Nov-2017 Alexis Hetu <sugoi@google.com> isnan and isinf implementation

Added the missing implementation for isinf and isnan.

Change-Id: Ice603956a4ed8ef9515ae8f501b2876ce5fab584
Reviewed-on: https://swiftshader-review.googlesource.com/13608
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
/external/swiftshader/src/Reactor/LLVMReactor.cpp
708c24b3cd03b68aa98b29a9099d6a9ce96eca16 26-Oct-2017 Nicolas Capens <capn@google.com> Use more explicit include paths.

This helps clarify dependencies and simplifies include paths.

Bug swiftshader:86

Change-Id: I564ee420bb9029fa6428e49b63a86d633301bec2
Reviewed-on: https://swiftshader-review.googlesource.com/13288
Tested-by: Nicolas Capens <nicolascapens@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
/external/swiftshader/src/Reactor/LLVMReactor.cpp
33438a6882d629139617d80cc7fdbc687b71a794 27-Sep-2017 Nicolas Capens <capn@google.com> Refactor vector packing.

x86 vector packing instructions always treat the input as having signed
integer components, but can perform signed or unsigned saturation on
the output. In Reactor the Pack() intrinsic has overloads which
differentiate between them based on the signedness of the input, but
this is confusing.

Also simplify emulation of saturating add/subtract.

Bug b/37496082

Change-Id: I0625fff429ffb40f42baf9600c7760d9858b5d89
Reviewed-on: https://swiftshader-review.googlesource.com/12548
Tested-by: Nicolas Capens <nicolascapens@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
/external/swiftshader/src/Reactor/LLVMReactor.cpp
69674fb1f01c657bfeb5f2cb6389d4a959b973f6 01-Sep-2017 Nicolas Capens <capn@google.com> Fix constant vector construction for emulated types.

Emulated vectors have fewer elements than their underlying type, e.g.
v4i16 is stored in the lower half of a v8i16 vector, but for constant
vector construction we need to provide values for all the elements of
the underlying vector.

Bug b/65124545

Change-Id: Iaf942c4d517b1d4d464894ec501f7d339ae86438
Reviewed-on: https://swiftshader-review.googlesource.com/11908
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Tested-by: Nicolas Capens <nicolascapens@google.com>
/external/swiftshader/src/Reactor/LLVMReactor.cpp
cb98676127fd976d4fee1269f606ad0d949bd9b9 20-Jan-2017 Nicolas Capens <capn@google.com> Generalize 4x32-bit vector swizzling.

This enables swizzling of Int4 and UInt4 types using swizzle operators.

Change-Id: I83fe5b472433d84a7b092e18eb78a919fb39b03b
Reviewed-on: https://swiftshader-review.googlesource.com/8530
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Tested-by: Nicolas Capens <nicolascapens@google.com>
/external/swiftshader/src/Reactor/LLVMReactor.cpp
01a9796a5e07f0319275e1c592b39544d6aa228a 28-Jul-2017 Nicolas Capens <capn@google.com> Emulate 64-bit vectors using 128-bit vectors.

This effectively eliminates all use of MMX instructions, using SSE ones
instead.

Bug swiftshader:78

Change-Id: I3e519a0c5172688ff711654bf430a9d1dd058d0b
Reviewed-on: https://swiftshader-review.googlesource.com/11049
Tested-by: Nicolas Capens <nicolascapens@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
/external/swiftshader/src/Reactor/LLVMReactor.cpp
9e013d4624df365e002ee086486830cda78d2e98 28-Jul-2017 Nicolas Capens <capn@google.com> Assume SSE2 support is available.

Chrome and many other products require SSE2 support as a minimum. Note
that MMX checks are left in place for now. Dead code paths are removed.

Bug swiftshader:78

Change-Id: Iabd8b1dc2092949d5dba29a78e75d014e808f12c
Reviewed-on: https://swiftshader-review.googlesource.com/11068
Tested-by: Nicolas Capens <nicolascapens@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
/external/swiftshader/src/Reactor/LLVMReactor.cpp
fbf2bc536793bca43e28b07ce5059bbc8c377e01 26-Jul-2017 Nicolas Capens <capn@google.com> Abstract LLVM types to enable emulation.

This is just a refactoring, where the 'emulated' types still map to
the same types as before. They are represented using small integer
values reinterpret-casted as sw::Type*, while non-emulated types
correspond directly to llvm::Type pointers.

Bug swiftshader:78

Change-Id: I88c0b932a45119ce500821068d8fb5faa2ccbb92
Reviewed-on: https://swiftshader-review.googlesource.com/11048
Tested-by: Nicolas Capens <nicolascapens@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
/external/swiftshader/src/Reactor/LLVMReactor.cpp
bea4dce934c96284fb60f21c9a1698c86e1fd703 24-Jul-2017 Nicolas Capens <capn@google.com> Fix RValue<T> construction from incorrect types.

When constructing an RValue<T> from a Value, the types should match.
Else a bitcast is required.

Bug swiftshader:48

Change-Id: I5073091524d2f56681dab052c9f84a06b3be7b4f
Reviewed-on: https://swiftshader-review.googlesource.com/10908
Tested-by: Nicolas Capens <nicolascapens@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
/external/swiftshader/src/Reactor/LLVMReactor.cpp
cfd963201e004f8b9b5b631812960d6985f03e75 24-Jul-2017 Alexis Hetu <sugoi@google.com> Added UInt to FP cast

UInt4 -> Float4 already existed, but not UInt -> Float.

Added the scalar conversion code and used it in the
Blitter where appropriate.

Change-Id: I9ebf63fdf8b139b960237b269f2da088f6ecac86
Reviewed-on: https://swiftshader-review.googlesource.com/10888
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
/external/swiftshader/src/Reactor/LLVMReactor.cpp
b923042e7737fcde817b648b399f86506dff3565 17-Jul-2017 Nicolas Capens <capn@google.com> Fix Frac() returning 1.0.

Frac() should always produce results in the range [0.0, 1.0), and thus
never produce a 1.0. However, the current implementation uses
x - floor(x) and this returns 1.0 for very small negative values due to
catastrophic cancellation.

Bug swiftshader:74

Change-Id: I942dd7cfb1f7ee3a260070e748704f005eed0b13
Reviewed-on: https://swiftshader-review.googlesource.com/10648
Tested-by: Nicolas Capens <nicolascapens@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
/external/swiftshader/src/Reactor/LLVMReactor.cpp
f4eec2f957577bd5f97639863adf4da2e9a82c2b 24-May-2017 Nicolas Capens <capn@google.com> Remove unused return value.

Bug b/17893069

Change-Id: I78d582455192456625523d7bf2bdc5d16c88d68e
Reviewed-on: https://swiftshader-review.googlesource.com/9814
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/Reactor/LLVMReactor.cpp
47dc8676fcff01274de3d3fe98e1de607ff076d3 25-Apr-2017 Nicolas Capens <capn@google.com> Fix ARM compilation.

This does not provide full support for ARM,
but merely makes things (statically) compile.

Bug b/37478805

Change-Id: I01d1d84e396c04c84e74d521946595014d2eafb5
Reviewed-on: https://swiftshader-review.googlesource.com/9430
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/Reactor/LLVMReactor.cpp
69bc6e8ac26d38aec85946dbf1bc60c32fb6e5d3 20-Mar-2017 Tom Anderson <thomasanderson@google.com> Fix GCC build

This CL fixes building the 'all' target in a Chromium checkout with the following args.gn:
is_debug = false
is_clang = false
use_sysroot = false
proprietary_codecs = true
ffmpeg_branding = "Chrome"
is_component_build = true
enable_nacl = false
use_goma = true

Bug chromium:697528
Change-Id: Ie725988e8a1cb9ee672eb1e8e20d718ac91004fa

Change-Id: Ie725988e8a1cb9ee672eb1e8e20d718ac91004fa
Reviewed-on: https://swiftshader-review.googlesource.com/8888
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Tom Anderson <thomasanderson@google.com>
/external/swiftshader/src/Reactor/LLVMReactor.cpp
f8faed6dd2b2389bef3b9aae0f5ce9e8fcf950fa 03-Dec-2016 Jorge E. Moreira <jemoreira@google.com> Modified MutexLock to use a pthread mutex on Android.

The BackoffLock spins idle for a while when waiting for a locked mutex
before yielding the core, thus wasting many CPU cycles. Modern pthread
implementations have low overhead mutexes which make the thread sleep
if the lock is already held, and efficiently resume them it becomes
available.

Change-Id: I26b64c86db620739671373fd0d82085744d34fa8
Reviewed-on: https://swiftshader-review.googlesource.com/8648
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/Reactor/LLVMReactor.cpp
411273e7b30258756011601a2c3035dd67721a55 27-Jan-2017 Nicolas Capens <capn@google.com> Refactor Byte4 unpacking.

Change-Id: I82f8215ce4366e0795ce249b4d8f6c8e391af96c
Reviewed-on: https://swiftshader-review.googlesource.com/8568
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/Reactor/LLVMReactor.cpp
d294def5b421885b259403efb9b1abddaae3a82c 27-Jan-2017 Nicolas Capens <capn@google.com> Support unsigned array indices.

Change-Id: I4136781005cbd0551461adecdd94d8e3cc8688d0
Reviewed-on: https://swiftshader-review.googlesource.com/8570
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/Reactor/LLVMReactor.cpp
f549e3b690ac7ad15322eca69e22a0e5aaeda10c 24-Jan-2017 Nicolas Capens <capn@google.com> Vectorize R5G6B5 framebuffer present.

Change-Id: I40922c89056cacd00f9d728dfe1f3f12824c81a1
Reviewed-on: https://swiftshader-review.googlesource.com/3253
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/Reactor/LLVMReactor.cpp
3e7062b993c74700a403f46f01e0d55bfaed71df 17-Jan-2017 Nicolas Capens <capn@google.com> Fix packusdw SSE2 fallback.

Bug swiftshader:20

Change-Id: I81ad267d450713ffe2a5a84e1d7f7f140b515c85
Reviewed-on: https://swiftshader-review.googlesource.com/8454
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/Reactor/LLVMReactor.cpp
a25311ad85c5e51022800f6f7931b1b1471ab207 16-Jan-2017 Nicolas Capens <capn@google.com> Refactor Reactor type constructors.

Provide default constructors for each type, and initialize the swizzle
parent in a less bug prone manner.

Change-Id: Ia7f406a66274c7b1737cbe82db733e2e3ab65175
Reviewed-on: https://swiftshader-review.googlesource.com/8453
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/Reactor/LLVMReactor.cpp
96445fe36c80c3cb5443a29be673bedb7ad2fb2f 15-Dec-2016 Nicolas Capens <capn@google.com> Manually convert unsigned integer to floating-point.

Subzero uses a helper function to convert uint to float. It's faster to
just emit a sequence of operations to perform the cast manually.
This implementation converts the lower 31 bits as a signed integer, and
adds 0x80000000 as a floating-point value when the upper bit is set.
This approach does not produce the correct rounding in rare cases, but
should still be adequate. For consistency, we're also using this method
with the LLVM back-end.

Change-Id: Ic5d7b73cd2a9e154056365cdbe9af0962bdbe1cb
Reviewed-on: https://swiftshader-review.googlesource.com/8312
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/Reactor/LLVMReactor.cpp
a29d653e1378c38f41da3d02234ded50437a548a 06-Dec-2016 Nicolas Capens <capn@google.com> Deprecate support for constant pointers.

The use of constant pointers produces code that cannot be relocated.
They also cause issues in Subzero when offsetting them due to not having
constant folding support. We only used them for Direct3D cursor
rendering, which can just pass in the data as an argument instead.

Bug swiftshader:14

Change-Id: Id7f16c3fcaeed3fe64b569af6a49c32f6baec483
Reviewed-on: https://swiftshader-review.googlesource.com/8257
Reviewed-by: Nicolas Capens <capn@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Tested-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/Reactor/LLVMReactor.cpp
45f187a368c383d2f44f369b965d361e1ce33e44 02-Dec-2016 Nicolas Capens <capn@google.com> Deprecate the Long1 type.

It corresponds to a scalar MMX type, used mainly for vector shifts.
We no longer need these shifts, and they would have been non-trivial
to emulate with SSE2.

Change-Id: I77a94ff5a62e043b991d4d6fa9ddd436d450181d
Reviewed-on: https://swiftshader-review.googlesource.com/8249
Reviewed-by: Nicolas Capens <capn@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Tested-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/Reactor/LLVMReactor.cpp
eb253d0b6c3d44e99804ad780d273008159246d8 18-Nov-2016 Nicolas Capens <capn@google.com> Support integer rvalues as return value.

Change-Id: I23e9b8de20dae93e7aa5ea7f5ff90abeba672b2b
Reviewed-on: https://swiftshader-review.googlesource.com/8091
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-on: https://swiftshader-review.googlesource.com/8233
Reviewed-by: Alexis Hétu <sugoi@google.com>
/external/swiftshader/src/Reactor/LLVMReactor.cpp
96d4e09163d5979f9b695cea48975d8b89b3372b 18-Nov-2016 Nicolas Capens <capn@google.com> Make Reactor destination variables non-const.

Bug swiftshader:27

Change-Id: I53e2e4858b10d810f649907fda98dc7863752551
Reviewed-on: https://swiftshader-review.googlesource.com/8090
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-on: https://swiftshader-review.googlesource.com/8232
Reviewed-by: Alexis Hétu <sugoi@google.com>
/external/swiftshader/src/Reactor/LLVMReactor.cpp
297d26ebc4bbde6916bb548beb261490c8b7e6bc 18-Nov-2016 Nicolas Capens <capn@google.com> Hold LValue address in a non-template Variable class.

Variable<> was redundant after LValue became a template class. We can
recycle it as a container for Values.

Bug swiftshader:27

Change-Id: Ic5ed6f3f7e26579fd38f0e809f8bada1e3639d00
Reviewed-on: https://swiftshader-review.googlesource.com/8071
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-on: https://swiftshader-review.googlesource.com/8231
Reviewed-by: Alexis Hétu <sugoi@google.com>
/external/swiftshader/src/Reactor/LLVMReactor.cpp
37ed908c92a019b6b55a8afe378c4f33df604547 16-Nov-2016 Nicolas Capens <capn@google.com> Eliminate "false" basic block when no Else clause.

Bug swiftshader:13

Change-Id: I5dd2ce4ddf1eaf0ec2fc732d022ccad2331e6b6b
Reviewed-on: https://swiftshader-review.googlesource.com/8070
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-on: https://swiftshader-review.googlesource.com/8230
Reviewed-by: Alexis Hétu <sugoi@google.com>
/external/swiftshader/src/Reactor/LLVMReactor.cpp
b98fe5cd1eaa821083d816cf86a20eefe22f57c7 09-Nov-2016 Nicolas Capens <capn@google.com> Implement switch constructs.

Bug swiftshader:6

Change-Id: Ifd28cab11e814dd09515ad8721f8d3d86123f19c
Reviewed-on: https://swiftshader-review.googlesource.com/7970
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-on: https://swiftshader-review.googlesource.com/8165
Reviewed-by: Alexis Hétu <sugoi@google.com>
/external/swiftshader/src/Reactor/LLVMReactor.cpp
c94ab74f4570d4ce781645f6c4396778a15819c1 08-Nov-2016 Nicolas Capens <capn@google.com> Implement remaining vector extract/insert operations.

Bug swiftshader:15

Change-Id: I9ed683b6d122183c4313d2bf609fd7c14bf5e387
Reviewed-on: https://swiftshader-review.googlesource.com/7958
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-on: https://swiftshader-review.googlesource.com/8163
Reviewed-by: Alexis Hétu <sugoi@google.com>
/external/swiftshader/src/Reactor/LLVMReactor.cpp
a16473eb80bc1d199d0d5bec6a9b8ab1bbd08be7 07-Nov-2016 Nicolas Capens <capn@google.com> Remove unused createIntCast() method.

Bug swiftshader:6

Change-Id: Iba0a4904e99f7323c7e2044be03bb7dd950929d9
Reviewed-on: https://swiftshader-review.googlesource.com/7951
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-on: https://swiftshader-review.googlesource.com/8157
Reviewed-by: Alexis Hétu <sugoi@google.com>
/external/swiftshader/src/Reactor/LLVMReactor.cpp
70dfff4a86680bde69cea00dad8d254ec99ffd46 27-Oct-2016 Nicolas Capens <capn@google.com> Simplify abstract value bitcasting.

Change-Id: I173d563cd3cd17cf90caf723f29a6c1da51103b5
Reviewed-on: https://swiftshader-review.googlesource.com/7872
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-on: https://swiftshader-review.googlesource.com/8153
Reviewed-by: Alexis Hétu <sugoi@google.com>
/external/swiftshader/src/Reactor/LLVMReactor.cpp
b0eb377b64a791387422b029c82d9f8e72a21e81 24-Oct-2016 Nicolas Capens <capn@google.com> Limit loop init scope to till end of loop.

Bug swiftshader:13

Change-Id: I03cdbb3e5ea28643eb941e162125da68d183d1c6
Reviewed-on: https://swiftshader-review.googlesource.com/7810
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-on: https://swiftshader-review.googlesource.com/8144
Reviewed-by: Alexis Hétu <sugoi@google.com>
/external/swiftshader/src/Reactor/LLVMReactor.cpp
9ed1a1832df6f0416d4a94446fe8e12b0cde7793 24-Oct-2016 Nicolas Capens <capn@google.com> Implement Else without using basic block predecessor.

Bug swiftshader:13

Change-Id: Idd49e64aa8415ceb5d1cfee7b65a7d67ea0ebd40
Reviewed-on: https://swiftshader-review.googlesource.com/7792
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-on: https://swiftshader-review.googlesource.com/8143
Reviewed-by: Alexis Hétu <sugoi@google.com>
/external/swiftshader/src/Reactor/LLVMReactor.cpp
73dd7a249d69107af605d7cb7fd94baa9d722795 20-Oct-2016 Nicolas Capens <capn@google.com> Implement remaining constant creations.

Bug swiftshader:6

Change-Id: I3ab9023e2ac91a8435b403ebdd16e741197ecf6b
Reviewed-on: https://swiftshader-review.googlesource.com/7757
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-on: https://swiftshader-review.googlesource.com/8138
Reviewed-by: Alexis Hétu <sugoi@google.com>
/external/swiftshader/src/Reactor/LLVMReactor.cpp
2200878636ca416caedebec3b1d8c2734a0b64f3 20-Oct-2016 Nicolas Capens <capn@google.com> Remove the Long2 type.

Bug swiftshader:6

Change-Id: Idb083bd1aecedb529f4e15deda3a1cfcf95a5bfa
Reviewed-on: https://swiftshader-review.googlesource.com/7753
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-on: https://swiftshader-review.googlesource.com/8133
Reviewed-by: Alexis Hétu <sugoi@google.com>
/external/swiftshader/src/Reactor/LLVMReactor.cpp
8dfd9a7616f89f269f9c46cc7659c6e1a7db1ec7 13-Oct-2016 Nicolas Capens <capn@google.com> Implement support for vector constants.

Bug swiftshader:17

Change-Id: Ifde00443ab55a4cf68a038fac6356182518253fe
Reviewed-on: https://swiftshader-review.googlesource.com/7715
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-on: https://swiftshader-review.googlesource.com/7671
Reviewed-by: Alexis Hétu <sugoi@google.com>
/external/swiftshader/src/Reactor/LLVMReactor.cpp
13ac2327184133f5a69584ff2d69bc2cdeec1457 13-Oct-2016 Nicolas Capens <capn@google.com> Refactor constant creation.

Distinguishing between Values and Constants complicates the creation
of constant vectors, and isn't necessary when using Subzero assign
operations to convert between them internally. Also, construct vector
constants from arrays of basic types.

Bug swiftshader:17

Change-Id: I9c03655ed18d5b4bd3797a252cd7f02793205254
Reviewed-on: https://swiftshader-review.googlesource.com/7713
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-on: https://swiftshader-review.googlesource.com/7650
Reviewed-by: Alexis Hétu <sugoi@google.com>
/external/swiftshader/src/Reactor/LLVMReactor.cpp
16b5f15bbba60a7f89fc3c313588da86a4266869 13-Oct-2016 Nicolas Capens <capn@google.com> Avoid ambiguous vector casts.

Bug swiftshader:15

Change-Id: Ia42d21b4f2c9e19a839ffb414661f2dffa350692
Reviewed-on: https://swiftshader-review.googlesource.com/7711
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-on: https://swiftshader-review.googlesource.com/7630
Reviewed-by: Alexis Hétu <sugoi@google.com>
/external/swiftshader/src/Reactor/LLVMReactor.cpp
e89cd5805a9e9578821d9049671f5a345874eca3 30-Sep-2016 Nicolas Capens <capn@google.com> Refactor vector swizzle.

Bug swiftshader:15

Change-Id: Iaa626705220e4bd9b3c744c7623f8b204022b716
Reviewed-on: https://swiftshader-review.googlesource.com/7397
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/Reactor/LLVMReactor.cpp
e95d534ac645273b3669ef62046d9aa612468e7e 30-Sep-2016 Nicolas Capens <capn@google.com> Refactor vector operations.

Subzero does not know the element types of vectors, so pass it as an
argument. Also deprecate createSwizzle() and createMask() from
Nucleus since we only need Float4 Swizzle().

Bug swiftshader:15

Change-Id: I38b630f48f8f43e1248338d564a7406d7c8cd5ef
Reviewed-on: https://swiftshader-review.googlesource.com/7395
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/Reactor/LLVMReactor.cpp
a0c2fc5023ab82b56499badf01d06b6efa05179c 30-Sep-2016 Nicolas Capens <capn@google.com> Implement cast operations.

Bug swiftshader:6

Change-Id: I12e1c109c5954ef65ea00750c2d5b027c0c7765a
Reviewed-on: https://swiftshader-review.googlesource.com/7394
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/Reactor/LLVMReactor.cpp
6d73871220b21157ce9f91b5d51334b379e27a7e 30-Sep-2016 Nicolas Capens <capn@google.com> Add type information to pointer arguments.

Unlike LLVM, Subzero does not store the type of value a pointer
references as part of the pointer's type information. So add a type
argument to createGEP(). Also add the type to createStore(), to
enable smaller types to be emulated by larger ones.

Bug swiftshader:11

Change-Id: I08173dd0ba07362d2b27baff4a8fba0ecce093d2
Reviewed-on: https://swiftshader-review.googlesource.com/7392
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/Reactor/LLVMReactor.cpp
b955d5b48bc9a611f1580270fab0ce2f2ffc64a9 29-Sep-2016 Nicolas Capens <capn@google.com> Support assigning constants to values.

Subzero has unrelated types for constants and variables. Both are
operands to instructions, but we can't express this relationship at
the Nucleus level. We'd require a large number of Value to Operand
conversions. Instead, an Assign instruction is provided to convert
a Constant into a Value.

Bug swiftshader:12

Change-Id: Ie35a2cea3e485c4012ed949f92825a41caca3367
Reviewed-on: https://swiftshader-review.googlesource.com/7370
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/Reactor/LLVMReactor.cpp
22479eb6fcd760267d8f5f6cfa96422b198f785f 29-Sep-2016 Nicolas Capens <capn@google.com> Make LValue a template class.

This avoids having to store the type as a member field.

Bug swiftshader:12

Change-Id: I53ea4869a5b590027217d1e9cc015c0502ab530f
Reviewed-on: https://swiftshader-review.googlesource.com/7361
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/Reactor/LLVMReactor.cpp
e12780d57478a3d0e349a29169df73ae4a8ba684 27-Sep-2016 Nicolas Capens <capn@google.com> Implement Pointer<> support for Subzero.

Bug swiftshader:11

Change-Id: I794ef54a7c2ecde71ee6344c63955d2f838ff189
Reviewed-on: https://swiftshader-review.googlesource.com/7331
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/Reactor/LLVMReactor.cpp
3d7c35f224f985f3f4620be2f1bdc60b959b7724 28-Sep-2016 Nicolas Capens <capn@google.com> Don't return values from terminator instructions.

All LLVM instructions are LLVM values, but in the case of terminator
instructions their value is meaningless, and we don't use them.

Bug swiftshader:10

Change-Id: I9eb71e1dcea2614cb810021dfbf3c8908a7e2510
Reviewed-on: https://swiftshader-review.googlesource.com/7355
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/Reactor/LLVMReactor.cpp
3bbc5e16af2975cf3903ef47a21ed7d75d0874d9 27-Sep-2016 Nicolas Capens <capn@google.com> Reduce header dependencies.

This removes all Common headers from Reactor headers, making it
easier to use Reactor outside of SwiftShader.

Bug swiftshader:10

Change-Id: I35c5d138e781d4e911d206954d38e392714d4659
Reviewed-on: https://swiftshader-review.googlesource.com/7330
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/Reactor/LLVMReactor.cpp
5763d17ef7ebf0568cc02f755361a26647d17f2e 26-Sep-2016 Nicolas Capens <capn@google.com> Rename Nucleus.cpp to LLVMReactor.cpp.

Bug swiftshader:10

Change-Id: I258fc7d66988c5bb9a20f98ac33e87ae26379855
Reviewed-on: https://swiftshader-review.googlesource.com/7280
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/Reactor/LLVMReactor.cpp