New issue
Advanced search Search tips
Starred by 3 users

Issue metadata

Status: Fixed
Owner:
Closed: Jan 2017



Sign in to add a comment
link

Issue 15: Implement vector operations with Subzero

Reported by nicolasc...@google.com, Sep 30 2016 Project Member

Issue description

Subzero does not support 64-bit vectors, so we'll have to emulate those with 128-bit ones but loading and storing only the lower half.
 

Comment 1 by nicolasc...@google.com, Oct 3 2016

Project Member
Status: Started (was: Accepted)
Subzero doesn't support v2i64 vectors either. This complicates loading and storing the lower half of a 128-bit vector. There are several potential solutions:
 * Implement v2i64 support: This is more than what we require for getting 64-bit vectors to work, and would be hard even on x86 due to SSE2 not supporting 64-bit integer operations.
 * Use f64 operations: f64 is implemented on x86 using SSE2, so it already stores and loads the lower half of a 128-bit vector register. But it probably requires some hacks that expose too many implementation details.
 * Define and implement an intrinsic: We could specify an intrinsic to load and store sub-vectors.
 * Use target-specific instructions.

Using an intrinsic seems like the most effective solution at the moment.

Comment 2 by bugdroid1@chromium.org, Oct 5 2016

The following revision refers to this bug:
  https://swiftshader.googlesource.com/SwiftShader.git/+/e95d534ac645273b3669ef62046d9aa612468e7e

commit e95d534ac645273b3669ef62046d9aa612468e7e
Author: Nicolas Capens <capn@google.com>
Date: Fri Sep 30 15:37:28 2016

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>

[modify] https://crrev.com/e95d534ac645273b3669ef62046d9aa612468e7e/src/Reactor/LLVMReactor.cpp
[modify] https://crrev.com/e95d534ac645273b3669ef62046d9aa612468e7e/src/Reactor/Nucleus.hpp
[modify] https://crrev.com/e95d534ac645273b3669ef62046d9aa612468e7e/src/Reactor/Reactor.hpp
[modify] https://crrev.com/e95d534ac645273b3669ef62046d9aa612468e7e/src/Reactor/SubzeroReactor.cpp

Comment 3 by bugdroid1@chromium.org, Oct 5 2016

The following revision refers to this bug:
  https://swiftshader.googlesource.com/SwiftShader.git/+/9709d4ffa1b82a98036334ad3bed463a8d6aafc6

commit 9709d4ffa1b82a98036334ad3bed463a8d6aafc6
Author: Nicolas Capens <capn@google.com>
Date: Fri Sep 30 15:44:14 2016

Implement vector extract, insert, and swizzle.

 Bug swiftshader:15 

Change-Id: I81f88999e183ce3617d923249335ff02d6a9f1b1
Reviewed-on: https://swiftshader-review.googlesource.com/7396
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>

[modify] https://crrev.com/9709d4ffa1b82a98036334ad3bed463a8d6aafc6/src/Reactor/Main.cpp
[modify] https://crrev.com/9709d4ffa1b82a98036334ad3bed463a8d6aafc6/src/Reactor/SubzeroReactor.cpp

Comment 5 by bugdroid1@chromium.org, Oct 5 2016

The following revision refers to this bug:
  https://swiftshader.googlesource.com/SwiftShader.git/+/619c0ab95c7f58fc2fbc970ba46bc78030259c82

commit 619c0ab95c7f58fc2fbc970ba46bc78030259c82
Author: Nicolas Capens <capn@google.com>
Date: Fri Sep 30 18:46:24 2016

Implement generic vector shuffle.

 Bug swiftshader:15 

Change-Id: I6cfb3218a9962ca9fe271e9595ecf56aaca6375d
Reviewed-on: https://swiftshader-review.googlesource.com/7398
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>

[modify] https://crrev.com/619c0ab95c7f58fc2fbc970ba46bc78030259c82/src/Reactor/SubzeroReactor.cpp

Comment 8 by bugdroid1@chromium.org, Oct 7 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/native_client/pnacl-subzero/+/b09353904b93e8914d459a286b6b9badb8b1983b

commit b09353904b93e8914d459a286b6b9badb8b1983b
Author: Nicolas Capens <capn@google.com>
Date: Tue Oct 04 14:13:03 2016

Optimize x86 vector shift by constant.

BUG= swiftshader:15 

Change-Id: I4b7b97f3de18c201a502d0bc38a2c845a1caf278
Reviewed-on: https://chromium-review.googlesource.com/392627
Tested-by: Nicolas Capens <nicolascapens@google.com>
Reviewed-by: Jim Stichnoth <stichnot@chromium.org>

[modify] https://crrev.com/b09353904b93e8914d459a286b6b9badb8b1983b/src/IceTargetLoweringX86BaseImpl.h

Comment 9 by bugdroid1@chromium.org, Oct 12 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/native_client/src/native_client.git/+/a123a8b25857b7402198308a6b42a5172dac30c1

commit a123a8b25857b7402198308a6b42a5172dac30c1
Author: Jim Stichnoth <stichnot@chromium.org>
Date: Wed Oct 12 22:00:03 2016

PNaCl: Update subzero revision in pnacl/COMPONENT_REVISIONS

This pulls in the following Subzero changes:

8fbddc6: (Srdjan.Obucina@imgtec.com) Subzero, MIPS32: Randomly insert NOP
3e37647: (capn@google.com) Abstract the ELFStreamer class.
40fc819: (Srdjan.Obucina@imgtec.com) Subzero, MIPS32: nacl-other-intrinsics-mips merged to original file
132ea7a: (Srdjan.Obucina@imgtec.com) Subzero, MIPS32: Floating point support in ELF output
41ce47c: (capn@google.com) Allow 64-bit code to be stored as ELF64.
464df5b: (capn@google.com) Implement Microsoft x86-64 calling convention support.
cc6dea7: (jaydeep.patil@imgtec.com) [SubZero] Use DIV instruction instead of TargetHelperCall
3b61d70: (Srdjan.Obucina@imgtec.com) Subzero, MIPS32: lowerUnreachable
cf9c12f: (jaydeep.patil@imgtec.com) [SubZero] lower float and double constants for MIPS
8d16c1d: (Srdjan.Obucina@imgtec.com) Subzero, MIPS32: Encoding of FP comparison instructions
0465d02: (Srdjan.Obucina@imgtec.com) Subzero, MIPS32: Intrinsic call Trap
d895447: (jaydeep.patil@imgtec.com) [SubZero] Fix floating-point comparison for MIPS
f5d8e09: (Srdjan.Obucina@imgtec.com) Subzero, MIPS32: Remove duplicate functionalities
cadda79: (Srdjan.Obucina@imgtec.com) Subzero, MIPS32: Instruction NOR, pseudoinstruction NOT
d27ce3d: (Srdjan.Obucina@imgtec.com) Subzero, MIPS32: Intrinsic call Ctlz for i32
6ee373f: (Srdjan.Obucina@imgtec.com) Subzero, MIPS32: Fix floating point comparison crosstest
0a7f99d: (Srdjan.Obucina@imgtec.com) Subzero, MIPS32: Intrinsic call Cttz for i32
86b60ef: (sagar.thakur@imgtec.com) [Subzero][MIPS32] Implements 64-bit shl, lshr, ashr for MIPS
98405d3: (Srdjan.Obucina@imgtec.com) Subzero, MIPS32: lowerSelect for i64
623f8ce: (Srdjan.Obucina@imgtec.com) Subzero, MIPS32: Cross-testing enabled for MIPS32
4c49b10: (Srdjan.Obucina@imgtec.com) Subzero, MIPS32: Filling missing bits from genTargetHelperCallFor
58eeedf: (jaydeep.patil@imgtec.com) Subzero, MIPS32: Binding intrablock labels, unconditional branch
6fd9c0e: (Srdjan.Obucina@imgtec.com) Subzero, MIPS32: Intrinsic calls Ctlz and Cttz for i64
175cb13: (Srdjan.Obucina@imgtec.com) Subzero, MIPS32: Intrinsic call Bswap for i16, i32 and i64
6163c62: (Srdjan.Obucina@imgtec.com) Subzero, MIPS32: DIVU instruction encoding
b0f09fc: (Srdjan.Obucina@imgtec.com) Subzero, MIPS32: MOVZ instruction encoding
70b6ed4: (sagar.thakur@imgtec.com) [Subzero][MIPS] Implement 64-bit integer compare operations
fe93fdd: (Srdjan.Obucina@imgtec.com) Subzero, MIPS32: SRAV instruction encoding
f53580b: (capn@google.com) Don't emit address size prefixes for native x86-64 ABI.
269eed4: (sagar.thakur@imgtec.com) [Subzero][MIPS] Add RUN command line with -Om1 in test 64bit.pnacl.ll
9309756: (sagar.thakur@imgtec.com) [Subzero][MIPS] Implement conditional branches with 64-bit integer compares
958ddb7: (jaydeep.patil@imgtec.com) [SubZero] Vector types support for MIPS
033dda7: (stichnot@chromium.org) Subzero: Remove --skip-unimplemented from ARM lit tests.
afe5fe2: (makdstefan@gmail.com) Subzero, MIPS32: Fix conditional mov instructions
533a514: (stichnot@chromium.org) Subzero: Fix "make -f Makefile.standalone check-lit FORCEASM=1".
acfb3df: (capn@google.com) Implement intrinsics for loading/storing subvectors.
71c6937: (capn@google.com) Optimize lowering of x86 byte and word vector unpack.
b093539: (capn@google.com) Optimize x86 vector shift by constant.
46f4fea: (capn@google.com) Support running unit tests on Windows.
b001cc4: (sagar.thakur@imgtec.com) [Subzero][MIPS32] Implement bitcast operation for both 32-bit and 64-bit operands

BUG=  swiftshader:15 
BUG=  swiftshader:7 
BUG=  swiftshader:9 
TEST= PNaCl toolchain trybots
R=dschuff@chromium.org

Review URL: https://codereview.chromium.org/2408293003 .

[modify] https://crrev.com/a123a8b25857b7402198308a6b42a5172dac30c1/pnacl/COMPONENT_REVISIONS

Comment 10 by bugdroid1@chromium.org, Oct 17 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/native_client/pnacl-subzero/+/f52cea4bb987e8c43a881f243dbb8f41f31797d5

commit f52cea4bb987e8c43a881f243dbb8f41f31797d5
Author: Nicolas Capens <capn@google.com>
Date: Fri Oct 14 20:29:11 2016

Fix unpacking from a single vector.

Both vector arguments were being used in a punpckl instruction, while
the shuffle mask repeats elements from just the first vector.

BUG= swiftshader:15 

Change-Id: I8e29c252ee4957692c4949e724ae67253b423e89
Reviewed-on: https://chromium-review.googlesource.com/399419
Reviewed-by: Jim Stichnoth <stichnot@chromium.org>
Tested-by: Nicolas Capens <nicolascapens@google.com>

[modify] https://crrev.com/f52cea4bb987e8c43a881f243dbb8f41f31797d5/src/IceTargetLoweringX86BaseImpl.h

Comment 11 by bugdroid1@chromium.org, Oct 17 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/native_client/pnacl-subzero/+/7638e275845ae4e6e2087198dde9b969d5a7f0d2

commit 7638e275845ae4e6e2087198dde9b969d5a7f0d2
Author: Nicolas Capens <capn@google.com>
Date: Thu Oct 06 15:33:55 2016

Add x86 vector packing instructions.

BUG= swiftshader:15 

Change-Id: I0d40fab6287130143693e8e4752859b7142a503d
Reviewed-on: https://chromium-review.googlesource.com/394007
Tested-by: Nicolas Capens <nicolascapens@google.com>
Reviewed-by: Jim Stichnoth <stichnot@chromium.org>

[modify] https://crrev.com/7638e275845ae4e6e2087198dde9b969d5a7f0d2/src/IceAssemblerX86BaseImpl.h
[modify] https://crrev.com/7638e275845ae4e6e2087198dde9b969d5a7f0d2/src/IceInstX86BaseImpl.h
[modify] https://crrev.com/7638e275845ae4e6e2087198dde9b969d5a7f0d2/src/IceTargetLoweringX8632Traits.h
[modify] https://crrev.com/7638e275845ae4e6e2087198dde9b969d5a7f0d2/src/IceTargetLoweringX8664Traits.h
[modify] https://crrev.com/7638e275845ae4e6e2087198dde9b969d5a7f0d2/src/IceInstX8632.def
[modify] https://crrev.com/7638e275845ae4e6e2087198dde9b969d5a7f0d2/src/IceTargetLoweringX86Base.h
[modify] https://crrev.com/7638e275845ae4e6e2087198dde9b969d5a7f0d2/src/IceAssemblerX86Base.h
[modify] https://crrev.com/7638e275845ae4e6e2087198dde9b969d5a7f0d2/src/IceInstX8664.cpp
[modify] https://crrev.com/7638e275845ae4e6e2087198dde9b969d5a7f0d2/src/IceInstX8664.def
[modify] https://crrev.com/7638e275845ae4e6e2087198dde9b969d5a7f0d2/src/IceTargetLoweringX8664.cpp
[modify] https://crrev.com/7638e275845ae4e6e2087198dde9b969d5a7f0d2/unittest/AssemblerX8632/XmmArith.cpp
[modify] https://crrev.com/7638e275845ae4e6e2087198dde9b969d5a7f0d2/src/IceTargetLoweringX8632.cpp
[modify] https://crrev.com/7638e275845ae4e6e2087198dde9b969d5a7f0d2/unittest/AssemblerX8664/XmmArith.cpp
[modify] https://crrev.com/7638e275845ae4e6e2087198dde9b969d5a7f0d2/src/IceInstX86Base.h
[modify] https://crrev.com/7638e275845ae4e6e2087198dde9b969d5a7f0d2/src/IceInstX8632.cpp

Comment 13 by bugdroid1@chromium.org, Oct 20 2016

Comment 15 by bugdroid1@chromium.org, Oct 20 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/native_client/pnacl-subzero/+/6cf6bf66f4625742a26b69e0f74a8250cd2dff06

commit 6cf6bf66f4625742a26b69e0f74a8250cd2dff06
Author: Nicolas Capens <capn@google.com>
Date: Mon Oct 17 21:42:29 2016

Implement bitcast between i32 and (emulated) v4i8.

BUG= swiftshader:15 

Change-Id: Ic795def8a914508ab0d850c846b73b343ace45de

[modify] https://crrev.com/6cf6bf66f4625742a26b69e0f74a8250cd2dff06/src/IceTargetLoweringX86BaseImpl.h

Comment 16 by bugdroid1@chromium.org, Oct 21 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/native_client/pnacl-subzero/+/c9e91afc85fe6d682edd75ce9e7a1d924721651d

commit c9e91afc85fe6d682edd75ce9e7a1d924721651d
Author: Nicolas Capens <capn@google.com>
Date: Wed Oct 19 18:19:41 2016

Remove verified asserts.

BUG= swiftshader:15 

Change-Id: I3c3314f3787d42835a9483c7b797dc1dbdc0b76a
Reviewed-on: https://chromium-review.googlesource.com/400663
Tested-by: Nicolas Capens <nicolascapens@google.com>
Reviewed-by: Jim Stichnoth <stichnot@chromium.org>

[modify] https://crrev.com/c9e91afc85fe6d682edd75ce9e7a1d924721651d/src/IceTargetLoweringX86BaseImpl.h

Comment 17 by bugdroid1@chromium.org, Oct 26 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/native_client/pnacl-subzero/+/a3688eaffa0b11e21b7dc48bbba514fc3f999198

commit a3688eaffa0b11e21b7dc48bbba514fc3f999198
Author: Nicolas Capens <capn@google.com>
Date: Wed Oct 26 02:23:07 2016

Fix two-vector unpack case.

 Bug swiftshader:15 

Change-Id: I351268b44491091c271d6c7c5b644cd21ffb623b
Reviewed-on: https://chromium-review.googlesource.com/403409
Reviewed-by: Jim Stichnoth <stichnot@chromium.org>
Tested-by: Nicolas Capens <nicolascapens@google.com>

[modify] https://crrev.com/a3688eaffa0b11e21b7dc48bbba514fc3f999198/src/IceTargetLoweringX86BaseImpl.h

Comment 18 by bugdroid1@chromium.org, Nov 1 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/native_client/pnacl-subzero/+/956cfd60e8ee9efcc374cd19513bbf35a20e52ee

commit 956cfd60e8ee9efcc374cd19513bbf35a20e52ee
Author: Nicolas Capens <capn@google.com>
Date: Mon Oct 31 18:28:09 2016

Generalize the Sqrt intrinsic to process vectors.

BUG= swiftshader:15 

Change-Id: Ib89d628c85696c20a249b8810cd357a292d10402
Reviewed-on: https://chromium-review.googlesource.com/405293
Reviewed-by: Jim Stichnoth <stichnot@chromium.org>
Tested-by: Nicolas Capens <nicolascapens@google.com>

[modify] https://crrev.com/956cfd60e8ee9efcc374cd19513bbf35a20e52ee/src/IceAssemblerX86BaseImpl.h
[modify] https://crrev.com/956cfd60e8ee9efcc374cd19513bbf35a20e52ee/src/IceTargetLoweringX86BaseImpl.h
[modify] https://crrev.com/956cfd60e8ee9efcc374cd19513bbf35a20e52ee/src/IceTargetLoweringX8632Traits.h
[modify] https://crrev.com/956cfd60e8ee9efcc374cd19513bbf35a20e52ee/src/IceTargetLoweringX86Base.h
[modify] https://crrev.com/956cfd60e8ee9efcc374cd19513bbf35a20e52ee/src/IceAssemblerX86Base.h
[modify] https://crrev.com/956cfd60e8ee9efcc374cd19513bbf35a20e52ee/src/IceInstX86BaseImpl.h
[modify] https://crrev.com/956cfd60e8ee9efcc374cd19513bbf35a20e52ee/src/IceTargetLoweringMIPS32.cpp
[modify] https://crrev.com/956cfd60e8ee9efcc374cd19513bbf35a20e52ee/unittest/AssemblerX8664/XmmArith.cpp
[modify] https://crrev.com/956cfd60e8ee9efcc374cd19513bbf35a20e52ee/unittest/AssemblerX8632/XmmArith.cpp
[modify] https://crrev.com/956cfd60e8ee9efcc374cd19513bbf35a20e52ee/src/IceInstX86Base.h
[modify] https://crrev.com/956cfd60e8ee9efcc374cd19513bbf35a20e52ee/src/IceTargetLoweringARM32.cpp

Comment 22 by bugdroid1@chromium.org, Nov 24 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/native_client/pnacl-subzero/+/ef18fc51dd5c1b2640c291a363cf1e4712142eaa

commit ef18fc51dd5c1b2640c291a363cf1e4712142eaa
Author: Nicolas Capens <capn@google.com>
Date: Thu Nov 24 14:54:12 2016

Match sub-vector load/store operand order to regular load/store.

BUG= swiftshader:15 

Change-Id: If608ab4903d97daa0ad342d02f496ac3fa6471d9
Reviewed-on: https://chromium-review.googlesource.com/414389
Reviewed-by: Jim Stichnoth <stichnot@chromium.org>

[modify] https://crrev.com/ef18fc51dd5c1b2640c291a363cf1e4712142eaa/src/IceTargetLoweringX86BaseImpl.h

Comment 23 by bugdroid1@chromium.org, Nov 30 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/native_client/pnacl-subzero/+/a29da906bf910a32de3a81ef43d6ec43f138f2ab

commit a29da906bf910a32de3a81ef43d6ec43f138f2ab
Author: Nicolas Capens <capn@google.com>
Date: Wed Nov 30 15:39:01 2016

Ensure that the sub-vector load destination is a register.

BUG= swiftshader:15 

Change-Id: I7e10342fa1ef9bce22bc8c445240fc34a68e8f47
Reviewed-on: https://chromium-review.googlesource.com/414992
Reviewed-by: Jim Stichnoth <stichnot@chromium.org>

[modify] https://crrev.com/a29da906bf910a32de3a81ef43d6ec43f138f2ab/src/IceTargetLoweringX86BaseImpl.h

Comment 26 by bugdroid1@chromium.org, Dec 1 2016

The following revision refers to this bug:
  https://swiftshader.googlesource.com/SwiftShader.git/+/363b61e7244c6912b1beafd228901a0fd860e8da

commit 363b61e7244c6912b1beafd228901a0fd860e8da
Author: Nicolas Capens <capn@google.com>
Date: Fri Oct 21 17:19:34 2016

Add Float4 swizzle tests.

 Bug swiftshader:15 

Change-Id: Id270f2f965a5a7154fa4dc83bd1edcd72cf2ff15
Reviewed-on: https://swiftshader-review.googlesource.com/7770
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-on: https://swiftshader-review.googlesource.com/8139
Reviewed-by: Alexis Hétu <sugoi@google.com>

[modify] https://crrev.com/363b61e7244c6912b1beafd228901a0fd860e8da/src/Reactor/Main.cpp

Comment 27 by bugdroid1@chromium.org, Dec 1 2016

The following revision refers to this bug:
  https://swiftshader.googlesource.com/SwiftShader.git/+/37fbecee519c3fc4502f48f42cced9797c85361f

commit 37fbecee519c3fc4502f48f42cced9797c85361f
Author: Nicolas Capens <capn@google.com>
Date: Fri Oct 21 19:08:56 2016

Implement several vector shuffle operations.

 Bug swiftshader:15 

Change-Id: I3f670be22415433a0582b3335fb48040e5a171c3
Reviewed-on: https://swiftshader-review.googlesource.com/7790
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-on: https://swiftshader-review.googlesource.com/8141
Reviewed-by: Alexis Hétu <sugoi@google.com>

[modify] https://crrev.com/37fbecee519c3fc4502f48f42cced9797c85361f/src/Reactor/SubzeroReactor.cpp
[modify] https://crrev.com/37fbecee519c3fc4502f48f42cced9797c85361f/third_party/pnacl-subzero

Comment 28 by bugdroid1@chromium.org, Dec 1 2016

The following revision refers to this bug:
  https://swiftshader.googlesource.com/SwiftShader.git/+/327f1df9dddf9e30b511cff311b8aa5eef0b0bb9

commit 327f1df9dddf9e30b511cff311b8aa5eef0b0bb9
Author: Nicolas Capens <capn@google.com>
Date: Fri Oct 21 18:26:34 2016

Implement vector shift by constant.

 Bug swiftshader:15 

Change-Id: Ief486cf0fe140a5b345f9a40c19c6e293d5798a4
Reviewed-on: https://swiftshader-review.googlesource.com/7772
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-on: https://swiftshader-review.googlesource.com/8145
Reviewed-by: Alexis Hétu <sugoi@google.com>

[modify] https://crrev.com/327f1df9dddf9e30b511cff311b8aa5eef0b0bb9/src/Reactor/SubzeroReactor.cpp

Comment 29 by bugdroid1@chromium.org, Dec 1 2016

The following revision refers to this bug:
  https://swiftshader.googlesource.com/SwiftShader.git/+/c4c431d6f52859c2e20e42cc08ac51e060261a63

commit c4c431d6f52859c2e20e42cc08ac51e060261a63
Author: Nicolas Capens <capn@google.com>
Date: Fri Oct 21 19:30:29 2016

Implement arithmetic and logical operations.

 Bug swiftshader:15 

Change-Id: I27f7c2b9d87841a1eae0d9bc92fbe79b28c65982
Reviewed-on: https://swiftshader-review.googlesource.com/7773
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-on: https://swiftshader-review.googlesource.com/8146
Reviewed-by: Alexis Hétu <sugoi@google.com>

[modify] https://crrev.com/c4c431d6f52859c2e20e42cc08ac51e060261a63/src/Reactor/SubzeroReactor.cpp

Comment 30 by bugdroid1@chromium.org, Dec 1 2016

The following revision refers to this bug:
  https://swiftshader.googlesource.com/SwiftShader.git/+/f2cb9dff9c71cff304d98f0df7ffe6bebd6bc2bb

commit f2cb9dff9c71cff304d98f0df7ffe6bebd6bc2bb
Author: Nicolas Capens <capn@google.com>
Date: Fri Oct 21 21:26:13 2016

Implement vector sign mask operations.

 Bug swiftshader:15 

Change-Id: I0d9cb2daeea931994abeb63f0939879875d4e81f
Reviewed-on: https://swiftshader-review.googlesource.com/7791
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-on: https://swiftshader-review.googlesource.com/8148
Reviewed-by: Alexis Hétu <sugoi@google.com>

[modify] https://crrev.com/f2cb9dff9c71cff304d98f0df7ffe6bebd6bc2bb/src/Reactor/SubzeroReactor.cpp

Comment 32 by bugdroid1@chromium.org, Dec 1 2016

The following revision refers to this bug:
  https://swiftshader.googlesource.com/SwiftShader.git/+/ec54a17ecc46a5b032ea620a0c455d1cbc3eb1bb

commit ec54a17ecc46a5b032ea620a0c455d1cbc3eb1bb
Author: Nicolas Capens <capn@google.com>
Date: Tue Oct 25 21:32:37 2016

Implement vector packing.

 Bug swiftshader:15 

Change-Id: I3b20ba10e71c7813c35b16ae6c7382bfe4e0ae00
Reviewed-on: https://swiftshader-review.googlesource.com/7851
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-on: https://swiftshader-review.googlesource.com/8150
Reviewed-by: Alexis Hétu <sugoi@google.com>

[modify] https://crrev.com/ec54a17ecc46a5b032ea620a0c455d1cbc3eb1bb/src/Reactor/SubzeroReactor.cpp

Comment 33 by bugdroid1@chromium.org, Dec 1 2016

Comment 34 by bugdroid1@chromium.org, Dec 1 2016

The following revision refers to this bug:
  https://swiftshader.googlesource.com/SwiftShader.git/+/1cb82a31c5c857f380effc0ff984dbad8e9d83a9

commit 1cb82a31c5c857f380effc0ff984dbad8e9d83a9
Author: Nicolas Capens <capn@google.com>
Date: Thu Oct 27 03:38:41 2016

Fix packing of 64-bit vectors.

 Bug swiftshader:15 

Change-Id: I5177113ad50ff2e1aa99f772d9254f7894ce5a61
Reviewed-on: https://swiftshader-review.googlesource.com/7870
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-on: https://swiftshader-review.googlesource.com/8152
Reviewed-by: Alexis Hétu <sugoi@google.com>

[modify] https://crrev.com/1cb82a31c5c857f380effc0ff984dbad8e9d83a9/src/Reactor/SubzeroReactor.cpp

Comment 35 by bugdroid1@chromium.org, Dec 1 2016

The following revision refers to this bug:
  https://swiftshader.googlesource.com/SwiftShader.git/+/d52e936b2b4c8b7d646f54d47489bebe0389b4e9

commit d52e936b2b4c8b7d646f54d47489bebe0389b4e9
Author: Nicolas Capens <capn@google.com>
Date: Tue Nov 01 03:23:15 2016

Implement square root and reciprocal.

 Bug swiftshader:15 

Change-Id: If9336a87f90269a295fcd3b3bff2fd6899c773e4
Reviewed-on: https://swiftshader-review.googlesource.com/7910
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-on: https://swiftshader-review.googlesource.com/8154
Reviewed-by: Alexis Hétu <sugoi@google.com>

[modify] https://crrev.com/d52e936b2b4c8b7d646f54d47489bebe0389b4e9/src/Reactor/SubzeroReactor.cpp
[modify] https://crrev.com/d52e936b2b4c8b7d646f54d47489bebe0389b4e9/third_party/pnacl-subzero

Comment 36 by bugdroid1@chromium.org, Dec 1 2016

The following revision refers to this bug:
  https://swiftshader.googlesource.com/SwiftShader.git/+/48ef1252cf2743b433b5f97ae748f6e22ddb66d1

commit 48ef1252cf2743b433b5f97ae748f6e22ddb66d1
Author: Nicolas Capens <capn@google.com>
Date: Mon Nov 07 20:30:33 2016

Don't use Long1 for stencil operations.

 Bug swiftshader:15 

Change-Id: I4fa5356109e35ac13f9f8d5a97e9059262901051
Reviewed-on: https://swiftshader-review.googlesource.com/7950
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-on: https://swiftshader-review.googlesource.com/8156
Reviewed-by: Alexis Hétu <sugoi@google.com>

[modify] https://crrev.com/48ef1252cf2743b433b5f97ae748f6e22ddb66d1/src/Renderer/Surface.cpp
[modify] https://crrev.com/48ef1252cf2743b433b5f97ae748f6e22ddb66d1/src/Shader/PixelRoutine.cpp

Comment 37 by bugdroid1@chromium.org, Dec 1 2016

The following revision refers to this bug:
  https://swiftshader.googlesource.com/SwiftShader.git/+/a8086514024d968e68c9eb82a52baac794881e59

commit a8086514024d968e68c9eb82a52baac794881e59
Author: Nicolas Capens <capn@google.com>
Date: Mon Nov 07 22:32:17 2016

Implement floating-point rounding intrinsics.

 Bug swiftshader:15 

Change-Id: I27fe7bd2f0deaf19fab2f4565574ad084c49cddb
Reviewed-on: https://swiftshader-review.googlesource.com/7954
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-on: https://swiftshader-review.googlesource.com/8159
Reviewed-by: Alexis Hétu <sugoi@google.com>

[modify] https://crrev.com/a8086514024d968e68c9eb82a52baac794881e59/src/Reactor/SubzeroReactor.cpp
[modify] https://crrev.com/a8086514024d968e68c9eb82a52baac794881e59/third_party/pnacl-subzero

Comment 38 by bugdroid1@chromium.org, Dec 1 2016

The following revision refers to this bug:
  https://swiftshader.googlesource.com/SwiftShader.git/+/c71bed2d8c33e694d0c468618df971b1763479b0

commit c71bed2d8c33e694d0c468618df971b1763479b0
Author: Nicolas Capens <capn@google.com>
Date: Tue Nov 08 03:25:14 2016

Implement vector intrinsics.

 Bug swiftshader:15 

Change-Id: I1391f656bce9b5cb09c4034df977ae4757e58843
Reviewed-on: https://swiftshader-review.googlesource.com/7955
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-on: https://swiftshader-review.googlesource.com/8160
Reviewed-by: Alexis Hétu <sugoi@google.com>

[modify] https://crrev.com/c71bed2d8c33e694d0c468618df971b1763479b0/src/Reactor/SubzeroReactor.cpp

Comment 39 by bugdroid1@chromium.org, Dec 1 2016

The following revision refers to this bug:
  https://swiftshader.googlesource.com/SwiftShader.git/+/2f970b66add8414b15e6097a423ecc30181e66fa

commit 2f970b66add8414b15e6097a423ecc30181e66fa
Author: Nicolas Capens <capn@google.com>
Date: Tue Nov 08 19:28:59 2016

Implement remaining vector compare operations.

 Bug swiftshader:15 

Change-Id: I69184dcb70f4a4082a25420a0dade7bc87a8027e
Reviewed-on: https://swiftshader-review.googlesource.com/7957
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-on: https://swiftshader-review.googlesource.com/8162
Reviewed-by: Alexis Hétu <sugoi@google.com>

[modify] https://crrev.com/2f970b66add8414b15e6097a423ecc30181e66fa/src/Reactor/SubzeroReactor.cpp

Comment 41 by bugdroid1@chromium.org, Dec 1 2016

The following revision refers to this bug:
  https://swiftshader.googlesource.com/SwiftShader.git/+/a4c30b054c6a5359483e2fcc9d4d5ed658831a45

commit a4c30b054c6a5359483e2fcc9d4d5ed658831a45
Author: Nicolas Capens <capn@google.com>
Date: Tue Nov 08 20:43:17 2016

Implement vector masking.

 Bug swiftshader:15 

Change-Id: I6975f7a61ee232630b82e7844b8bc65088564827
Reviewed-on: https://swiftshader-review.googlesource.com/7959
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-on: https://swiftshader-review.googlesource.com/8164
Reviewed-by: Alexis Hétu <sugoi@google.com>

[modify] https://crrev.com/a4c30b054c6a5359483e2fcc9d4d5ed658831a45/src/Reactor/SubzeroReactor.cpp

Comment 42 by bugdroid1@chromium.org, Dec 1 2016

The following revision refers to this bug:
  https://swiftshader.googlesource.com/SwiftShader.git/+/8427224b0b9fb16613594714afbdd59877914ff1

commit 8427224b0b9fb16613594714afbdd59877914ff1
Author: Nicolas Capens <capn@google.com>
Date: Wed Nov 09 18:31:06 2016

Implement vector absolute value.

 Bug swiftshader:15 

Change-Id: Ib22831ce669c68a790664839d18ea05668e90992
Reviewed-on: https://swiftshader-review.googlesource.com/7971
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-on: https://swiftshader-review.googlesource.com/8166
Reviewed-by: Alexis Hétu <sugoi@google.com>

[modify] https://crrev.com/8427224b0b9fb16613594714afbdd59877914ff1/src/Reactor/SubzeroReactor.cpp

Comment 43 by bugdroid1@chromium.org, Dec 1 2016

The following revision refers to this bug:
  https://swiftshader.googlesource.com/SwiftShader.git/+/d422796784e4af7026085c2f0e0f9cd92c677b35

commit d422796784e4af7026085c2f0e0f9cd92c677b35
Author: Nicolas Capens <capn@google.com>
Date: Wed Nov 09 19:24:25 2016

Implement vector casts.

 Bug swiftshader:15 

Change-Id: Ie20d881be8710d2c8e8e996ae670f7f40481f13c
Reviewed-on: https://swiftshader-review.googlesource.com/7990
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-on: https://swiftshader-review.googlesource.com/8167
Reviewed-by: Alexis Hétu <sugoi@google.com>

[modify] https://crrev.com/d422796784e4af7026085c2f0e0f9cd92c677b35/src/Reactor/SubzeroReactor.cpp

Comment 44 by bugdroid1@chromium.org, Dec 6 2016

The following revision refers to this bug:
  https://swiftshader.googlesource.com/SwiftShader.git/+/c70a116d0f18f98a755e7f2d19e643ebcef5f79b

commit c70a116d0f18f98a755e7f2d19e643ebcef5f79b
Author: Nicolas Capens <capn@google.com>
Date: Sat Dec 03 05:16:14 2016

Implement missing vector operations.

 Bug swiftshader:15 

Change-Id: I2116fa6ad368c801e921becd89259b02b4ca68ce
Reviewed-on: https://swiftshader-review.googlesource.com/8251
Reviewed-by: Nicolas Capens <capn@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Tested-by: Nicolas Capens <capn@google.com>

[modify] https://crrev.com/c70a116d0f18f98a755e7f2d19e643ebcef5f79b/src/Reactor/Main.cpp
[modify] https://crrev.com/c70a116d0f18f98a755e7f2d19e643ebcef5f79b/src/Reactor/SubzeroReactor.cpp

Comment 45 by bugdroid1@chromium.org, Jan 4 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/native_client/src/native_client.git/+/01d3ae00d277726b8aaee572120a5ba2a31d511e

commit 01d3ae00d277726b8aaee572120a5ba2a31d511e
Author: Jim Stichnoth <stichnot@chromium.org>
Date: Wed Jan 04 07:04:41 2017

PNaCl: Update subzero revision in pnacl/COMPONENT_REVISIONS

This pulls in the following Subzero changes:

ec92917: (jaydeep.patil@imgtec.com) [SubZero] Legalize load, store for MIPS post lower
4683237: (sagar.thakur@imgtec.com) [Subzero][MIPS32] Fix alloca alignment and offset for Om1 and O2 optimization
45e4d5e: (jaydeep.patil@imgtec.com) [SubZero] Handle relocatable constants for MIPS
3a01f33: (jaydeep.patil@imgtec.com) [SubZero] Implement Fcmp, ICmp, Cast and Select for vector type
f52cea4: (capn@google.com) Fix unpacking from a single vector.
7638e27: (capn@google.com) Add x86 vector packing instructions.
0e90622: (capn@google.com) Generate error on unexpected intrisics.
89be887: (sagar.thakur@imgtec.com) [Subzero][MIPS32] Account for variable alloca alignment bytes in addProlog
1448d95: (capn@google.com) Optimize shuffles corresponding to x86 punpckh instructions.
7145e69: (stichnot@chromium.org) Subzero: Fix compiler warnings.
32f9cce: (capn@google.com) Fix 64-bit pointer type for non-x32 ABIs.
ef8210d: (capn@google.com) Implement vector packing intrinsics.
8b8af82: (capn@google.com) Implement bitcast between i32 and (emulated) v4i8.
e3cabda: (capn@google.com) Implement vector sign mask intrinsic.
d0e3030: (capn@google.com) Assert that PNaCl bitcode only uses 128-bit vector casts.
c9e91af: (capn@google.com) Remove verified asserts.
61593fb: (capn@google.com) Fix unit tests.
a3688ea: (capn@google.com) Fix two-vector unpack case.
a7979bf: (jaydeep.patil@imgtec.com) [SubZero] Fix f64 to/from i64 moves
0dabe18: (makdstefan@gmail.com) Subzero, MIPS32: Remove --skip-unimplemented from lit tests
130aca7: (jaydeep.patil@imgtec.com) [SubZero] Generate relocations for MIPS
73ae4fd: (capn@google.com) Preserve rsi and rdi when using Microsoft x86-64 calling convention.
7ad028e: (makdstefan@gmail.com) This patch enables running a couple more of lit tests for MIPS32
956cfd6: (capn@google.com) Generalize the Sqrt intrinsic to process vectors.
13cde0f: (capn@google.com) Implement integer vector multiply intrinsics.
67a49b5: (capn@google.com) Implement saturated vector add/subtract.
0c4c07d: (jaydeep.patil@imgtec.com) [SubZero] Fix code generation for vector type
f8c9977: (makdstefan@gmail.com) Subzero, MIPS32: Stacksave/Stackrestore implementation
f0d12c3: (capn@google.com) Implement floating-point rounding intrinsic.
3da9f65: (jaydeep.patil@imgtec.com) [SubZero] Generate MIPS.abiflags section
21f78bb: (jaydeep.patil@imgtec.com) [SubZero] Utilize instructions with immediate operands
83425de: (capn@google.com) Support 64-bit jump tables with LP64 data model.
6e03343: (makdstefan@gmail.com) Subzero, MIPS32: Sandbox initial patch
becb85f: (sagar.thakur@imgtec.com) [Subzero][MIPS] Implements atomic intrinsics for MIPS32
8208e75: (makdstefan@gmail.com) Subzero, MIPS32: Changes for improving sandbox crosstest results
2220990: (capn@google.com) Fix offset adjustment in x86 address optimization.
ef18fc5: (capn@google.com) Match sub-vector load/store operand order to regular load/store.
8be6975: (jaydeep.patil@imgtec.com) [SubZero] Fix size of arguments on stack
e1e1783: (capn@google.com) Fix skipping deleted instructions before replacing operands.
a29da90: (capn@google.com) Ensure that the sub-vector load destination is a register.
579b1b3: (capn@google.com) Generalize vector shuffling to accept any operand.
373913f: (stichnot@chromium.org) Subzero: Legalize the movzx argument.
35bbca3: (stichnot@chromium.org) Subzero: Fix multiply defined symbols in Windows/g++ build.

BUG=  swiftshader:24 
BUG=  swiftshader:9 
BUG=  swiftshader:22 
BUG= https://bugs.chromium.org/p/nativeclient/issues/detail?id=4384
BUG=  swiftshader:15 
TEST= PNaCl toolchain trybots
R=dschuff@chromium.org

Review-Url: https://codereview.chromium.org/2602613002 .

[modify] https://crrev.com/01d3ae00d277726b8aaee572120a5ba2a31d511e/pnacl/COMPONENT_REVISIONS

Comment 46 by bugdroid1@chromium.org, Jan 9 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/native_client/src/native_client.git/+/026b76327c0c443fcf98064e315ca398c4b544d1

commit 026b76327c0c443fcf98064e315ca398c4b544d1
Author: Jim Stichnoth <stichnot@chromium.org>
Date: Mon Jan 09 22:42:11 2017

Update revision for PNaCl

Update f7d719122cd7c2fe3ebc52e7c0b011c583bf3e9c -> 5dfe030a71ca66e72c5719ef5034c2ed24706c43

Pull the following PNaCl changes into NaCl:
  a123a8b: (stichnot@chromium.org) PNaCl: Update subzero revision in pnacl/COMPONENT_REVISIONS
    | 8fbddc6: (Srdjan.Obucina@imgtec.com) Subzero, MIPS32: Randomly insert NOP
    | 3e37647: (capn@google.com) Abstract the ELFStreamer class.
    | 40fc819: (Srdjan.Obucina@imgtec.com) Subzero, MIPS32: nacl-other-intrinsics-mips merged to original file
    | 132ea7a: (Srdjan.Obucina@imgtec.com) Subzero, MIPS32: Floating point support in ELF output
    | 41ce47c: (capn@google.com) Allow 64-bit code to be stored as ELF64.
    | 464df5b: (capn@google.com) Implement Microsoft x86-64 calling convention support.
    | cc6dea7: (jaydeep.patil@imgtec.com) [SubZero] Use DIV instruction instead of TargetHelperCall
    | 3b61d70: (Srdjan.Obucina@imgtec.com) Subzero, MIPS32: lowerUnreachable
    | cf9c12f: (jaydeep.patil@imgtec.com) [SubZero] lower float and double constants for MIPS
    | 8d16c1d: (Srdjan.Obucina@imgtec.com) Subzero, MIPS32: Encoding of FP comparison instructions
    | 0465d02: (Srdjan.Obucina@imgtec.com) Subzero, MIPS32: Intrinsic call Trap
    | d895447: (jaydeep.patil@imgtec.com) [SubZero] Fix floating-point comparison for MIPS
    | f5d8e09: (Srdjan.Obucina@imgtec.com) Subzero, MIPS32: Remove duplicate functionalities
    | cadda79: (Srdjan.Obucina@imgtec.com) Subzero, MIPS32: Instruction NOR, pseudoinstruction NOT
    | d27ce3d: (Srdjan.Obucina@imgtec.com) Subzero, MIPS32: Intrinsic call Ctlz for i32
    | 6ee373f: (Srdjan.Obucina@imgtec.com) Subzero, MIPS32: Fix floating point comparison crosstest
    | 0a7f99d: (Srdjan.Obucina@imgtec.com) Subzero, MIPS32: Intrinsic call Cttz for i32
    | 86b60ef: (sagar.thakur@imgtec.com) [Subzero][MIPS32] Implements 64-bit shl, lshr, ashr for MIPS
    | 98405d3: (Srdjan.Obucina@imgtec.com) Subzero, MIPS32: lowerSelect for i64
    | 623f8ce: (Srdjan.Obucina@imgtec.com) Subzero, MIPS32: Cross-testing enabled for MIPS32
    | 4c49b10: (Srdjan.Obucina@imgtec.com) Subzero, MIPS32: Filling missing bits from genTargetHelperCallFor
    | 58eeedf: (jaydeep.patil@imgtec.com) Subzero, MIPS32: Binding intrablock labels, unconditional branch
    | 6fd9c0e: (Srdjan.Obucina@imgtec.com) Subzero, MIPS32: Intrinsic calls Ctlz and Cttz for i64
    | 175cb13: (Srdjan.Obucina@imgtec.com) Subzero, MIPS32: Intrinsic call Bswap for i16, i32 and i64
    | 6163c62: (Srdjan.Obucina@imgtec.com) Subzero, MIPS32: DIVU instruction encoding
    | b0f09fc: (Srdjan.Obucina@imgtec.com) Subzero, MIPS32: MOVZ instruction encoding
    | 70b6ed4: (sagar.thakur@imgtec.com) [Subzero][MIPS] Implement 64-bit integer compare operations
    | fe93fdd: (Srdjan.Obucina@imgtec.com) Subzero, MIPS32: SRAV instruction encoding
    | f53580b: (capn@google.com) Don't emit address size prefixes for native x86-64 ABI.
    | 269eed4: (sagar.thakur@imgtec.com) [Subzero][MIPS] Add RUN command line with -Om1 in test 64bit.pnacl.ll
    | 9309756: (sagar.thakur@imgtec.com) [Subzero][MIPS] Implement conditional branches with 64-bit integer compares
    | 958ddb7: (jaydeep.patil@imgtec.com) [SubZero] Vector types support for MIPS
    | 033dda7: (stichnot@chromium.org) Subzero: Remove --skip-unimplemented from ARM lit tests.
    | afe5fe2: (makdstefan@gmail.com) Subzero, MIPS32: Fix conditional mov instructions
    | 533a514: (stichnot@chromium.org) Subzero: Fix "make -f Makefile.standalone check-lit FORCEASM=1".
    | acfb3df: (capn@google.com) Implement intrinsics for loading/storing subvectors.
    | 71c6937: (capn@google.com) Optimize lowering of x86 byte and word vector unpack.
    | b093539: (capn@google.com) Optimize x86 vector shift by constant.
    | 46f4fea: (capn@google.com) Support running unit tests on Windows.
    | b001cc4: (sagar.thakur@imgtec.com) [Subzero][MIPS32] Implement bitcast operation for both 32-bit and 64-bit operands
  d564ff3: (petarj@mips.com) PNaCl: Update llvm revision in pnacl/COMPONENT_REVISIONS
    | 5a87509: (kschimpf@google.com) Create one-off tool pnacl-hack-memset
    | 1d79adf: (petar.jovanovic@rt-rk.com) Cherry-pick r237153: [Mips] Return false for isFPCloseToIncomingSP()
    | 7251d5b: (petar.jovanovic@rt-rk.com) Cherry-pick r246309: [mips] Remove incorrect DebugLoc entries from prologue
  cb27d1f: (petarj@mips.com) [MIPS] Remove explicit masks from assembly code
  01d3ae0: (stichnot@chromium.org) PNaCl: Update subzero revision in pnacl/COMPONENT_REVISIONS
    | ec92917: (jaydeep.patil@imgtec.com) [SubZero] Legalize load, store for MIPS post lower
    | 4683237: (sagar.thakur@imgtec.com) [Subzero][MIPS32] Fix alloca alignment and offset for Om1 and O2 optimization
    | 45e4d5e: (jaydeep.patil@imgtec.com) [SubZero] Handle relocatable constants for MIPS
    | 3a01f33: (jaydeep.patil@imgtec.com) [SubZero] Implement Fcmp, ICmp, Cast and Select for vector type
    | f52cea4: (capn@google.com) Fix unpacking from a single vector.
    | 7638e27: (capn@google.com) Add x86 vector packing instructions.
    | 0e90622: (capn@google.com) Generate error on unexpected intrisics.
    | 89be887: (sagar.thakur@imgtec.com) [Subzero][MIPS32] Account for variable alloca alignment bytes in addProlog
    | 1448d95: (capn@google.com) Optimize shuffles corresponding to x86 punpckh instructions.
    | 7145e69: (stichnot@chromium.org) Subzero: Fix compiler warnings.
    | 32f9cce: (capn@google.com) Fix 64-bit pointer type for non-x32 ABIs.
    | ef8210d: (capn@google.com) Implement vector packing intrinsics.
    | 8b8af82: (capn@google.com) Implement bitcast between i32 and (emulated) v4i8.
    | e3cabda: (capn@google.com) Implement vector sign mask intrinsic.
    | d0e3030: (capn@google.com) Assert that PNaCl bitcode only uses 128-bit vector casts.
    | c9e91af: (capn@google.com) Remove verified asserts.
    | 61593fb: (capn@google.com) Fix unit tests.
    | a3688ea: (capn@google.com) Fix two-vector unpack case.
    | a7979bf: (jaydeep.patil@imgtec.com) [SubZero] Fix f64 to/from i64 moves
    | 0dabe18: (makdstefan@gmail.com) Subzero, MIPS32: Remove --skip-unimplemented from lit tests
    | 130aca7: (jaydeep.patil@imgtec.com) [SubZero] Generate relocations for MIPS
    | 73ae4fd: (capn@google.com) Preserve rsi and rdi when using Microsoft x86-64 calling convention.
    | 7ad028e: (makdstefan@gmail.com) This patch enables running a couple more of lit tests for MIPS32
    | 956cfd6: (capn@google.com) Generalize the Sqrt intrinsic to process vectors.
    | 13cde0f: (capn@google.com) Implement integer vector multiply intrinsics.
    | 67a49b5: (capn@google.com) Implement saturated vector add/subtract.
    | 0c4c07d: (jaydeep.patil@imgtec.com) [SubZero] Fix code generation for vector type
    | f8c9977: (makdstefan@gmail.com) Subzero, MIPS32: Stacksave/Stackrestore implementation
    | f0d12c3: (capn@google.com) Implement floating-point rounding intrinsic.
    | 3da9f65: (jaydeep.patil@imgtec.com) [SubZero] Generate MIPS.abiflags section
    | 21f78bb: (jaydeep.patil@imgtec.com) [SubZero] Utilize instructions with immediate operands
    | 83425de: (capn@google.com) Support 64-bit jump tables with LP64 data model.
    | 6e03343: (makdstefan@gmail.com) Subzero, MIPS32: Sandbox initial patch
    | becb85f: (sagar.thakur@imgtec.com) [Subzero][MIPS] Implements atomic intrinsics for MIPS32
    | 8208e75: (makdstefan@gmail.com) Subzero, MIPS32: Changes for improving sandbox crosstest results
    | 2220990: (capn@google.com) Fix offset adjustment in x86 address optimization.
    | ef18fc5: (capn@google.com) Match sub-vector load/store operand order to regular load/store.
    | 8be6975: (jaydeep.patil@imgtec.com) [SubZero] Fix size of arguments on stack
    | e1e1783: (capn@google.com) Fix skipping deleted instructions before replacing operands.
    | a29da90: (capn@google.com) Ensure that the sub-vector load destination is a register.
    | 579b1b3: (capn@google.com) Generalize vector shuffling to accept any operand.
    | 373913f: (stichnot@chromium.org) Subzero: Legalize the movzx argument.
    | 35bbca3: (stichnot@chromium.org) Subzero: Fix multiply defined symbols in Windows/g++ build.
  5dfe030: (stichnot@chromium.org) PNaCl: Update subzero revision in pnacl/COMPONENT_REVISIONS

BUG= <none>
BUG= none
BUG= pnacl-llc aborts on run_vector_extension_test for MIPS
BUG=  swiftshader:15 
BUG=  swiftshader:24 
R=dschuff@chromium.org, petarj@mips.com, stichnot@chromium.org
TEST=git cl try
(Please LGTM this change and tick the "commit" box)

Review-Url: https://codereview.chromium.org/2623603002 .

[modify] https://crrev.com/026b76327c0c443fcf98064e315ca398c4b544d1/toolchain_revisions/pnacl_newlib.json
[modify] https://crrev.com/026b76327c0c443fcf98064e315ca398c4b544d1/toolchain_revisions/pnacl_newlib_raw.json
[modify] https://crrev.com/026b76327c0c443fcf98064e315ca398c4b544d1/toolchain_revisions/pnacl_translator.json

Comment 47 by nicolasc...@google.com, Jan 13 2017

Project Member
Status: Fixed (was: Started)

Comment 50 by bugdroid1@chromium.org, May 3 2017

The following revision refers to this bug:
  https://swiftshader.googlesource.com/SwiftShader.git/+/b09353904b93e8914d459a286b6b9badb8b1983b

commit b09353904b93e8914d459a286b6b9badb8b1983b
Author: Nicolas Capens <capn@google.com>
Date: Fri Oct 07 03:58:37 2016

Optimize x86 vector shift by constant.

BUG= swiftshader:15 

Change-Id: I4b7b97f3de18c201a502d0bc38a2c845a1caf278
Reviewed-on: https://chromium-review.googlesource.com/392627
Tested-by: Nicolas Capens <nicolascapens@google.com>
Reviewed-by: Jim Stichnoth <stichnot@chromium.org>

[modify] https://crrev.com/b09353904b93e8914d459a286b6b9badb8b1983b/src/IceTargetLoweringX86BaseImpl.h

Comment 51 by bugdroid1@chromium.org, May 3 2017

The following revision refers to this bug:
  https://swiftshader.googlesource.com/SwiftShader.git/+/f52cea4bb987e8c43a881f243dbb8f41f31797d5

commit f52cea4bb987e8c43a881f243dbb8f41f31797d5
Author: Nicolas Capens <capn@google.com>
Date: Mon Oct 17 17:04:32 2016

Fix unpacking from a single vector.

Both vector arguments were being used in a punpckl instruction, while
the shuffle mask repeats elements from just the first vector.

BUG= swiftshader:15 

Change-Id: I8e29c252ee4957692c4949e724ae67253b423e89
Reviewed-on: https://chromium-review.googlesource.com/399419
Reviewed-by: Jim Stichnoth <stichnot@chromium.org>
Tested-by: Nicolas Capens <nicolascapens@google.com>

[modify] https://crrev.com/f52cea4bb987e8c43a881f243dbb8f41f31797d5/src/IceTargetLoweringX86BaseImpl.h

Comment 52 by bugdroid1@chromium.org, May 3 2017

The following revision refers to this bug:
  https://swiftshader.googlesource.com/SwiftShader.git/+/7638e275845ae4e6e2087198dde9b969d5a7f0d2

commit 7638e275845ae4e6e2087198dde9b969d5a7f0d2
Author: Nicolas Capens <capn@google.com>
Date: Mon Oct 17 19:05:16 2016

Add x86 vector packing instructions.

BUG= swiftshader:15 

Change-Id: I0d40fab6287130143693e8e4752859b7142a503d
Reviewed-on: https://chromium-review.googlesource.com/394007
Tested-by: Nicolas Capens <nicolascapens@google.com>
Reviewed-by: Jim Stichnoth <stichnot@chromium.org>

[modify] https://crrev.com/7638e275845ae4e6e2087198dde9b969d5a7f0d2/src/IceAssemblerX86Base.h
[modify] https://crrev.com/7638e275845ae4e6e2087198dde9b969d5a7f0d2/src/IceAssemblerX86BaseImpl.h
[modify] https://crrev.com/7638e275845ae4e6e2087198dde9b969d5a7f0d2/src/IceInstX8632.cpp
[modify] https://crrev.com/7638e275845ae4e6e2087198dde9b969d5a7f0d2/src/IceInstX8632.def
[modify] https://crrev.com/7638e275845ae4e6e2087198dde9b969d5a7f0d2/src/IceInstX8664.cpp
[modify] https://crrev.com/7638e275845ae4e6e2087198dde9b969d5a7f0d2/src/IceInstX8664.def
[modify] https://crrev.com/7638e275845ae4e6e2087198dde9b969d5a7f0d2/src/IceInstX86Base.h
[modify] https://crrev.com/7638e275845ae4e6e2087198dde9b969d5a7f0d2/src/IceInstX86BaseImpl.h
[modify] https://crrev.com/7638e275845ae4e6e2087198dde9b969d5a7f0d2/src/IceTargetLoweringX8632.cpp
[modify] https://crrev.com/7638e275845ae4e6e2087198dde9b969d5a7f0d2/src/IceTargetLoweringX8632Traits.h
[modify] https://crrev.com/7638e275845ae4e6e2087198dde9b969d5a7f0d2/src/IceTargetLoweringX8664.cpp
[modify] https://crrev.com/7638e275845ae4e6e2087198dde9b969d5a7f0d2/src/IceTargetLoweringX8664Traits.h
[modify] https://crrev.com/7638e275845ae4e6e2087198dde9b969d5a7f0d2/src/IceTargetLoweringX86Base.h
[modify] https://crrev.com/7638e275845ae4e6e2087198dde9b969d5a7f0d2/unittest/AssemblerX8632/XmmArith.cpp
[modify] https://crrev.com/7638e275845ae4e6e2087198dde9b969d5a7f0d2/unittest/AssemblerX8664/XmmArith.cpp

Comment 55 by bugdroid1@chromium.org, May 3 2017

The following revision refers to this bug:
  https://swiftshader.googlesource.com/SwiftShader.git/+/8b8af8248849994d22b1c13c5e0d12b251338075

commit 8b8af8248849994d22b1c13c5e0d12b251338075
Author: Nicolas Capens <capn@google.com>
Date: Wed Oct 19 20:28:41 2016

Implement bitcast between i32 and (emulated) v4i8.

BUG= swiftshader:15 

Change-Id: Ic795def8a914508ab0d850c846b73b343ace45de

[modify] https://crrev.com/8b8af8248849994d22b1c13c5e0d12b251338075/src/IceTargetLoweringX86BaseImpl.h

Comment 57 by bugdroid1@chromium.org, May 3 2017

The following revision refers to this bug:
  https://swiftshader.googlesource.com/SwiftShader.git/+/c9e91afc85fe6d682edd75ce9e7a1d924721651d

commit c9e91afc85fe6d682edd75ce9e7a1d924721651d
Author: Nicolas Capens <capn@google.com>
Date: Fri Oct 21 17:48:18 2016

Remove verified asserts.

BUG= swiftshader:15 

Change-Id: I3c3314f3787d42835a9483c7b797dc1dbdc0b76a
Reviewed-on: https://chromium-review.googlesource.com/400663
Tested-by: Nicolas Capens <nicolascapens@google.com>
Reviewed-by: Jim Stichnoth <stichnot@chromium.org>

[modify] https://crrev.com/c9e91afc85fe6d682edd75ce9e7a1d924721651d/src/IceTargetLoweringX86BaseImpl.h

Comment 58 by bugdroid1@chromium.org, May 3 2017

The following revision refers to this bug:
  https://swiftshader.googlesource.com/SwiftShader.git/+/a3688eaffa0b11e21b7dc48bbba514fc3f999198

commit a3688eaffa0b11e21b7dc48bbba514fc3f999198
Author: Nicolas Capens <capn@google.com>
Date: Wed Oct 26 04:53:16 2016

Fix two-vector unpack case.

 Bug swiftshader:15 

Change-Id: I351268b44491091c271d6c7c5b644cd21ffb623b
Reviewed-on: https://chromium-review.googlesource.com/403409
Reviewed-by: Jim Stichnoth <stichnot@chromium.org>
Tested-by: Nicolas Capens <nicolascapens@google.com>

[modify] https://crrev.com/a3688eaffa0b11e21b7dc48bbba514fc3f999198/src/IceTargetLoweringX86BaseImpl.h

Comment 59 by bugdroid1@chromium.org, May 3 2017

The following revision refers to this bug:
  https://swiftshader.googlesource.com/SwiftShader.git/+/956cfd60e8ee9efcc374cd19513bbf35a20e52ee

commit 956cfd60e8ee9efcc374cd19513bbf35a20e52ee
Author: Nicolas Capens <capn@google.com>
Date: Tue Nov 01 02:17:04 2016

Generalize the Sqrt intrinsic to process vectors.

BUG= swiftshader:15 

Change-Id: Ib89d628c85696c20a249b8810cd357a292d10402
Reviewed-on: https://chromium-review.googlesource.com/405293
Reviewed-by: Jim Stichnoth <stichnot@chromium.org>
Tested-by: Nicolas Capens <nicolascapens@google.com>

[modify] https://crrev.com/956cfd60e8ee9efcc374cd19513bbf35a20e52ee/src/IceAssemblerX86Base.h
[modify] https://crrev.com/956cfd60e8ee9efcc374cd19513bbf35a20e52ee/src/IceAssemblerX86BaseImpl.h
[modify] https://crrev.com/956cfd60e8ee9efcc374cd19513bbf35a20e52ee/src/IceInstX86Base.h
[modify] https://crrev.com/956cfd60e8ee9efcc374cd19513bbf35a20e52ee/src/IceInstX86BaseImpl.h
[modify] https://crrev.com/956cfd60e8ee9efcc374cd19513bbf35a20e52ee/src/IceTargetLoweringARM32.cpp
[modify] https://crrev.com/956cfd60e8ee9efcc374cd19513bbf35a20e52ee/src/IceTargetLoweringMIPS32.cpp
[modify] https://crrev.com/956cfd60e8ee9efcc374cd19513bbf35a20e52ee/src/IceTargetLoweringX8632Traits.h
[modify] https://crrev.com/956cfd60e8ee9efcc374cd19513bbf35a20e52ee/src/IceTargetLoweringX86Base.h
[modify] https://crrev.com/956cfd60e8ee9efcc374cd19513bbf35a20e52ee/src/IceTargetLoweringX86BaseImpl.h
[modify] https://crrev.com/956cfd60e8ee9efcc374cd19513bbf35a20e52ee/unittest/AssemblerX8632/XmmArith.cpp
[modify] https://crrev.com/956cfd60e8ee9efcc374cd19513bbf35a20e52ee/unittest/AssemblerX8664/XmmArith.cpp

Comment 63 by bugdroid1@chromium.org, May 3 2017

The following revision refers to this bug:
  https://swiftshader.googlesource.com/SwiftShader.git/+/ef18fc51dd5c1b2640c291a363cf1e4712142eaa

commit ef18fc51dd5c1b2640c291a363cf1e4712142eaa
Author: Nicolas Capens <capn@google.com>
Date: Thu Nov 24 20:17:55 2016

Match sub-vector load/store operand order to regular load/store.

BUG= swiftshader:15 

Change-Id: If608ab4903d97daa0ad342d02f496ac3fa6471d9
Reviewed-on: https://chromium-review.googlesource.com/414389
Reviewed-by: Jim Stichnoth <stichnot@chromium.org>

[modify] https://crrev.com/ef18fc51dd5c1b2640c291a363cf1e4712142eaa/src/IceTargetLoweringX86BaseImpl.h

Comment 64 by bugdroid1@chromium.org, May 3 2017

The following revision refers to this bug:
  https://swiftshader.googlesource.com/SwiftShader.git/+/a29da906bf910a32de3a81ef43d6ec43f138f2ab

commit a29da906bf910a32de3a81ef43d6ec43f138f2ab
Author: Nicolas Capens <capn@google.com>
Date: Wed Nov 30 17:03:42 2016

Ensure that the sub-vector load destination is a register.

BUG= swiftshader:15 

Change-Id: I7e10342fa1ef9bce22bc8c445240fc34a68e8f47
Reviewed-on: https://chromium-review.googlesource.com/414992
Reviewed-by: Jim Stichnoth <stichnot@chromium.org>

[modify] https://crrev.com/a29da906bf910a32de3a81ef43d6ec43f138f2ab/src/IceTargetLoweringX86BaseImpl.h

Sign in to add a comment