Subzero: fix invalid asserts during emit()

Fix asserts that would trip during emit, which we only use to emit textual
representation of generated asm to stdout. Useful for debugging.

Bug: b/144688789
Change-Id: I42d60da042fa04bf6afc9035b2892249e5e46c59
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/38475
Tested-by: Antonio Maiorano <amaiorano@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
diff --git a/third_party/subzero/src/IceInstX8664.cpp b/third_party/subzero/src/IceInstX8664.cpp
index d44f35d..7f1fa52 100644
--- a/third_party/subzero/src/IceInstX8664.cpp
+++ b/third_party/subzero/src/IceInstX8664.cpp
@@ -159,7 +159,7 @@
     if (!NeedSandboxing) {
       // TODO(jpp): stop abusing the operand's type to identify LEAs.
       const Type MemType = getType();
-      if (Base->getType() != IceType_i32 && MemType != IceType_void) {
+      if (Base->getType() != IceType_i32 && MemType != IceType_void && !isVectorType(MemType)) {
         // X86-64 is ILP32, but %rsp and %rbp are accessed as 64-bit registers.
         // For filetype=asm, they need to be emitted as their 32-bit siblings.
         assert(Base->getType() == IceType_i64);