impl uniform16
One new instruction movzwl needed.
Change-Id: Ic70ba34d667eb6d570aeca88c4243e0c3309525f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283305
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
diff --git a/tests/SkVMTest.cpp b/tests/SkVMTest.cpp
index 65fd923..55a566b 100644
--- a/tests/SkVMTest.cpp
+++ b/tests/SkVMTest.cpp
@@ -1363,6 +1363,12 @@
a.movzbl(A::r8, A::rsi, 12);
a.movzbl(A::r8, A::rsi, 400);
+ a.movzwl(A::rax, A::rsi, 0); // Low registers for src and dst.
+ a.movzwl(A::rax, A::r8, 0); // High src register.
+ a.movzwl(A::r8 , A::rsi, 0); // High dst register.
+ a.movzwl(A::r8, A::rsi, 12);
+ a.movzwl(A::r8, A::rsi, 400);
+
a.vmovd(A::rax, A::xmm0);
a.vmovd(A::rax, A::xmm8);
a.vmovd(A::r8, A::xmm0);
@@ -1387,12 +1393,18 @@
a.movb(A::rdx, A::r8);
a.movb(A::r8 , A::rax);
},{
- 0x0f,0xb6,0x06,
+ 0x0f,0xb6,0x06, // movzbl (%rsi), %eax
0x41,0x0f,0xb6,0x00,
0x44,0x0f,0xb6,0x06,
0x44,0x0f,0xb6,0x46, 12,
0x44,0x0f,0xb6,0x86, 0x90,0x01,0x00,0x00,
+ 0x0f,0xb7,0x06, // movzwl (%rsi), %eax
+ 0x41,0x0f,0xb7,0x00,
+ 0x44,0x0f,0xb7,0x06,
+ 0x44,0x0f,0xb7,0x46, 12,
+ 0x44,0x0f,0xb7,0x86, 0x90,0x01,0x00,0x00,
+
0xc5,0xf9,0x7e,0x00,
0xc5,0x79,0x7e,0x00,
0xc4,0xc1,0x79,0x7e,0x00,