summaryrefslogtreecommitdiffstats
path: root/lldb/test/Shell/Register
diff options
context:
space:
mode:
authorJonas Devlieghere <jonas@devlieghere.com>2019-10-09 19:22:02 +0000
committerJonas Devlieghere <jonas@devlieghere.com>2019-10-09 19:22:02 +0000
commit87aa9c9e4d41ed881453e2fab85b3d25f648bb55 (patch)
tree63efe79832bf3de4f63e4e81c62e73923947b882 /lldb/test/Shell/Register
parentfd18e94697c987d5f24e25aa4e27adaffff3cce4 (diff)
downloadbcm5719-llvm-87aa9c9e4d41ed881453e2fab85b3d25f648bb55.tar.gz
bcm5719-llvm-87aa9c9e4d41ed881453e2fab85b3d25f648bb55.zip
Re-land "[test] Split LLDB tests into API, Shell & Unit"
The original patch got reverted because it broke `check-lldb` on a clean build. This fixes that. llvm-svn: 374201
Diffstat (limited to 'lldb/test/Shell/Register')
-rw-r--r--lldb/test/Shell/Register/Inputs/x86-64-gp-read.cpp33
-rw-r--r--lldb/test/Shell/Register/Inputs/x86-64-gp-write.cpp45
-rw-r--r--lldb/test/Shell/Register/Inputs/x86-64-read.cpp57
-rw-r--r--lldb/test/Shell/Register/Inputs/x86-64-write.cpp72
-rw-r--r--lldb/test/Shell/Register/Inputs/x86-gp-read.cpp33
-rw-r--r--lldb/test/Shell/Register/Inputs/x86-gp-write.cpp51
-rw-r--r--lldb/test/Shell/Register/Inputs/x86-mm-xmm-read.cpp57
-rw-r--r--lldb/test/Shell/Register/Inputs/x86-mm-xmm-write.cpp72
-rw-r--r--lldb/test/Shell/Register/Inputs/x86-ymm-read.cpp76
-rw-r--r--lldb/test/Shell/Register/Inputs/x86-ymm-write.cpp75
-rw-r--r--lldb/test/Shell/Register/Inputs/x86-zmm-read.cpp190
-rw-r--r--lldb/test/Shell/Register/Inputs/x86-zmm-write.cpp111
-rw-r--r--lldb/test/Shell/Register/x86-64-gp-read.test42
-rw-r--r--lldb/test/Shell/Register/x86-64-gp-write.test26
-rw-r--r--lldb/test/Shell/Register/x86-64-read.test51
-rw-r--r--lldb/test/Shell/Register/x86-64-write.test47
-rw-r--r--lldb/test/Shell/Register/x86-64-xmm16-read.test30
-rw-r--r--lldb/test/Shell/Register/x86-64-xmm16-write.test48
-rw-r--r--lldb/test/Shell/Register/x86-64-ymm-read.test43
-rw-r--r--lldb/test/Shell/Register/x86-64-ymm-write.test45
-rw-r--r--lldb/test/Shell/Register/x86-64-ymm16-read.test30
-rw-r--r--lldb/test/Shell/Register/x86-64-ymm16-write.test48
-rw-r--r--lldb/test/Shell/Register/x86-64-zmm-read.test45
-rw-r--r--lldb/test/Shell/Register/x86-64-zmm-write.test80
-rw-r--r--lldb/test/Shell/Register/x86-gp-read.test34
-rw-r--r--lldb/test/Shell/Register/x86-gp-write.test26
-rw-r--r--lldb/test/Shell/Register/x86-mm-xmm-read.test28
-rw-r--r--lldb/test/Shell/Register/x86-mm-xmm-write.test47
-rw-r--r--lldb/test/Shell/Register/x86-ymm-read.test27
-rw-r--r--lldb/test/Shell/Register/x86-ymm-write.test28
-rw-r--r--lldb/test/Shell/Register/x86-zmm-read.test21
-rw-r--r--lldb/test/Shell/Register/x86-zmm-write.test31
32 files changed, 1649 insertions, 0 deletions
diff --git a/lldb/test/Shell/Register/Inputs/x86-64-gp-read.cpp b/lldb/test/Shell/Register/Inputs/x86-64-gp-read.cpp
new file mode 100644
index 00000000000..857b9e09949
--- /dev/null
+++ b/lldb/test/Shell/Register/Inputs/x86-64-gp-read.cpp
@@ -0,0 +1,33 @@
+#include <cstdint>
+
+int main() {
+ constexpr uint64_t rax = 0x0102030405060708;
+ constexpr uint64_t rbx = 0x1112131415161718;
+ constexpr uint64_t rcx = 0x2122232425262728;
+ constexpr uint64_t rdx = 0x3132333435363738;
+ constexpr uint64_t rsp = 0x4142434445464748;
+ constexpr uint64_t rbp = 0x5152535455565758;
+ constexpr uint64_t rsi = 0x6162636465666768;
+ constexpr uint64_t rdi = 0x7172737475767778;
+
+ asm volatile(
+ // save rsp & rbp
+ "movq %%rsp, %%r8\n\t"
+ "movq %%rbp, %%r9\n\t"
+ "\n\t"
+ "movq %4, %%rsp\n\t"
+ "movq %5, %%rbp\n\t"
+ "\n\t"
+ "int3\n\t"
+ "\n\t"
+ // restore rsp & rbp
+ "movq %%r8, %%rsp\n\t"
+ "movq %%r9, %%rbp"
+ :
+ : "a"(rax), "b"(rbx), "c"(rcx), "d"(rdx), "i"(rsp), "i"(rbp), "S"(rsi),
+ "D"(rdi)
+ : "%r8", "%r9"
+ );
+
+ return 0;
+}
diff --git a/lldb/test/Shell/Register/Inputs/x86-64-gp-write.cpp b/lldb/test/Shell/Register/Inputs/x86-64-gp-write.cpp
new file mode 100644
index 00000000000..fd579c031a3
--- /dev/null
+++ b/lldb/test/Shell/Register/Inputs/x86-64-gp-write.cpp
@@ -0,0 +1,45 @@
+#include <cinttypes>
+#include <cstdint>
+#include <cstdio>
+
+int main() {
+ constexpr uint64_t fill = 0x0F0F0F0F0F0F0F0F;
+
+ uint64_t rax, rbx, rcx, rdx, rsp, rbp, rsi, rdi;
+
+ asm volatile(
+ // save rsp & rbp
+ "movq %%rsp, %4\n\t"
+ "movq %%rbp, %5\n\t"
+ "\n\t"
+ "movq %8, %%rax\n\t"
+ "movq %8, %%rbx\n\t"
+ "movq %8, %%rcx\n\t"
+ "movq %8, %%rdx\n\t"
+ "movq %8, %%rsp\n\t"
+ "movq %8, %%rbp\n\t"
+ "movq %8, %%rsi\n\t"
+ "movq %8, %%rdi\n\t"
+ "\n\t"
+ "int3\n\t"
+ "\n\t"
+ // swap saved & current rsp & rbp
+ "xchgq %%rsp, %4\n\t"
+ "xchgq %%rbp, %5\n\t"
+ : "=a"(rax), "=b"(rbx), "=c"(rcx), "=d"(rdx), "=r"(rsp), "=r"(rbp),
+ "=S"(rsi), "=D"(rdi)
+ : "g"(fill)
+ :
+ );
+
+ printf("rax = 0x%016" PRIx64 "\n", rax);
+ printf("rbx = 0x%016" PRIx64 "\n", rbx);
+ printf("rcx = 0x%016" PRIx64 "\n", rcx);
+ printf("rdx = 0x%016" PRIx64 "\n", rdx);
+ printf("rsp = 0x%016" PRIx64 "\n", rsp);
+ printf("rbp = 0x%016" PRIx64 "\n", rbp);
+ printf("rsi = 0x%016" PRIx64 "\n", rsi);
+ printf("rdi = 0x%016" PRIx64 "\n", rdi);
+
+ return 0;
+}
diff --git a/lldb/test/Shell/Register/Inputs/x86-64-read.cpp b/lldb/test/Shell/Register/Inputs/x86-64-read.cpp
new file mode 100644
index 00000000000..fb75d7ebd9e
--- /dev/null
+++ b/lldb/test/Shell/Register/Inputs/x86-64-read.cpp
@@ -0,0 +1,57 @@
+#include <cstdint>
+
+struct alignas(16) xmm_t {
+ uint64_t a, b;
+};
+
+int main() {
+ constexpr uint64_t r8[] = {
+ 0x0001020304050607,
+ 0x1011121314151617,
+ 0x2021222324252627,
+ 0x3031323334353637,
+ 0x4041424344454647,
+ 0x5051525354555657,
+ 0x6061626364656667,
+ 0x7071727374757677,
+ };
+
+ constexpr xmm_t xmm8[] = {
+ { 0x0F0E0D0C0B0A0908, 0x1716151413121110, },
+ { 0x100F0E0D0C0B0A09, 0x1817161514131211, },
+ { 0x11100F0E0D0C0B0A, 0x1918171615141312, },
+ { 0x1211100F0E0D0C0B, 0x1A19181716151413, },
+ { 0x131211100F0E0D0C, 0x1B1A191817161514, },
+ { 0x14131211100F0E0D, 0x1C1B1A1918171615, },
+ { 0x1514131211100F0E, 0x1D1C1B1A19181716, },
+ { 0x161514131211100F, 0x1E1D1C1B1A191817, },
+ };
+
+ asm volatile(
+ "movq 0x00(%0), %%r8\n\t"
+ "movq 0x08(%0), %%r9\n\t"
+ "movq 0x10(%0), %%r10\n\t"
+ "movq 0x18(%0), %%r11\n\t"
+ "movq 0x20(%0), %%r12\n\t"
+ "movq 0x28(%0), %%r13\n\t"
+ "movq 0x30(%0), %%r14\n\t"
+ "movq 0x38(%0), %%r15\n\t"
+ "\n\t"
+ "movaps 0x00(%1), %%xmm8\n\t"
+ "movaps 0x10(%1), %%xmm9\n\t"
+ "movaps 0x20(%1), %%xmm10\n\t"
+ "movaps 0x30(%1), %%xmm11\n\t"
+ "movaps 0x40(%1), %%xmm12\n\t"
+ "movaps 0x50(%1), %%xmm13\n\t"
+ "movaps 0x60(%1), %%xmm14\n\t"
+ "movaps 0x70(%1), %%xmm15\n\t"
+ "\n\t"
+ "int3\n\t"
+ :
+ : "a"(r8), "b"(xmm8)
+ : "%r8", "%r9", "%r10", "%r11", "%r12", "%r13", "%r14", "%r15", "%xmm8",
+ "%xmm9", "%xmm10", "%xmm11", "%xmm12", "%xmm13", "%xmm14", "%xmm15"
+ );
+
+ return 0;
+}
diff --git a/lldb/test/Shell/Register/Inputs/x86-64-write.cpp b/lldb/test/Shell/Register/Inputs/x86-64-write.cpp
new file mode 100644
index 00000000000..056f2ebe213
--- /dev/null
+++ b/lldb/test/Shell/Register/Inputs/x86-64-write.cpp
@@ -0,0 +1,72 @@
+#include <cinttypes>
+#include <cstdint>
+#include <cstdio>
+
+union alignas(16) xmm_t {
+ uint64_t as_uint64[2];
+ uint8_t as_uint8[16];
+};
+
+int main() {
+ constexpr xmm_t xmm_fill = {
+ .as_uint64 = { 0x0F0F0F0F0F0F0F0F, 0x0F0F0F0F0F0F0F0F }
+ };
+
+ uint64_t r64[8];
+ xmm_t xmm[8];
+
+ asm volatile(
+ "movq %2, %%r8\n\t"
+ "movq %2, %%r9\n\t"
+ "movq %2, %%r10\n\t"
+ "movq %2, %%r11\n\t"
+ "movq %2, %%r12\n\t"
+ "movq %2, %%r13\n\t"
+ "movq %2, %%r14\n\t"
+ "movq %2, %%r15\n\t"
+ "\n\t"
+ "movaps %2, %%xmm8\n\t"
+ "movaps %2, %%xmm9\n\t"
+ "movaps %2, %%xmm10\n\t"
+ "movaps %2, %%xmm11\n\t"
+ "movaps %2, %%xmm12\n\t"
+ "movaps %2, %%xmm13\n\t"
+ "movaps %2, %%xmm14\n\t"
+ "movaps %2, %%xmm15\n\t"
+ "\n\t"
+ "int3\n\t"
+ "\n\t"
+ "movq %%r8, 0x00(%0)\n\t"
+ "movq %%r9, 0x08(%0)\n\t"
+ "movq %%r10, 0x10(%0)\n\t"
+ "movq %%r11, 0x18(%0)\n\t"
+ "movq %%r12, 0x20(%0)\n\t"
+ "movq %%r13, 0x28(%0)\n\t"
+ "movq %%r14, 0x30(%0)\n\t"
+ "movq %%r15, 0x38(%0)\n\t"
+ "\n\t"
+ "movaps %%xmm8, 0x00(%1)\n\t"
+ "movaps %%xmm9, 0x10(%1)\n\t"
+ "movaps %%xmm10, 0x20(%1)\n\t"
+ "movaps %%xmm11, 0x30(%1)\n\t"
+ "movaps %%xmm12, 0x40(%1)\n\t"
+ "movaps %%xmm13, 0x50(%1)\n\t"
+ "movaps %%xmm14, 0x60(%1)\n\t"
+ "movaps %%xmm15, 0x70(%1)\n\t"
+ :
+ : "a"(r64), "b"(xmm), "m"(xmm_fill)
+ : "%r8", "%r9", "%r10", "%r11", "%r12", "%r13", "%r14", "%r15", "%xmm8",
+ "%xmm9", "%xmm10", "%xmm11", "%xmm12", "%xmm13", "%xmm14", "%xmm15"
+ );
+
+ for (int i = 0; i < 8; ++i)
+ printf("r%d = 0x%016" PRIx64 "\n", i+8, r64[i]);
+ for (int i = 0; i < 8; ++i) {
+ printf("xmm%d = { ", i+8);
+ for (int j = 0; j < sizeof(xmm->as_uint8); ++j)
+ printf("0x%02x ", xmm[i].as_uint8[j]);
+ printf("}\n");
+ }
+
+ return 0;
+}
diff --git a/lldb/test/Shell/Register/Inputs/x86-gp-read.cpp b/lldb/test/Shell/Register/Inputs/x86-gp-read.cpp
new file mode 100644
index 00000000000..4fb725d3906
--- /dev/null
+++ b/lldb/test/Shell/Register/Inputs/x86-gp-read.cpp
@@ -0,0 +1,33 @@
+#include <cstdint>
+
+int main() {
+ constexpr uint32_t eax = 0x05060708;
+ constexpr uint32_t ebx = 0x15161718;
+ constexpr uint32_t ecx = 0x25262728;
+ constexpr uint32_t edx = 0x35363738;
+ constexpr uint32_t esp = 0x45464748;
+ constexpr uint32_t ebp = 0x55565758;
+ constexpr uint32_t esi = 0x65666768;
+ constexpr uint32_t edi = 0x75767778;
+
+ asm volatile(
+ // save esp & ebp
+ "movd %%esp, %%mm0\n\t"
+ "movd %%ebp, %%mm1\n\t"
+ "\n\t"
+ "movl %4, %%esp\n\t"
+ "movl %5, %%ebp\n\t"
+ "\n\t"
+ "int3\n\t"
+ "\n\t"
+ // restore esp & ebp
+ "movd %%mm0, %%esp\n\t"
+ "movd %%mm1, %%ebp\n\t"
+ :
+ : "a"(eax), "b"(ebx), "c"(ecx), "d"(edx), "i"(esp), "i"(ebp), "S"(esi),
+ "D"(edi)
+ : "%mm0", "%mm1"
+ );
+
+ return 0;
+}
diff --git a/lldb/test/Shell/Register/Inputs/x86-gp-write.cpp b/lldb/test/Shell/Register/Inputs/x86-gp-write.cpp
new file mode 100644
index 00000000000..1dfbe31b99f
--- /dev/null
+++ b/lldb/test/Shell/Register/Inputs/x86-gp-write.cpp
@@ -0,0 +1,51 @@
+#include <cinttypes>
+#include <cstdint>
+#include <cstdio>
+
+int main() {
+ constexpr uint32_t fill = 0x0F0F0F0F;
+
+ uint32_t eax, ebx, ecx, edx, esi, edi;
+ // need to use 64-bit types due to bug in clang
+ // https://bugs.llvm.org/show_bug.cgi?id=41748
+ uint64_t esp, ebp;
+
+ asm volatile(
+ // save esp & ebp
+ "movd %%esp, %%mm0\n\t"
+ "movd %%ebp, %%mm1\n\t"
+ "\n\t"
+ "movl %8, %%eax\n\t"
+ "movl %8, %%ebx\n\t"
+ "movl %8, %%ecx\n\t"
+ "movl %8, %%edx\n\t"
+ "movl %8, %%esp\n\t"
+ "movl %8, %%ebp\n\t"
+ "movl %8, %%esi\n\t"
+ "movl %8, %%edi\n\t"
+ "\n\t"
+ "int3\n\t"
+ "\n\t"
+ // copy new values of esp & ebp
+ "movd %%esp, %4\n\t"
+ "movd %%ebp, %5\n\t"
+ // restore saved esp & ebp
+ "movd %%mm0, %%esp\n\t"
+ "movd %%mm1, %%ebp\n\t"
+ : "=a"(eax), "=b"(ebx), "=c"(ecx), "=d"(edx), "=y"(esp), "=y"(ebp),
+ "=S"(esi), "=D"(edi)
+ : "i"(fill)
+ : "%mm0", "%mm1"
+ );
+
+ printf("eax = 0x%08" PRIx32 "\n", eax);
+ printf("ebx = 0x%08" PRIx32 "\n", ebx);
+ printf("ecx = 0x%08" PRIx32 "\n", ecx);
+ printf("edx = 0x%08" PRIx32 "\n", edx);
+ printf("esp = 0x%08" PRIx32 "\n", static_cast<uint32_t>(esp));
+ printf("ebp = 0x%08" PRIx32 "\n", static_cast<uint32_t>(ebp));
+ printf("esi = 0x%08" PRIx32 "\n", esi);
+ printf("edi = 0x%08" PRIx32 "\n", edi);
+
+ return 0;
+}
diff --git a/lldb/test/Shell/Register/Inputs/x86-mm-xmm-read.cpp b/lldb/test/Shell/Register/Inputs/x86-mm-xmm-read.cpp
new file mode 100644
index 00000000000..feb4dde1ad6
--- /dev/null
+++ b/lldb/test/Shell/Register/Inputs/x86-mm-xmm-read.cpp
@@ -0,0 +1,57 @@
+#include <cstdint>
+
+struct alignas(16) xmm_t {
+ uint64_t a, b;
+};
+
+int main() {
+ constexpr uint64_t mm[] = {
+ 0x0001020304050607,
+ 0x1011121314151617,
+ 0x2021222324252627,
+ 0x3031323334353637,
+ 0x4041424344454647,
+ 0x5051525354555657,
+ 0x6061626364656667,
+ 0x7071727374757677,
+ };
+
+ constexpr xmm_t xmm[] = {
+ { 0x0706050403020100, 0x0F0E0D0C0B0A0908, },
+ { 0x0807060504030201, 0x100F0E0D0C0B0A09, },
+ { 0x0908070605040302, 0x11100F0E0D0C0B0A, },
+ { 0x0A09080706050403, 0x1211100F0E0D0C0B, },
+ { 0x0B0A090807060504, 0x131211100F0E0D0C, },
+ { 0x0C0B0A0908070605, 0x14131211100F0E0D, },
+ { 0x0D0C0B0A09080706, 0x1514131211100F0E, },
+ { 0x0E0D0C0B0A090807, 0x161514131211100F, },
+ };
+
+ asm volatile(
+ "movq 0x00(%0), %%mm0\n\t"
+ "movq 0x08(%0), %%mm1\n\t"
+ "movq 0x10(%0), %%mm2\n\t"
+ "movq 0x18(%0), %%mm3\n\t"
+ "movq 0x20(%0), %%mm4\n\t"
+ "movq 0x28(%0), %%mm5\n\t"
+ "movq 0x30(%0), %%mm6\n\t"
+ "movq 0x38(%0), %%mm7\n\t"
+ "\n\t"
+ "movaps 0x00(%1), %%xmm0\n\t"
+ "movaps 0x10(%1), %%xmm1\n\t"
+ "movaps 0x20(%1), %%xmm2\n\t"
+ "movaps 0x30(%1), %%xmm3\n\t"
+ "movaps 0x40(%1), %%xmm4\n\t"
+ "movaps 0x50(%1), %%xmm5\n\t"
+ "movaps 0x60(%1), %%xmm6\n\t"
+ "movaps 0x70(%1), %%xmm7\n\t"
+ "\n\t"
+ "int3\n\t"
+ :
+ : "a"(mm), "b"(xmm)
+ : "%mm0", "%mm1", "%mm2", "%mm3", "%mm4", "%mm5", "%mm6", "%mm7",
+ "%xmm0", "%xmm1", "%xmm2", "%xmm3", "%xmm4", "%xmm5", "%xmm6", "%xmm7"
+ );
+
+ return 0;
+}
diff --git a/lldb/test/Shell/Register/Inputs/x86-mm-xmm-write.cpp b/lldb/test/Shell/Register/Inputs/x86-mm-xmm-write.cpp
new file mode 100644
index 00000000000..631d6f3a513
--- /dev/null
+++ b/lldb/test/Shell/Register/Inputs/x86-mm-xmm-write.cpp
@@ -0,0 +1,72 @@
+#include <cinttypes>
+#include <cstdint>
+#include <cstdio>
+
+union alignas(16) xmm_t {
+ uint64_t as_uint64[2];
+ uint8_t as_uint8[16];
+};
+
+int main() {
+ constexpr xmm_t xmm_fill = {
+ .as_uint64 = { 0x0F0F0F0F0F0F0F0F, 0x0F0F0F0F0F0F0F0F }
+ };
+
+ uint64_t mm[8];
+ xmm_t xmm[8];
+
+ asm volatile(
+ "movq %2, %%mm0\n\t"
+ "movq %2, %%mm1\n\t"
+ "movq %2, %%mm2\n\t"
+ "movq %2, %%mm3\n\t"
+ "movq %2, %%mm4\n\t"
+ "movq %2, %%mm5\n\t"
+ "movq %2, %%mm6\n\t"
+ "movq %2, %%mm7\n\t"
+ "\n\t"
+ "movaps %2, %%xmm0\n\t"
+ "movaps %2, %%xmm1\n\t"
+ "movaps %2, %%xmm2\n\t"
+ "movaps %2, %%xmm3\n\t"
+ "movaps %2, %%xmm4\n\t"
+ "movaps %2, %%xmm5\n\t"
+ "movaps %2, %%xmm6\n\t"
+ "movaps %2, %%xmm7\n\t"
+ "\n\t"
+ "int3\n\t"
+ "\n\t"
+ "movq %%mm0, 0x00(%0)\n\t"
+ "movq %%mm1, 0x08(%0)\n\t"
+ "movq %%mm2, 0x10(%0)\n\t"
+ "movq %%mm3, 0x18(%0)\n\t"
+ "movq %%mm4, 0x20(%0)\n\t"
+ "movq %%mm5, 0x28(%0)\n\t"
+ "movq %%mm6, 0x30(%0)\n\t"
+ "movq %%mm7, 0x38(%0)\n\t"
+ "\n\t"
+ "movaps %%xmm0, 0x00(%1)\n\t"
+ "movaps %%xmm1, 0x10(%1)\n\t"
+ "movaps %%xmm2, 0x20(%1)\n\t"
+ "movaps %%xmm3, 0x30(%1)\n\t"
+ "movaps %%xmm4, 0x40(%1)\n\t"
+ "movaps %%xmm5, 0x50(%1)\n\t"
+ "movaps %%xmm6, 0x60(%1)\n\t"
+ "movaps %%xmm7, 0x70(%1)\n\t"
+ :
+ : "a"(mm), "b"(xmm), "m"(xmm_fill)
+ : "%mm0", "%mm1", "%mm2", "%mm3", "%mm4", "%mm5", "%mm6", "%mm7", "%xmm0",
+ "%xmm1", "%xmm2", "%xmm3", "%xmm4", "%xmm5", "%xmm6", "%xmm7"
+ );
+
+ for (int i = 0; i < 8; ++i)
+ printf("mm%d = 0x%016" PRIx64 "\n", i, mm[i]);
+ for (int i = 0; i < 8; ++i) {
+ printf("xmm%d = { ", i);
+ for (int j = 0; j < sizeof(xmm->as_uint8); ++j)
+ printf("0x%02x ", xmm[i].as_uint8[j]);
+ printf("}\n");
+ }
+
+ return 0;
+}
diff --git a/lldb/test/Shell/Register/Inputs/x86-ymm-read.cpp b/lldb/test/Shell/Register/Inputs/x86-ymm-read.cpp
new file mode 100644
index 00000000000..76f8970d085
--- /dev/null
+++ b/lldb/test/Shell/Register/Inputs/x86-ymm-read.cpp
@@ -0,0 +1,76 @@
+#include <cstdint>
+
+struct alignas(32) ymm_t {
+ uint64_t a, b, c, d;
+};
+
+int main() {
+ constexpr ymm_t ymm[] = {
+ { 0x0706050403020100, 0x0F0E0D0C0B0A0908,
+ 0x1716151413121110, 0x1F1E1D1C1B1A1918, },
+ { 0x0807060504030201, 0x100F0E0D0C0B0A09,
+ 0x1817161514131211, 0x201F1E1D1C1B1A19, },
+ { 0x0908070605040302, 0x11100F0E0D0C0B0A,
+ 0x1918171615141312, 0x21201F1E1D1C1B1A, },
+ { 0x0A09080706050403, 0x1211100F0E0D0C0B,
+ 0x1A19181716151413, 0x2221201F1E1D1C1B, },
+ { 0x0B0A090807060504, 0x131211100F0E0D0C,
+ 0x1B1A191817161514, 0x232221201F1E1D1C, },
+ { 0x0C0B0A0908070605, 0x14131211100F0E0D,
+ 0x1C1B1A1918171615, 0x24232221201F1E1D, },
+ { 0x0D0C0B0A09080706, 0x1514131211100F0E,
+ 0x1D1C1B1A19181716, 0x2524232221201F1E, },
+ { 0x0E0D0C0B0A090807, 0x161514131211100F,
+ 0x1E1D1C1B1A191817, 0x262524232221201F, },
+#if defined(__x86_64__) || defined(_M_X64)
+ { 0x0F0E0D0C0B0A0908, 0x1716151413121110,
+ 0x1F1E1D1C1B1A1918, 0x2726252423222120, },
+ { 0x100F0E0D0C0B0A09, 0x1817161514131211,
+ 0x201F1E1D1C1B1A19, 0x2827262524232221, },
+ { 0x11100F0E0D0C0B0A, 0x1918171615141312,
+ 0x21201F1E1D1C1B1A, 0x2928272625242322, },
+ { 0x1211100F0E0D0C0B, 0x1A19181716151413,
+ 0x2221201F1E1D1C1B, 0x2A29282726252423, },
+ { 0x131211100F0E0D0C, 0x1B1A191817161514,
+ 0x232221201F1E1D1C, 0x2B2A292827262524, },
+ { 0x14131211100F0E0D, 0x1C1B1A1918171615,
+ 0x24232221201F1E1D, 0x2C2B2A2928272625, },
+ { 0x1514131211100F0E, 0x1D1C1B1A19181716,
+ 0x2524232221201F1E, 0x2D2C2B2A29282726, },
+ { 0x161514131211100F, 0x1E1D1C1B1A191817,
+ 0x262524232221201F, 0x2E2D2C2B2A292827, },
+#endif
+ };
+
+ asm volatile(
+ "vmovaps 0x000(%0), %%ymm0\n\t"
+ "vmovaps 0x020(%0), %%ymm1\n\t"
+ "vmovaps 0x040(%0), %%ymm2\n\t"
+ "vmovaps 0x060(%0), %%ymm3\n\t"
+ "vmovaps 0x080(%0), %%ymm4\n\t"
+ "vmovaps 0x0A0(%0), %%ymm5\n\t"
+ "vmovaps 0x0C0(%0), %%ymm6\n\t"
+ "vmovaps 0x0E0(%0), %%ymm7\n\t"
+#if defined(__x86_64__) || defined(_M_X64)
+ "vmovaps 0x100(%0), %%ymm8\n\t"
+ "vmovaps 0x120(%0), %%ymm9\n\t"
+ "vmovaps 0x140(%0), %%ymm10\n\t"
+ "vmovaps 0x160(%0), %%ymm11\n\t"
+ "vmovaps 0x180(%0), %%ymm12\n\t"
+ "vmovaps 0x1A0(%0), %%ymm13\n\t"
+ "vmovaps 0x1C0(%0), %%ymm14\n\t"
+ "vmovaps 0x1E0(%0), %%ymm15\n\t"
+#endif
+ "\n\t"
+ "int3\n\t"
+ :
+ : "b"(ymm)
+ : "%ymm0", "%ymm1", "%ymm2", "%ymm3", "%ymm4", "%ymm5", "%ymm6", "%ymm7"
+#if defined(__x86_64__) || defined(_M_X64)
+ , "%ymm8", "%ymm9", "%ymm10", "%ymm11", "%ymm12", "%ymm13", "%ymm14",
+ "%ymm15"
+#endif
+ );
+
+ return 0;
+}
diff --git a/lldb/test/Shell/Register/Inputs/x86-ymm-write.cpp b/lldb/test/Shell/Register/Inputs/x86-ymm-write.cpp
new file mode 100644
index 00000000000..3375853291e
--- /dev/null
+++ b/lldb/test/Shell/Register/Inputs/x86-ymm-write.cpp
@@ -0,0 +1,75 @@
+#include <cinttypes>
+#include <cstdint>
+#include <cstdio>
+
+union alignas(32) ymm_t {
+ uint64_t as_uint64[4];
+ uint8_t as_uint8[32];
+};
+
+int main() {
+ constexpr ymm_t ymm_fill = {
+ .as_uint64 = { 0x0F0F0F0F0F0F0F0F, 0x0F0F0F0F0F0F0F0F,
+ 0x0F0F0F0F0F0F0F0F, 0x0F0F0F0F0F0F0F0F }
+ };
+
+ ymm_t ymm[16];
+
+ asm volatile(
+ "vmovaps %1, %%ymm0\n\t"
+ "vmovaps %1, %%ymm1\n\t"
+ "vmovaps %1, %%ymm2\n\t"
+ "vmovaps %1, %%ymm3\n\t"
+ "vmovaps %1, %%ymm4\n\t"
+ "vmovaps %1, %%ymm5\n\t"
+ "vmovaps %1, %%ymm6\n\t"
+ "vmovaps %1, %%ymm7\n\t"
+#if defined(__x86_64__) || defined(_M_X64)
+ "vmovaps %1, %%ymm8\n\t"
+ "vmovaps %1, %%ymm9\n\t"
+ "vmovaps %1, %%ymm10\n\t"
+ "vmovaps %1, %%ymm11\n\t"
+ "vmovaps %1, %%ymm12\n\t"
+ "vmovaps %1, %%ymm13\n\t"
+ "vmovaps %1, %%ymm14\n\t"
+ "vmovaps %1, %%ymm15\n\t"
+#endif
+ "\n\t"
+ "int3\n\t"
+ "\n\t"
+ "vmovaps %%ymm0, 0x000(%0)\n\t"
+ "vmovaps %%ymm1, 0x020(%0)\n\t"
+ "vmovaps %%ymm2, 0x040(%0)\n\t"
+ "vmovaps %%ymm3, 0x060(%0)\n\t"
+ "vmovaps %%ymm4, 0x080(%0)\n\t"
+ "vmovaps %%ymm5, 0x0A0(%0)\n\t"
+ "vmovaps %%ymm6, 0x0C0(%0)\n\t"
+ "vmovaps %%ymm7, 0x0E0(%0)\n\t"
+#if defined(__x86_64__) || defined(_M_X64)
+ "vmovaps %%ymm8, 0x100(%0)\n\t"
+ "vmovaps %%ymm9, 0x120(%0)\n\t"
+ "vmovaps %%ymm10, 0x140(%0)\n\t"
+ "vmovaps %%ymm11, 0x160(%0)\n\t"
+ "vmovaps %%ymm12, 0x180(%0)\n\t"
+ "vmovaps %%ymm13, 0x1A0(%0)\n\t"
+ "vmovaps %%ymm14, 0x1C0(%0)\n\t"
+ "vmovaps %%ymm15, 0x1E0(%0)\n\t"
+#endif
+ :
+ : "b"(ymm), "m"(ymm_fill)
+ : "%ymm0", "%ymm1", "%ymm2", "%ymm3", "%ymm4", "%ymm5", "%ymm6", "%ymm7"
+#if defined(__x86_64__) || defined(_M_X64)
+ , "%ymm8", "%ymm9", "%ymm10", "%ymm11", "%ymm12", "%ymm13", "%ymm14",
+ "%ymm15"
+#endif
+ );
+
+ for (int i = 0; i < 16; ++i) {
+ printf("ymm%d = { ", i);
+ for (int j = 0; j < sizeof(ymm->as_uint8); ++j)
+ printf("0x%02x ", ymm[i].as_uint8[j]);
+ printf("}\n");
+ }
+
+ return 0;
+}
diff --git a/lldb/test/Shell/Register/Inputs/x86-zmm-read.cpp b/lldb/test/Shell/Register/Inputs/x86-zmm-read.cpp
new file mode 100644
index 00000000000..2a1a4fd1114
--- /dev/null
+++ b/lldb/test/Shell/Register/Inputs/x86-zmm-read.cpp
@@ -0,0 +1,190 @@
+#include <cstdint>
+
+struct alignas(64) zmm_t {
+ uint64_t a, b, c, d, e, f, g, h;
+};
+
+int main() {
+ constexpr zmm_t zmm[] = {
+ { 0x0706050403020100, 0x0F0E0D0C0B0A0908,
+ 0x1716151413121110, 0x1F1E1D1C1B1A1918,
+ 0x2726252423222120, 0x2F2E2D2C2B2A2928,
+ 0x3736353433323130, 0x3F3E3D3C3B3A3938, },
+ { 0x0807060504030201, 0x100F0E0D0C0B0A09,
+ 0x1817161514131211, 0x201F1E1D1C1B1A19,
+ 0x2827262524232221, 0x302F2E2D2C2B2A29,
+ 0x3837363534333231, 0x403F3E3D3C3B3A39, },
+ { 0x0908070605040302, 0x11100F0E0D0C0B0A,
+ 0x1918171615141312, 0x21201F1E1D1C1B1A,
+ 0x2928272625242322, 0x31302F2E2D2C2B2A,
+ 0x3938373635343332, 0x41403F3E3D3C3B3A, },
+ { 0x0A09080706050403, 0x1211100F0E0D0C0B,
+ 0x1A19181716151413, 0x2221201F1E1D1C1B,
+ 0x2A29282726252423, 0x3231302F2E2D2C2B,
+ 0x3A39383736353433, 0x4241403F3E3D3C3B, },
+ { 0x0B0A090807060504, 0x131211100F0E0D0C,
+ 0x1B1A191817161514, 0x232221201F1E1D1C,
+ 0x2B2A292827262524, 0x333231302F2E2D2C,
+ 0x3B3A393837363534, 0x434241403F3E3D3C, },
+ { 0x0C0B0A0908070605, 0x14131211100F0E0D,
+ 0x1C1B1A1918171615, 0x24232221201F1E1D,
+ 0x2C2B2A2928272625, 0x34333231302F2E2D,
+ 0x3C3B3A3938373635, 0x44434241403F3E3D, },
+ { 0x0D0C0B0A09080706, 0x1514131211100F0E,
+ 0x1D1C1B1A19181716, 0x2524232221201F1E,
+ 0x2D2C2B2A29282726, 0x3534333231302F2E,
+ 0x3D3C3B3A39383736, 0x4544434241403F3E, },
+ { 0x0E0D0C0B0A090807, 0x161514131211100F,
+ 0x1E1D1C1B1A191817, 0x262524232221201F,
+ 0x2E2D2C2B2A292827, 0x363534333231302F,
+ 0x3E3D3C3B3A393837, 0x464544434241403F, },
+#if defined(__x86_64__) || defined(_M_X64)
+ { 0x0F0E0D0C0B0A0908, 0x1716151413121110,
+ 0x1F1E1D1C1B1A1918, 0x2726252423222120,
+ 0x2F2E2D2C2B2A2928, 0x3736353433323130,
+ 0x3F3E3D3C3B3A3938, 0x4746454443424140, },
+ { 0x100F0E0D0C0B0A09, 0x1817161514131211,
+ 0x201F1E1D1C1B1A19, 0x2827262524232221,
+ 0x302F2E2D2C2B2A29, 0x3837363534333231,
+ 0x403F3E3D3C3B3A39, 0x4847464544434241, },
+ { 0x11100F0E0D0C0B0A, 0x1918171615141312,
+ 0x21201F1E1D1C1B1A, 0x2928272625242322,
+ 0x31302F2E2D2C2B2A, 0x3938373635343332,
+ 0x41403F3E3D3C3B3A, 0x4948474645444342, },
+ { 0x1211100F0E0D0C0B, 0x1A19181716151413,
+ 0x2221201F1E1D1C1B, 0x2A29282726252423,
+ 0x3231302F2E2D2C2B, 0x3A39383736353433,
+ 0x4241403F3E3D3C3B, 0x4A49484746454443, },
+ { 0x131211100F0E0D0C, 0x1B1A191817161514,
+ 0x232221201F1E1D1C, 0x2B2A292827262524,
+ 0x333231302F2E2D2C, 0x3B3A393837363534,
+ 0x434241403F3E3D3C, 0x4B4A494847464544, },
+ { 0x14131211100F0E0D, 0x1C1B1A1918171615,
+ 0x24232221201F1E1D, 0x2C2B2A2928272625,
+ 0x34333231302F2E2D, 0x3C3B3A3938373635,
+ 0x44434241403F3E3D, 0x4C4B4A4948474645, },
+ { 0x1514131211100F0E, 0x1D1C1B1A19181716,
+ 0x2524232221201F1E, 0x2D2C2B2A29282726,
+ 0x3534333231302F2E, 0x3D3C3B3A39383736,
+ 0x4544434241403F3E, 0x4D4C4B4A49484746, },
+ { 0x161514131211100F, 0x1E1D1C1B1A191817,
+ 0x262524232221201F, 0x2E2D2C2B2A292827,
+ 0x363534333231302F, 0x3E3D3C3B3A393837,
+ 0x464544434241403F, 0x4E4D4C4B4A494847, },
+ { 0x1716151413121110, 0x1F1E1D1C1B1A1918,
+ 0x2726252423222120, 0x2F2E2D2C2B2A2928,
+ 0x3736353433323130, 0x3F3E3D3C3B3A3938,
+ 0x4746454443424140, 0x4F4E4D4C4B4A4948, },
+ { 0x1817161514131211, 0x201F1E1D1C1B1A19,
+ 0x2827262524232221, 0x302F2E2D2C2B2A29,
+ 0x3837363534333231, 0x403F3E3D3C3B3A39,
+ 0x4847464544434241, 0x504F4E4D4C4B4A49, },
+ { 0x1918171615141312, 0x21201F1E1D1C1B1A,
+ 0x2928272625242322, 0x31302F2E2D2C2B2A,
+ 0x3938373635343332, 0x41403F3E3D3C3B3A,
+ 0x4948474645444342, 0x51504F4E4D4C4B4A, },
+ { 0x1A19181716151413, 0x2221201F1E1D1C1B,
+ 0x2A29282726252423, 0x3231302F2E2D2C2B,
+ 0x3A39383736353433, 0x4241403F3E3D3C3B,
+ 0x4A49484746454443, 0x5251504F4E4D4C4B, },
+ { 0x1B1A191817161514, 0x232221201F1E1D1C,
+ 0x2B2A292827262524, 0x333231302F2E2D2C,
+ 0x3B3A393837363534, 0x434241403F3E3D3C,
+ 0x4B4A494847464544, 0x535251504F4E4D4C, },
+ { 0x1C1B1A1918171615, 0x24232221201F1E1D,
+ 0x2C2B2A2928272625, 0x34333231302F2E2D,
+ 0x3C3B3A3938373635, 0x44434241403F3E3D,
+ 0x4C4B4A4948474645, 0x54535251504F4E4D, },
+ { 0x1D1C1B1A19181716, 0x2524232221201F1E,
+ 0x2D2C2B2A29282726, 0x3534333231302F2E,
+ 0x3D3C3B3A39383736, 0x4544434241403F3E,
+ 0x4D4C4B4A49484746, 0x5554535251504F4E, },
+ { 0x1E1D1C1B1A191817, 0x262524232221201F,
+ 0x2E2D2C2B2A292827, 0x363534333231302F,
+ 0x3E3D3C3B3A393837, 0x464544434241403F,
+ 0x4E4D4C4B4A494847, 0x565554535251504F, },
+ { 0x1F1E1D1C1B1A1918, 0x2726252423222120,
+ 0x2F2E2D2C2B2A2928, 0x3736353433323130,
+ 0x3F3E3D3C3B3A3938, 0x4746454443424140,
+ 0x4F4E4D4C4B4A4948, 0x5756555453525150, },
+ { 0x201F1E1D1C1B1A19, 0x2827262524232221,
+ 0x302F2E2D2C2B2A29, 0x3837363534333231,
+ 0x403F3E3D3C3B3A39, 0x4847464544434241,
+ 0x504F4E4D4C4B4A49, 0x5857565554535251, },
+ { 0x21201F1E1D1C1B1A, 0x2928272625242322,
+ 0x31302F2E2D2C2B2A, 0x3938373635343332,
+ 0x41403F3E3D3C3B3A, 0x4948474645444342,
+ 0x51504F4E4D4C4B4A, 0x5958575655545352, },
+ { 0x2221201F1E1D1C1B, 0x2A29282726252423,
+ 0x3231302F2E2D2C2B, 0x3A39383736353433,
+ 0x4241403F3E3D3C3B, 0x4A49484746454443,
+ 0x5251504F4E4D4C4B, 0x5A59585756555453, },
+ { 0x232221201F1E1D1C, 0x2B2A292827262524,
+ 0x333231302F2E2D2C, 0x3B3A393837363534,
+ 0x434241403F3E3D3C, 0x4B4A494847464544,
+ 0x535251504F4E4D4C, 0x5B5A595857565554, },
+ { 0x24232221201F1E1D, 0x2C2B2A2928272625,
+ 0x34333231302F2E2D, 0x3C3B3A3938373635,
+ 0x44434241403F3E3D, 0x4C4B4A4948474645,
+ 0x54535251504F4E4D, 0x5C5B5A5958575655, },
+ { 0x2524232221201F1E, 0x2D2C2B2A29282726,
+ 0x3534333231302F2E, 0x3D3C3B3A39383736,
+ 0x4544434241403F3E, 0x4D4C4B4A49484746,
+ 0x5554535251504F4E, 0x5D5C5B5A59585756, },
+ { 0x262524232221201F, 0x2E2D2C2B2A292827,
+ 0x363534333231302F, 0x3E3D3C3B3A393837,
+ 0x464544434241403F, 0x4E4D4C4B4A494847,
+ 0x565554535251504F, 0x5E5D5C5B5A595857, },
+#endif
+ };
+
+ asm volatile(
+ "vmovaps 0x000(%0), %%zmm0\n\t"
+ "vmovaps 0x040(%0), %%zmm1\n\t"
+ "vmovaps 0x080(%0), %%zmm2\n\t"
+ "vmovaps 0x0C0(%0), %%zmm3\n\t"
+ "vmovaps 0x100(%0), %%zmm4\n\t"
+ "vmovaps 0x140(%0), %%zmm5\n\t"
+ "vmovaps 0x180(%0), %%zmm6\n\t"
+ "vmovaps 0x1C0(%0), %%zmm7\n\t"
+#if defined(__x86_64__) || defined(_M_X64)
+ "vmovaps 0x200(%0), %%zmm8\n\t"
+ "vmovaps 0x240(%0), %%zmm9\n\t"
+ "vmovaps 0x280(%0), %%zmm10\n\t"
+ "vmovaps 0x2C0(%0), %%zmm11\n\t"
+ "vmovaps 0x300(%0), %%zmm12\n\t"
+ "vmovaps 0x340(%0), %%zmm13\n\t"
+ "vmovaps 0x380(%0), %%zmm14\n\t"
+ "vmovaps 0x3C0(%0), %%zmm15\n\t"
+ "vmovaps 0x400(%0), %%zmm16\n\t"
+ "vmovaps 0x440(%0), %%zmm17\n\t"
+ "vmovaps 0x480(%0), %%zmm18\n\t"
+ "vmovaps 0x4C0(%0), %%zmm19\n\t"
+ "vmovaps 0x500(%0), %%zmm20\n\t"
+ "vmovaps 0x540(%0), %%zmm21\n\t"
+ "vmovaps 0x580(%0), %%zmm22\n\t"
+ "vmovaps 0x5C0(%0), %%zmm23\n\t"
+ "vmovaps 0x600(%0), %%zmm24\n\t"
+ "vmovaps 0x640(%0), %%zmm25\n\t"
+ "vmovaps 0x680(%0), %%zmm26\n\t"
+ "vmovaps 0x6C0(%0), %%zmm27\n\t"
+ "vmovaps 0x700(%0), %%zmm28\n\t"
+ "vmovaps 0x740(%0), %%zmm29\n\t"
+ "vmovaps 0x780(%0), %%zmm30\n\t"
+ "vmovaps 0x7C0(%0), %%zmm31\n\t"
+#endif
+ "\n\t"
+ "int3\n\t"
+ :
+ : "b"(zmm)
+ : "%zmm0", "%zmm1", "%zmm2", "%zmm3", "%zmm4", "%zmm5", "%zmm6", "%zmm7"
+#if defined(__x86_64__) || defined(_M_X64)
+ , "%zmm8", "%zmm9", "%zmm10", "%zmm11", "%zmm12", "%zmm13", "%zmm14",
+ "%zmm15", "%zmm16", "%zmm17", "%zmm18", "%zmm19", "%zmm20", "%zmm21",
+ "%zmm22", "%zmm23", "%zmm24", "%zmm25", "%zmm26", "%zmm27", "%zmm28",
+ "%zmm29", "%zmm30", "%zmm31"
+#endif
+ );
+
+ return 0;
+}
diff --git a/lldb/test/Shell/Register/Inputs/x86-zmm-write.cpp b/lldb/test/Shell/Register/Inputs/x86-zmm-write.cpp
new file mode 100644
index 00000000000..4830fb2a742
--- /dev/null
+++ b/lldb/test/Shell/Register/Inputs/x86-zmm-write.cpp
@@ -0,0 +1,111 @@
+#include <cinttypes>
+#include <cstdint>
+#include <cstdio>
+
+union alignas(64) zmm_t {
+ uint64_t as_uint64[8];
+ uint8_t as_uint8[64];
+};
+
+int main() {
+ constexpr zmm_t zmm_fill = {
+ .as_uint64 = { 0x0F0F0F0F0F0F0F0F, 0x0F0F0F0F0F0F0F0F,
+ 0x0F0F0F0F0F0F0F0F, 0x0F0F0F0F0F0F0F0F,
+ 0x0F0F0F0F0F0F0F0F, 0x0F0F0F0F0F0F0F0F,
+ 0x0F0F0F0F0F0F0F0F, 0x0F0F0F0F0F0F0F0F }
+ };
+
+ zmm_t zmm[32];
+
+ asm volatile(
+ "vmovaps %1, %%zmm0\n\t"
+ "vmovaps %1, %%zmm1\n\t"
+ "vmovaps %1, %%zmm2\n\t"
+ "vmovaps %1, %%zmm3\n\t"
+ "vmovaps %1, %%zmm4\n\t"
+ "vmovaps %1, %%zmm5\n\t"
+ "vmovaps %1, %%zmm6\n\t"
+ "vmovaps %1, %%zmm7\n\t"
+#if defined(__x86_64__) || defined(_M_X64)
+ "vmovaps %1, %%zmm8\n\t"
+ "vmovaps %1, %%zmm9\n\t"
+ "vmovaps %1, %%zmm10\n\t"
+ "vmovaps %1, %%zmm11\n\t"
+ "vmovaps %1, %%zmm12\n\t"
+ "vmovaps %1, %%zmm13\n\t"
+ "vmovaps %1, %%zmm14\n\t"
+ "vmovaps %1, %%zmm15\n\t"
+ "vmovaps %1, %%zmm16\n\t"
+ "vmovaps %1, %%zmm17\n\t"
+ "vmovaps %1, %%zmm18\n\t"
+ "vmovaps %1, %%zmm19\n\t"
+ "vmovaps %1, %%zmm20\n\t"
+ "vmovaps %1, %%zmm21\n\t"
+ "vmovaps %1, %%zmm22\n\t"
+ "vmovaps %1, %%zmm23\n\t"
+ "vmovaps %1, %%zmm24\n\t"
+ "vmovaps %1, %%zmm25\n\t"
+ "vmovaps %1, %%zmm26\n\t"
+ "vmovaps %1, %%zmm27\n\t"
+ "vmovaps %1, %%zmm28\n\t"
+ "vmovaps %1, %%zmm29\n\t"
+ "vmovaps %1, %%zmm30\n\t"
+ "vmovaps %1, %%zmm31\n\t"
+#endif
+ "\n\t"
+ "int3\n\t"
+ "\n\t"
+ "vmovaps %%zmm0, 0x000(%0)\n\t"
+ "vmovaps %%zmm1, 0x040(%0)\n\t"
+ "vmovaps %%zmm2, 0x080(%0)\n\t"
+ "vmovaps %%zmm3, 0x0C0(%0)\n\t"
+ "vmovaps %%zmm4, 0x100(%0)\n\t"
+ "vmovaps %%zmm5, 0x140(%0)\n\t"
+ "vmovaps %%zmm6, 0x180(%0)\n\t"
+ "vmovaps %%zmm7, 0x1C0(%0)\n\t"
+#if defined(__x86_64__) || defined(_M_X64)
+ "vmovaps %%zmm8, 0x200(%0)\n\t"
+ "vmovaps %%zmm9, 0x240(%0)\n\t"
+ "vmovaps %%zmm10, 0x280(%0)\n\t"
+ "vmovaps %%zmm11, 0x2C0(%0)\n\t"
+ "vmovaps %%zmm12, 0x300(%0)\n\t"
+ "vmovaps %%zmm13, 0x340(%0)\n\t"
+ "vmovaps %%zmm14, 0x380(%0)\n\t"
+ "vmovaps %%zmm15, 0x3C0(%0)\n\t"
+ "vmovaps %%zmm16, 0x400(%0)\n\t"
+ "vmovaps %%zmm17, 0x440(%0)\n\t"
+ "vmovaps %%zmm18, 0x480(%0)\n\t"
+ "vmovaps %%zmm19, 0x4C0(%0)\n\t"
+ "vmovaps %%zmm20, 0x500(%0)\n\t"
+ "vmovaps %%zmm21, 0x540(%0)\n\t"
+ "vmovaps %%zmm22, 0x580(%0)\n\t"
+ "vmovaps %%zmm23, 0x5C0(%0)\n\t"
+ "vmovaps %%zmm24, 0x600(%0)\n\t"
+ "vmovaps %%zmm25, 0x640(%0)\n\t"
+ "vmovaps %%zmm26, 0x680(%0)\n\t"
+ "vmovaps %%zmm27, 0x6C0(%0)\n\t"
+ "vmovaps %%zmm28, 0x700(%0)\n\t"
+ "vmovaps %%zmm29, 0x740(%0)\n\t"
+ "vmovaps %%zmm30, 0x780(%0)\n\t"
+ "vmovaps %%zmm31, 0x7C0(%0)\n\t"
+#endif
+ :
+ : "b"(zmm), "m"(zmm_fill)
+ : "%zmm0", "%zmm1", "%zmm2", "%zmm3", "%zmm4", "%zmm5", "%zmm6", "%zmm7"
+#if defined(__x86_64__) || defined(_M_X64)
+ , "%zmm8", "%zmm9", "%zmm10", "%zmm11", "%zmm12", "%zmm13", "%zmm14",
+ "%zmm15", "%zmm16", "%zmm17", "%zmm18", "%zmm19", "%zmm20", "%zmm21",
+ "%zmm22", "%zmm23", "%zmm24", "%zmm25", "%zmm26", "%zmm27", "%zmm28",
+ "%zmm29", "%zmm30", "%zmm31"
+#endif
+ );
+
+ for (int i = 0; i < 32; ++i) {
+ printf("zmm%d = { ", i);
+ for (int j = 0; j < sizeof(zmm->as_uint8); ++j)
+ printf("0x%02x ", zmm[i].as_uint8[j]);
+ printf("}\n");
+ }
+
+ return 0;
+}
diff --git a/lldb/test/Shell/Register/x86-64-gp-read.test b/lldb/test/Shell/Register/x86-64-gp-read.test
new file mode 100644
index 00000000000..56f9a631db0
--- /dev/null
+++ b/lldb/test/Shell/Register/x86-64-gp-read.test
@@ -0,0 +1,42 @@
+# XFAIL: system-windows
+# REQUIRES: native && target-x86_64
+# RUN: %clangxx -fomit-frame-pointer %p/Inputs/x86-64-gp-read.cpp -o %t
+# RUN: %lldb -b -s %s %t | FileCheck %s
+process launch
+
+register read --all
+# CHECK-DAG: rax = 0x0102030405060708
+# CHECK-DAG: rbx = 0x1112131415161718
+# CHECK-DAG: rcx = 0x2122232425262728
+# CHECK-DAG: rdx = 0x3132333435363738
+# CHECK-DAG: rdi = 0x7172737475767778
+# CHECK-DAG: rsi = 0x6162636465666768
+# CHECK-DAG: rbp = 0x5152535455565758
+# CHECK-DAG: rsp = 0x4142434445464748
+# CHECK-DAG: eax = 0x05060708
+# CHECK-DAG: ebx = 0x15161718
+# CHECK-DAG: ecx = 0x25262728
+# CHECK-DAG: edx = 0x35363738
+# CHECK-DAG: edi = 0x75767778
+# CHECK-DAG: esi = 0x65666768
+# CHECK-DAG: ebp = 0x55565758
+# CHECK-DAG: esp = 0x45464748
+# CHECK-DAG: ax = 0x0708
+# CHECK-DAG: bx = 0x1718
+# CHECK-DAG: cx = 0x2728
+# CHECK-DAG: dx = 0x3738
+# CHECK-DAG: di = 0x7778
+# CHECK-DAG: si = 0x6768
+# CHECK-DAG: bp = 0x5758
+# CHECK-DAG: sp = 0x4748
+# CHECK-DAG: ah = 0x07
+# CHECK-DAG: bh = 0x17
+# CHECK-DAG: ch = 0x27
+# CHECK-DAG: dh = 0x37
+# CHECK-DAG: al = 0x08
+# CHECK-DAG: bl = 0x18
+# CHECK-DAG: cl = 0x28
+# CHECK-DAG: dl = 0x38
+
+process continue
+# CHECK: Process {{[0-9]+}} exited with status = 0
diff --git a/lldb/test/Shell/Register/x86-64-gp-write.test b/lldb/test/Shell/Register/x86-64-gp-write.test
new file mode 100644
index 00000000000..c79de92b55a
--- /dev/null
+++ b/lldb/test/Shell/Register/x86-64-gp-write.test
@@ -0,0 +1,26 @@
+# UNSUPPORTED: system-darwin
+# REQUIRES: native && target-x86_64
+# RUN: %clangxx -fomit-frame-pointer %p/Inputs/x86-64-gp-write.cpp -o %t
+# RUN: %lldb -b -s %s %t | FileCheck %s
+process launch
+
+register write rax 0x0102030405060708
+register write rbx 0x1112131415161718
+register write rcx 0x2122232425262728
+register write rdx 0x3132333435363738
+register write rsp 0x4142434445464748
+register write rbp 0x5152535455565758
+register write rsi 0x6162636465666768
+register write rdi 0x7172737475767778
+
+process continue
+# CHECK-DAG: rax = 0x0102030405060708
+# CHECK-DAG: rbx = 0x1112131415161718
+# CHECK-DAG: rcx = 0x2122232425262728
+# CHECK-DAG: rdx = 0x3132333435363738
+# CHECK-DAG: rsp = 0x4142434445464748
+# CHECK-DAG: rbp = 0x5152535455565758
+# CHECK-DAG: rsi = 0x6162636465666768
+# CHECK-DAG: rdi = 0x7172737475767778
+
+# CHECK: Process {{[0-9]+}} exited with status = 0
diff --git a/lldb/test/Shell/Register/x86-64-read.test b/lldb/test/Shell/Register/x86-64-read.test
new file mode 100644
index 00000000000..090b34a7686
--- /dev/null
+++ b/lldb/test/Shell/Register/x86-64-read.test
@@ -0,0 +1,51 @@
+# XFAIL: system-windows
+# REQUIRES: native && target-x86_64
+# RUN: %clangxx %p/Inputs/x86-64-read.cpp -o %t
+# RUN: %lldb -b -s %s %t | FileCheck %s
+process launch
+
+register read --all
+# CHECK-DAG: r8 = 0x0001020304050607
+# CHECK-DAG: r9 = 0x1011121314151617
+# CHECK-DAG: r10 = 0x2021222324252627
+# CHECK-DAG: r11 = 0x3031323334353637
+# CHECK-DAG: r12 = 0x4041424344454647
+# CHECK-DAG: r13 = 0x5051525354555657
+# CHECK-DAG: r14 = 0x6061626364656667
+# CHECK-DAG: r15 = 0x7071727374757677
+# CHECK-DAG: r8d = 0x04050607
+# CHECK-DAG: r9d = 0x14151617
+# CHECK-DAG: r10d = 0x24252627
+# CHECK-DAG: r11d = 0x34353637
+# CHECK-DAG: r12d = 0x44454647
+# CHECK-DAG: r13d = 0x54555657
+# CHECK-DAG: r14d = 0x64656667
+# CHECK-DAG: r15d = 0x74757677
+# CHECK-DAG: r8w = 0x0607
+# CHECK-DAG: r9w = 0x1617
+# CHECK-DAG: r10w = 0x2627
+# CHECK-DAG: r11w = 0x3637
+# CHECK-DAG: r12w = 0x4647
+# CHECK-DAG: r13w = 0x5657
+# CHECK-DAG: r14w = 0x6667
+# CHECK-DAG: r15w = 0x7677
+# CHECK-DAG: r8l = 0x07
+# CHECK-DAG: r9l = 0x17
+# CHECK-DAG: r10l = 0x27
+# CHECK-DAG: r11l = 0x37
+# CHECK-DAG: r12l = 0x47
+# CHECK-DAG: r13l = 0x57
+# CHECK-DAG: r14l = 0x67
+# CHECK-DAG: r15l = 0x77
+
+# CHECK-DAG: xmm8 = {0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17}
+# CHECK-DAG: xmm9 = {0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18}
+# CHECK-DAG: xmm10 = {0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19}
+# CHECK-DAG: xmm11 = {0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a}
+# CHECK-DAG: xmm12 = {0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b}
+# CHECK-DAG: xmm13 = {0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c}
+# CHECK-DAG: xmm14 = {0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d}
+# CHECK-DAG: xmm15 = {0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e}
+
+process continue
+# CHECK: Process {{[0-9]+}} exited with status = 0
diff --git a/lldb/test/Shell/Register/x86-64-write.test b/lldb/test/Shell/Register/x86-64-write.test
new file mode 100644
index 00000000000..362e514450f
--- /dev/null
+++ b/lldb/test/Shell/Register/x86-64-write.test
@@ -0,0 +1,47 @@
+# XFAIL: system-darwin
+# XFAIL: system-windows
+# REQUIRES: native && (target-x86 || target-x86_64) && native-cpu-sse
+# RUN: %clangxx %p/Inputs/x86-64-write.cpp -o %t
+# RUN: %lldb -b -s %s %t | FileCheck %s
+process launch
+
+register write r8 0x0001020304050607
+register write r9 0x1011121314151617
+register write r10 0x2021222324252627
+register write r11 0x3031323334353637
+register write r12 0x4041424344454647
+register write r13 0x5051525354555657
+register write r14 0x6061626364656667
+register write r15 0x7071727374757677
+
+register write xmm8 "{0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17}"
+register write xmm9 "{0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18}"
+register write xmm10 "{0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19}"
+register write xmm11 "{0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a}"
+register write xmm12 "{0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b}"
+register write xmm13 "{0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c}"
+register write xmm14 "{0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d}"
+register write xmm15 "{0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e}"
+
+process continue
+# CHECK: process continue
+
+# CHECK-DAG: r8 = 0x0001020304050607
+# CHECK-DAG: r9 = 0x1011121314151617
+# CHECK-DAG: r10 = 0x2021222324252627
+# CHECK-DAG: r11 = 0x3031323334353637
+# CHECK-DAG: r12 = 0x4041424344454647
+# CHECK-DAG: r13 = 0x5051525354555657
+# CHECK-DAG: r14 = 0x6061626364656667
+# CHECK-DAG: r15 = 0x7071727374757677
+
+# CHECK-DAG: xmm8 = { 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 }
+# CHECK-DAG: xmm9 = { 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 }
+# CHECK-DAG: xmm10 = { 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 }
+# CHECK-DAG: xmm11 = { 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a }
+# CHECK-DAG: xmm12 = { 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b }
+# CHECK-DAG: xmm13 = { 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c }
+# CHECK-DAG: xmm14 = { 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d }
+# CHECK-DAG: xmm15 = { 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e }
+
+# CHECK: Process {{[0-9]+}} exited with status = 0
diff --git a/lldb/test/Shell/Register/x86-64-xmm16-read.test b/lldb/test/Shell/Register/x86-64-xmm16-read.test
new file mode 100644
index 00000000000..9d060c88cef
--- /dev/null
+++ b/lldb/test/Shell/Register/x86-64-xmm16-read.test
@@ -0,0 +1,30 @@
+# XFAIL: system-freebsd
+# XFAIL: system-linux
+# XFAIL: system-netbsd
+# XFAIL: system-windows
+# XFAIL: system-darwin
+# REQUIRES: native && target-x86_64 && native-cpu-avx512f
+# RUN: %clangxx %p/Inputs/x86-zmm-read.cpp -o %t
+# RUN: %lldb -b -s %s %t | FileCheck %s
+process launch
+
+register read --all
+# CHECK-DAG: xmm16 = {0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f}
+# CHECK-DAG: xmm17 = {0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20}
+# CHECK-DAG: xmm18 = {0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21}
+# CHECK-DAG: xmm19 = {0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22}
+# CHECK-DAG: xmm20 = {0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23}
+# CHECK-DAG: xmm21 = {0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24}
+# CHECK-DAG: xmm22 = {0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25}
+# CHECK-DAG: xmm23 = {0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26}
+# CHECK-DAG: xmm24 = {0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27}
+# CHECK-DAG: xmm25 = {0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28}
+# CHECK-DAG: xmm26 = {0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29}
+# CHECK-DAG: xmm27 = {0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a}
+# CHECK-DAG: xmm28 = {0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b}
+# CHECK-DAG: xmm29 = {0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c}
+# CHECK-DAG: xmm30 = {0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d}
+# CHECK-DAG: xmm31 = {0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e}
+
+process continue
+# CHECK: Process {{[0-9]+}} exited with status = 0
diff --git a/lldb/test/Shell/Register/x86-64-xmm16-write.test b/lldb/test/Shell/Register/x86-64-xmm16-write.test
new file mode 100644
index 00000000000..8c7ad8d7dca
--- /dev/null
+++ b/lldb/test/Shell/Register/x86-64-xmm16-write.test
@@ -0,0 +1,48 @@
+# XFAIL: system-darwin
+# XFAIL: system-freebsd
+# XFAIL: system-linux
+# XFAIL: system-netbsd
+# XFAIL: system-windows
+# REQUIRES: native && target-x86 && native-cpu-avx512f
+# RUN: %clangxx %p/Inputs/x86-zmm-write.cpp -o %t
+# RUN: %lldb -b -s %s %t | FileCheck %s
+process launch
+
+register write xmm16 "{0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f}"
+register write xmm17 "{0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20}"
+register write xmm18 "{0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21}"
+register write xmm19 "{0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22}"
+register write xmm20 "{0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23}"
+register write xmm21 "{0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24}"
+register write xmm22 "{0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25}"
+register write xmm23 "{0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26}"
+register write xmm24 "{0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27}"
+register write xmm25 "{0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28}"
+register write xmm26 "{0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29}"
+register write xmm27 "{0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a}"
+register write xmm28 "{0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b}"
+register write xmm29 "{0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c}"
+register write xmm30 "{0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d}"
+register write xmm31 "{0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e}"
+
+process continue
+# CHECK: process continue
+
+# CHECK-DAG: zmm16 = { 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 }
+# CHECK-DAG: zmm17 = { 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 }
+# CHECK-DAG: zmm18 = { 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 }
+# CHECK-DAG: zmm19 = { 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 }
+# CHECK-DAG: zmm20 = { 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 }
+# CHECK-DAG: zmm21 = { 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 }
+# CHECK-DAG: zmm22 = { 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 }
+# CHECK-DAG: zmm23 = { 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 }
+# CHECK-DAG: zmm24 = { 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 }
+# CHECK-DAG: zmm25 = { 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 }
+# CHECK-DAG: zmm26 = { 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 }
+# CHECK-DAG: zmm27 = { 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 }
+# CHECK-DAG: zmm28 = { 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 }
+# CHECK-DAG: zmm29 = { 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 }
+# CHECK-DAG: zmm30 = { 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 }
+# CHECK-DAG: zmm31 = { 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 }
+
+# CHECK: Process {{[0-9]+}} exited with status = 0
diff --git a/lldb/test/Shell/Register/x86-64-ymm-read.test b/lldb/test/Shell/Register/x86-64-ymm-read.test
new file mode 100644
index 00000000000..dbb5c8a6962
--- /dev/null
+++ b/lldb/test/Shell/Register/x86-64-ymm-read.test
@@ -0,0 +1,43 @@
+# XFAIL: system-windows
+# REQUIRES: native && target-x86_64 && native-cpu-avx
+# RUN: %clangxx %p/Inputs/x86-ymm-read.cpp -o %t
+# RUN: %lldb -b -s %s %t | FileCheck %s
+process launch
+
+register read --all
+# CHECK-DAG: xmm0 = {0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f}
+# CHECK-DAG: xmm1 = {0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10}
+# CHECK-DAG: xmm2 = {0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11}
+# CHECK-DAG: xmm3 = {0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12}
+# CHECK-DAG: xmm4 = {0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13}
+# CHECK-DAG: xmm5 = {0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14}
+# CHECK-DAG: xmm6 = {0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15}
+# CHECK-DAG: xmm7 = {0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16}
+# CHECK-DAG: xmm8 = {0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17}
+# CHECK-DAG: xmm9 = {0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18}
+# CHECK-DAG: xmm10 = {0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19}
+# CHECK-DAG: xmm11 = {0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a}
+# CHECK-DAG: xmm12 = {0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b}
+# CHECK-DAG: xmm13 = {0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c}
+# CHECK-DAG: xmm14 = {0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d}
+# CHECK-DAG: xmm15 = {0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e}
+
+# CHECK-DAG: ymm0 = {0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f}
+# CHECK-DAG: ymm1 = {0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20}
+# CHECK-DAG: ymm2 = {0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21}
+# CHECK-DAG: ymm3 = {0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22}
+# CHECK-DAG: ymm4 = {0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23}
+# CHECK-DAG: ymm5 = {0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24}
+# CHECK-DAG: ymm6 = {0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25}
+# CHECK-DAG: ymm7 = {0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26}
+# CHECK-DAG: ymm8 = {0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27}
+# CHECK-DAG: ymm9 = {0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28}
+# CHECK-DAG: ymm10 = {0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29}
+# CHECK-DAG: ymm11 = {0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a}
+# CHECK-DAG: ymm12 = {0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b}
+# CHECK-DAG: ymm13 = {0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c}
+# CHECK-DAG: ymm14 = {0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d}
+# CHECK-DAG: ymm15 = {0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e}
+
+process continue
+# CHECK: Process {{[0-9]+}} exited with status = 0
diff --git a/lldb/test/Shell/Register/x86-64-ymm-write.test b/lldb/test/Shell/Register/x86-64-ymm-write.test
new file mode 100644
index 00000000000..4fe04a92d38
--- /dev/null
+++ b/lldb/test/Shell/Register/x86-64-ymm-write.test
@@ -0,0 +1,45 @@
+# XFAIL: system-darwin
+# XFAIL: system-windows
+# REQUIRES: native && target-x86_64 && native-cpu-avx
+# RUN: %clangxx %p/Inputs/x86-ymm-write.cpp -o %t
+# RUN: %lldb -b -s %s %t | FileCheck %s
+process launch
+
+register write ymm0 "{0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f}"
+register write ymm1 "{0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20}"
+register write ymm2 "{0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21}"
+register write ymm3 "{0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22}"
+register write ymm4 "{0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23}"
+register write ymm5 "{0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24}"
+register write ymm6 "{0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25}"
+register write ymm7 "{0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26}"
+register write ymm8 "{0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27}"
+register write ymm9 "{0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28}"
+register write ymm10 "{0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29}"
+register write ymm11 "{0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a}"
+register write ymm12 "{0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b}"
+register write ymm13 "{0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c}"
+register write ymm14 "{0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d}"
+register write ymm15 "{0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e}"
+
+process continue
+# CHECK: process continue
+
+# CHECK-DAG: ymm0 = { 0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f }
+# CHECK-DAG: ymm1 = { 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 }
+# CHECK-DAG: ymm2 = { 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 }
+# CHECK-DAG: ymm3 = { 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 }
+# CHECK-DAG: ymm4 = { 0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 }
+# CHECK-DAG: ymm5 = { 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 }
+# CHECK-DAG: ymm6 = { 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 }
+# CHECK-DAG: ymm7 = { 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 }
+# CHECK-DAG: ymm8 = { 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 }
+# CHECK-DAG: ymm9 = { 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 }
+# CHECK-DAG: ymm10 = { 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 }
+# CHECK-DAG: ymm11 = { 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a }
+# CHECK-DAG: ymm12 = { 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b }
+# CHECK-DAG: ymm13 = { 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c }
+# CHECK-DAG: ymm14 = { 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d }
+# CHECK-DAG: ymm15 = { 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e }
+
+# CHECK: Process {{[0-9]+}} exited with status = 0
diff --git a/lldb/test/Shell/Register/x86-64-ymm16-read.test b/lldb/test/Shell/Register/x86-64-ymm16-read.test
new file mode 100644
index 00000000000..5d81878c500
--- /dev/null
+++ b/lldb/test/Shell/Register/x86-64-ymm16-read.test
@@ -0,0 +1,30 @@
+# XFAIL: system-freebsd
+# XFAIL: system-linux
+# XFAIL: system-netbsd
+# XFAIL: system-windows
+# XFAIL: system-darwin
+# REQUIRES: native && target-x86_64 && native-cpu-avx512f
+# RUN: %clangxx %p/Inputs/x86-zmm-read.cpp -o %t
+# RUN: %lldb -b -s %s %t | FileCheck %s
+process launch
+
+register read --all
+# CHECK-DAG: ymm16 = {0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f}
+# CHECK-DAG: ymm17 = {0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30}
+# CHECK-DAG: ymm18 = {0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31}
+# CHECK-DAG: ymm19 = {0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32}
+# CHECK-DAG: ymm20 = {0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33}
+# CHECK-DAG: ymm21 = {0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34}
+# CHECK-DAG: ymm22 = {0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35}
+# CHECK-DAG: ymm23 = {0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36}
+# CHECK-DAG: ymm24 = {0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37}
+# CHECK-DAG: ymm25 = {0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38}
+# CHECK-DAG: ymm26 = {0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39}
+# CHECK-DAG: ymm27 = {0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a}
+# CHECK-DAG: ymm28 = {0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b}
+# CHECK-DAG: ymm29 = {0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c}
+# CHECK-DAG: ymm30 = {0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d}
+# CHECK-DAG: ymm31 = {0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e}
+
+process continue
+# CHECK: Process {{[0-9]+}} exited with status = 0
diff --git a/lldb/test/Shell/Register/x86-64-ymm16-write.test b/lldb/test/Shell/Register/x86-64-ymm16-write.test
new file mode 100644
index 00000000000..c3df572dbc8
--- /dev/null
+++ b/lldb/test/Shell/Register/x86-64-ymm16-write.test
@@ -0,0 +1,48 @@
+# XFAIL: system-darwin
+# XFAIL: system-freebsd
+# XFAIL: system-linux
+# XFAIL: system-netbsd
+# XFAIL: system-windows
+# REQUIRES: native && target-x86 && native-cpu-avx512f
+# RUN: %clangxx %p/Inputs/x86-zmm-write.cpp -o %t
+# RUN: %lldb -b -s %s %t | FileCheck %s
+process launch
+
+register write ymm16 "{0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f}"
+register write ymm17 "{0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30}"
+register write ymm18 "{0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31}"
+register write ymm19 "{0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32}"
+register write ymm20 "{0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33}"
+register write ymm21 "{0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34}"
+register write ymm22 "{0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35}"
+register write ymm23 "{0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36}"
+register write ymm24 "{0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37}"
+register write ymm25 "{0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38}"
+register write ymm26 "{0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39}"
+register write ymm27 "{0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a}"
+register write ymm28 "{0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b}"
+register write ymm29 "{0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c}"
+register write ymm30 "{0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d}"
+register write ymm31 "{0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e}"
+
+process continue
+# CHECK: process continue
+
+# CHECK-DAG: zmm16 = { 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 }
+# CHECK-DAG: zmm17 = { 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 }
+# CHECK-DAG: zmm18 = { 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 }
+# CHECK-DAG: zmm19 = { 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 }
+# CHECK-DAG: zmm20 = { 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 }
+# CHECK-DAG: zmm21 = { 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 }
+# CHECK-DAG: zmm22 = { 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 }
+# CHECK-DAG: zmm23 = { 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 }
+# CHECK-DAG: zmm24 = { 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 }
+# CHECK-DAG: zmm25 = { 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 }
+# CHECK-DAG: zmm26 = { 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 }
+# CHECK-DAG: zmm27 = { 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 }
+# CHECK-DAG: zmm28 = { 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 }
+# CHECK-DAG: zmm29 = { 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 }
+# CHECK-DAG: zmm30 = { 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 }
+# CHECK-DAG: zmm31 = { 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 }
+
+# CHECK: Process {{[0-9]+}} exited with status = 0
diff --git a/lldb/test/Shell/Register/x86-64-zmm-read.test b/lldb/test/Shell/Register/x86-64-zmm-read.test
new file mode 100644
index 00000000000..5f42b10652e
--- /dev/null
+++ b/lldb/test/Shell/Register/x86-64-zmm-read.test
@@ -0,0 +1,45 @@
+# XFAIL: system-freebsd
+# XFAIL: system-linux
+# XFAIL: system-netbsd
+# XFAIL: system-windows
+# REQUIRES: native && target-x86_64 && native-cpu-avx512f
+# RUN: %clangxx %p/Inputs/x86-zmm-read.cpp -o %t
+# RUN: %lldb -b -s %s %t | FileCheck %s
+process launch
+
+register read --all
+# CHECK-DAG: zmm0 = {0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f}
+# CHECK-DAG: zmm1 = {0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f 0x40}
+# CHECK-DAG: zmm2 = {0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f 0x40 0x41}
+# CHECK-DAG: zmm3 = {0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f 0x40 0x41 0x42}
+# CHECK-DAG: zmm4 = {0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f 0x40 0x41 0x42 0x43}
+# CHECK-DAG: zmm5 = {0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f 0x40 0x41 0x42 0x43 0x44}
+# CHECK-DAG: zmm6 = {0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f 0x40 0x41 0x42 0x43 0x44 0x45}
+# CHECK-DAG: zmm7 = {0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f 0x40 0x41 0x42 0x43 0x44 0x45 0x46}
+# CHECK-DAG: zmm8 = {0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f 0x40 0x41 0x42 0x43 0x44 0x45 0x46 0x47}
+# CHECK-DAG: zmm9 = {0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f 0x40 0x41 0x42 0x43 0x44 0x45 0x46 0x47 0x48}
+# CHECK-DAG: zmm10 = {0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f 0x40 0x41 0x42 0x43 0x44 0x45 0x46 0x47 0x48 0x49}
+# CHECK-DAG: zmm11 = {0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f 0x40 0x41 0x42 0x43 0x44 0x45 0x46 0x47 0x48 0x49 0x4a}
+# CHECK-DAG: zmm12 = {0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f 0x40 0x41 0x42 0x43 0x44 0x45 0x46 0x47 0x48 0x49 0x4a 0x4b}
+# CHECK-DAG: zmm13 = {0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f 0x40 0x41 0x42 0x43 0x44 0x45 0x46 0x47 0x48 0x49 0x4a 0x4b 0x4c}
+# CHECK-DAG: zmm14 = {0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f 0x40 0x41 0x42 0x43 0x44 0x45 0x46 0x47 0x48 0x49 0x4a 0x4b 0x4c 0x4d}
+# CHECK-DAG: zmm15 = {0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f 0x40 0x41 0x42 0x43 0x44 0x45 0x46 0x47 0x48 0x49 0x4a 0x4b 0x4c 0x4d 0x4e}
+# CHECK-DAG: zmm16 = {0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f 0x40 0x41 0x42 0x43 0x44 0x45 0x46 0x47 0x48 0x49 0x4a 0x4b 0x4c 0x4d 0x4e 0x4f}
+# CHECK-DAG: zmm17 = {0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f 0x40 0x41 0x42 0x43 0x44 0x45 0x46 0x47 0x48 0x49 0x4a 0x4b 0x4c 0x4d 0x4e 0x4f 0x50}
+# CHECK-DAG: zmm18 = {0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f 0x40 0x41 0x42 0x43 0x44 0x45 0x46 0x47 0x48 0x49 0x4a 0x4b 0x4c 0x4d 0x4e 0x4f 0x50 0x51}
+# CHECK-DAG: zmm19 = {0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f 0x40 0x41 0x42 0x43 0x44 0x45 0x46 0x47 0x48 0x49 0x4a 0x4b 0x4c 0x4d 0x4e 0x4f 0x50 0x51 0x52}
+# CHECK-DAG: zmm20 = {0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f 0x40 0x41 0x42 0x43 0x44 0x45 0x46 0x47 0x48 0x49 0x4a 0x4b 0x4c 0x4d 0x4e 0x4f 0x50 0x51 0x52 0x53}
+# CHECK-DAG: zmm21 = {0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f 0x40 0x41 0x42 0x43 0x44 0x45 0x46 0x47 0x48 0x49 0x4a 0x4b 0x4c 0x4d 0x4e 0x4f 0x50 0x51 0x52 0x53 0x54}
+# CHECK-DAG: zmm22 = {0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f 0x40 0x41 0x42 0x43 0x44 0x45 0x46 0x47 0x48 0x49 0x4a 0x4b 0x4c 0x4d 0x4e 0x4f 0x50 0x51 0x52 0x53 0x54 0x55}
+# CHECK-DAG: zmm23 = {0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f 0x40 0x41 0x42 0x43 0x44 0x45 0x46 0x47 0x48 0x49 0x4a 0x4b 0x4c 0x4d 0x4e 0x4f 0x50 0x51 0x52 0x53 0x54 0x55 0x56}
+# CHECK-DAG: zmm24 = {0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f 0x40 0x41 0x42 0x43 0x44 0x45 0x46 0x47 0x48 0x49 0x4a 0x4b 0x4c 0x4d 0x4e 0x4f 0x50 0x51 0x52 0x53 0x54 0x55 0x56 0x57}
+# CHECK-DAG: zmm25 = {0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f 0x40 0x41 0x42 0x43 0x44 0x45 0x46 0x47 0x48 0x49 0x4a 0x4b 0x4c 0x4d 0x4e 0x4f 0x50 0x51 0x52 0x53 0x54 0x55 0x56 0x57 0x58}
+# CHECK-DAG: zmm26 = {0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f 0x40 0x41 0x42 0x43 0x44 0x45 0x46 0x47 0x48 0x49 0x4a 0x4b 0x4c 0x4d 0x4e 0x4f 0x50 0x51 0x52 0x53 0x54 0x55 0x56 0x57 0x58 0x59}
+# CHECK-DAG: zmm27 = {0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f 0x40 0x41 0x42 0x43 0x44 0x45 0x46 0x47 0x48 0x49 0x4a 0x4b 0x4c 0x4d 0x4e 0x4f 0x50 0x51 0x52 0x53 0x54 0x55 0x56 0x57 0x58 0x59 0x5a}
+# CHECK-DAG: zmm28 = {0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f 0x40 0x41 0x42 0x43 0x44 0x45 0x46 0x47 0x48 0x49 0x4a 0x4b 0x4c 0x4d 0x4e 0x4f 0x50 0x51 0x52 0x53 0x54 0x55 0x56 0x57 0x58 0x59 0x5a 0x5b}
+# CHECK-DAG: zmm29 = {0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f 0x40 0x41 0x42 0x43 0x44 0x45 0x46 0x47 0x48 0x49 0x4a 0x4b 0x4c 0x4d 0x4e 0x4f 0x50 0x51 0x52 0x53 0x54 0x55 0x56 0x57 0x58 0x59 0x5a 0x5b 0x5c}
+# CHECK-DAG: zmm30 = {0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f 0x40 0x41 0x42 0x43 0x44 0x45 0x46 0x47 0x48 0x49 0x4a 0x4b 0x4c 0x4d 0x4e 0x4f 0x50 0x51 0x52 0x53 0x54 0x55 0x56 0x57 0x58 0x59 0x5a 0x5b 0x5c 0x5d}
+# CHECK-DAG: zmm31 = {0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f 0x40 0x41 0x42 0x43 0x44 0x45 0x46 0x47 0x48 0x49 0x4a 0x4b 0x4c 0x4d 0x4e 0x4f 0x50 0x51 0x52 0x53 0x54 0x55 0x56 0x57 0x58 0x59 0x5a 0x5b 0x5c 0x5d 0x5e}
+
+process continue
+# CHECK: Process {{[0-9]+}} exited with status = 0
diff --git a/lldb/test/Shell/Register/x86-64-zmm-write.test b/lldb/test/Shell/Register/x86-64-zmm-write.test
new file mode 100644
index 00000000000..5efa7823fd4
--- /dev/null
+++ b/lldb/test/Shell/Register/x86-64-zmm-write.test
@@ -0,0 +1,80 @@
+# XFAIL: system-darwin
+# XFAIL: system-freebsd
+# XFAIL: system-linux
+# XFAIL: system-netbsd
+# XFAIL: system-windows
+# REQUIRES: native && target-x86_64 && native-cpu-avx512f
+# RUN: %clangxx %p/Inputs/x86-zmm-write.cpp -o %t
+# RUN: %lldb -b -s %s %t | FileCheck %s
+process launch
+
+register write zmm0 "{0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f}"
+register write zmm1 "{0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f 0x40}"
+register write zmm2 "{0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f 0x40 0x41}"
+register write zmm3 "{0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f 0x40 0x41 0x42}"
+register write zmm4 "{0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f 0x40 0x41 0x42 0x43}"
+register write zmm5 "{0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f 0x40 0x41 0x42 0x43 0x44}"
+register write zmm6 "{0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f 0x40 0x41 0x42 0x43 0x44 0x45}"
+register write zmm7 "{0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f 0x40 0x41 0x42 0x43 0x44 0x45 0x46}"
+register write zmm8 "{0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f 0x40 0x41 0x42 0x43 0x44 0x45 0x46 0x47}"
+register write zmm9 "{0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f 0x40 0x41 0x42 0x43 0x44 0x45 0x46 0x47 0x48}"
+register write zmm10 "{0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f 0x40 0x41 0x42 0x43 0x44 0x45 0x46 0x47 0x48 0x49}"
+register write zmm11 "{0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f 0x40 0x41 0x42 0x43 0x44 0x45 0x46 0x47 0x48 0x49 0x4a}"
+register write zmm12 "{0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f 0x40 0x41 0x42 0x43 0x44 0x45 0x46 0x47 0x48 0x49 0x4a 0x4b}"
+register write zmm13 "{0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f 0x40 0x41 0x42 0x43 0x44 0x45 0x46 0x47 0x48 0x49 0x4a 0x4b 0x4c}"
+register write zmm14 "{0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f 0x40 0x41 0x42 0x43 0x44 0x45 0x46 0x47 0x48 0x49 0x4a 0x4b 0x4c 0x4d}"
+register write zmm15 "{0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f 0x40 0x41 0x42 0x43 0x44 0x45 0x46 0x47 0x48 0x49 0x4a 0x4b 0x4c 0x4d 0x4e}"
+register write zmm16 "{0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f 0x40 0x41 0x42 0x43 0x44 0x45 0x46 0x47 0x48 0x49 0x4a 0x4b 0x4c 0x4d 0x4e 0x4f}"
+register write zmm17 "{0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f 0x40 0x41 0x42 0x43 0x44 0x45 0x46 0x47 0x48 0x49 0x4a 0x4b 0x4c 0x4d 0x4e 0x4f 0x50}"
+register write zmm18 "{0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f 0x40 0x41 0x42 0x43 0x44 0x45 0x46 0x47 0x48 0x49 0x4a 0x4b 0x4c 0x4d 0x4e 0x4f 0x50 0x51}"
+register write zmm19 "{0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f 0x40 0x41 0x42 0x43 0x44 0x45 0x46 0x47 0x48 0x49 0x4a 0x4b 0x4c 0x4d 0x4e 0x4f 0x50 0x51 0x52}"
+register write zmm20 "{0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f 0x40 0x41 0x42 0x43 0x44 0x45 0x46 0x47 0x48 0x49 0x4a 0x4b 0x4c 0x4d 0x4e 0x4f 0x50 0x51 0x52 0x53}"
+register write zmm21 "{0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f 0x40 0x41 0x42 0x43 0x44 0x45 0x46 0x47 0x48 0x49 0x4a 0x4b 0x4c 0x4d 0x4e 0x4f 0x50 0x51 0x52 0x53 0x54}"
+register write zmm22 "{0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f 0x40 0x41 0x42 0x43 0x44 0x45 0x46 0x47 0x48 0x49 0x4a 0x4b 0x4c 0x4d 0x4e 0x4f 0x50 0x51 0x52 0x53 0x54 0x55}"
+register write zmm23 "{0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f 0x40 0x41 0x42 0x43 0x44 0x45 0x46 0x47 0x48 0x49 0x4a 0x4b 0x4c 0x4d 0x4e 0x4f 0x50 0x51 0x52 0x53 0x54 0x55 0x56}"
+register write zmm24 "{0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f 0x40 0x41 0x42 0x43 0x44 0x45 0x46 0x47 0x48 0x49 0x4a 0x4b 0x4c 0x4d 0x4e 0x4f 0x50 0x51 0x52 0x53 0x54 0x55 0x56 0x57}"
+register write zmm25 "{0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f 0x40 0x41 0x42 0x43 0x44 0x45 0x46 0x47 0x48 0x49 0x4a 0x4b 0x4c 0x4d 0x4e 0x4f 0x50 0x51 0x52 0x53 0x54 0x55 0x56 0x57 0x58}"
+register write zmm26 "{0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f 0x40 0x41 0x42 0x43 0x44 0x45 0x46 0x47 0x48 0x49 0x4a 0x4b 0x4c 0x4d 0x4e 0x4f 0x50 0x51 0x52 0x53 0x54 0x55 0x56 0x57 0x58 0x59}"
+register write zmm27 "{0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f 0x40 0x41 0x42 0x43 0x44 0x45 0x46 0x47 0x48 0x49 0x4a 0x4b 0x4c 0x4d 0x4e 0x4f 0x50 0x51 0x52 0x53 0x54 0x55 0x56 0x57 0x58 0x59 0x5a}"
+register write zmm28 "{0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f 0x40 0x41 0x42 0x43 0x44 0x45 0x46 0x47 0x48 0x49 0x4a 0x4b 0x4c 0x4d 0x4e 0x4f 0x50 0x51 0x52 0x53 0x54 0x55 0x56 0x57 0x58 0x59 0x5a 0x5b}"
+register write zmm29 "{0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f 0x40 0x41 0x42 0x43 0x44 0x45 0x46 0x47 0x48 0x49 0x4a 0x4b 0x4c 0x4d 0x4e 0x4f 0x50 0x51 0x52 0x53 0x54 0x55 0x56 0x57 0x58 0x59 0x5a 0x5b 0x5c}"
+register write zmm30 "{0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f 0x40 0x41 0x42 0x43 0x44 0x45 0x46 0x47 0x48 0x49 0x4a 0x4b 0x4c 0x4d 0x4e 0x4f 0x50 0x51 0x52 0x53 0x54 0x55 0x56 0x57 0x58 0x59 0x5a 0x5b 0x5c 0x5d}"
+register write zmm31 "{0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f 0x40 0x41 0x42 0x43 0x44 0x45 0x46 0x47 0x48 0x49 0x4a 0x4b 0x4c 0x4d 0x4e 0x4f 0x50 0x51 0x52 0x53 0x54 0x55 0x56 0x57 0x58 0x59 0x5a 0x5b 0x5c 0x5d 0x5e}"
+
+process continue
+# CHECK: process continue
+
+# CHECK-DAG: zmm0 = { 0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f }
+# CHECK-DAG: zmm1 = { 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f 0x40 }
+# CHECK-DAG: zmm2 = { 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f 0x40 0x41 }
+# CHECK-DAG: zmm3 = { 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f 0x40 0x41 0x42 }
+# CHECK-DAG: zmm4 = { 0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f 0x40 0x41 0x42 0x43 }
+# CHECK-DAG: zmm5 = { 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f 0x40 0x41 0x42 0x43 0x44 }
+# CHECK-DAG: zmm6 = { 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f 0x40 0x41 0x42 0x43 0x44 0x45 }
+# CHECK-DAG: zmm7 = { 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f 0x40 0x41 0x42 0x43 0x44 0x45 0x46 }
+# CHECK-DAG: zmm8 = { 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f 0x40 0x41 0x42 0x43 0x44 0x45 0x46 0x47 }
+# CHECK-DAG: zmm9 = { 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f 0x40 0x41 0x42 0x43 0x44 0x45 0x46 0x47 0x48 }
+# CHECK-DAG: zmm10 = { 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f 0x40 0x41 0x42 0x43 0x44 0x45 0x46 0x47 0x48 0x49 }
+# CHECK-DAG: zmm11 = { 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f 0x40 0x41 0x42 0x43 0x44 0x45 0x46 0x47 0x48 0x49 0x4a }
+# CHECK-DAG: zmm12 = { 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f 0x40 0x41 0x42 0x43 0x44 0x45 0x46 0x47 0x48 0x49 0x4a 0x4b }
+# CHECK-DAG: zmm13 = { 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f 0x40 0x41 0x42 0x43 0x44 0x45 0x46 0x47 0x48 0x49 0x4a 0x4b 0x4c }
+# CHECK-DAG: zmm14 = { 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f 0x40 0x41 0x42 0x43 0x44 0x45 0x46 0x47 0x48 0x49 0x4a 0x4b 0x4c 0x4d }
+# CHECK-DAG: zmm15 = { 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f 0x40 0x41 0x42 0x43 0x44 0x45 0x46 0x47 0x48 0x49 0x4a 0x4b 0x4c 0x4d 0x4e }
+# CHECK-DAG: zmm16 = { 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f 0x40 0x41 0x42 0x43 0x44 0x45 0x46 0x47 0x48 0x49 0x4a 0x4b 0x4c 0x4d 0x4e 0x4f }
+# CHECK-DAG: zmm17 = { 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f 0x40 0x41 0x42 0x43 0x44 0x45 0x46 0x47 0x48 0x49 0x4a 0x4b 0x4c 0x4d 0x4e 0x4f 0x50 }
+# CHECK-DAG: zmm18 = { 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f 0x40 0x41 0x42 0x43 0x44 0x45 0x46 0x47 0x48 0x49 0x4a 0x4b 0x4c 0x4d 0x4e 0x4f 0x50 0x51 }
+# CHECK-DAG: zmm19 = { 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f 0x40 0x41 0x42 0x43 0x44 0x45 0x46 0x47 0x48 0x49 0x4a 0x4b 0x4c 0x4d 0x4e 0x4f 0x50 0x51 0x52 }
+# CHECK-DAG: zmm20 = { 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f 0x40 0x41 0x42 0x43 0x44 0x45 0x46 0x47 0x48 0x49 0x4a 0x4b 0x4c 0x4d 0x4e 0x4f 0x50 0x51 0x52 0x53 }
+# CHECK-DAG: zmm21 = { 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f 0x40 0x41 0x42 0x43 0x44 0x45 0x46 0x47 0x48 0x49 0x4a 0x4b 0x4c 0x4d 0x4e 0x4f 0x50 0x51 0x52 0x53 0x54 }
+# CHECK-DAG: zmm22 = { 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f 0x40 0x41 0x42 0x43 0x44 0x45 0x46 0x47 0x48 0x49 0x4a 0x4b 0x4c 0x4d 0x4e 0x4f 0x50 0x51 0x52 0x53 0x54 0x55 }
+# CHECK-DAG: zmm23 = { 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f 0x40 0x41 0x42 0x43 0x44 0x45 0x46 0x47 0x48 0x49 0x4a 0x4b 0x4c 0x4d 0x4e 0x4f 0x50 0x51 0x52 0x53 0x54 0x55 0x56 }
+# CHECK-DAG: zmm24 = { 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f 0x40 0x41 0x42 0x43 0x44 0x45 0x46 0x47 0x48 0x49 0x4a 0x4b 0x4c 0x4d 0x4e 0x4f 0x50 0x51 0x52 0x53 0x54 0x55 0x56 0x57 }
+# CHECK-DAG: zmm25 = { 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f 0x40 0x41 0x42 0x43 0x44 0x45 0x46 0x47 0x48 0x49 0x4a 0x4b 0x4c 0x4d 0x4e 0x4f 0x50 0x51 0x52 0x53 0x54 0x55 0x56 0x57 0x58 }
+# CHECK-DAG: zmm26 = { 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f 0x40 0x41 0x42 0x43 0x44 0x45 0x46 0x47 0x48 0x49 0x4a 0x4b 0x4c 0x4d 0x4e 0x4f 0x50 0x51 0x52 0x53 0x54 0x55 0x56 0x57 0x58 0x59 }
+# CHECK-DAG: zmm27 = { 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f 0x40 0x41 0x42 0x43 0x44 0x45 0x46 0x47 0x48 0x49 0x4a 0x4b 0x4c 0x4d 0x4e 0x4f 0x50 0x51 0x52 0x53 0x54 0x55 0x56 0x57 0x58 0x59 0x5a }
+# CHECK-DAG: zmm28 = { 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f 0x40 0x41 0x42 0x43 0x44 0x45 0x46 0x47 0x48 0x49 0x4a 0x4b 0x4c 0x4d 0x4e 0x4f 0x50 0x51 0x52 0x53 0x54 0x55 0x56 0x57 0x58 0x59 0x5a 0x5b }
+# CHECK-DAG: zmm29 = { 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f 0x40 0x41 0x42 0x43 0x44 0x45 0x46 0x47 0x48 0x49 0x4a 0x4b 0x4c 0x4d 0x4e 0x4f 0x50 0x51 0x52 0x53 0x54 0x55 0x56 0x57 0x58 0x59 0x5a 0x5b 0x5c }
+# CHECK-DAG: zmm30 = { 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f 0x40 0x41 0x42 0x43 0x44 0x45 0x46 0x47 0x48 0x49 0x4a 0x4b 0x4c 0x4d 0x4e 0x4f 0x50 0x51 0x52 0x53 0x54 0x55 0x56 0x57 0x58 0x59 0x5a 0x5b 0x5c 0x5d }
+# CHECK-DAG: zmm31 = { 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f 0x40 0x41 0x42 0x43 0x44 0x45 0x46 0x47 0x48 0x49 0x4a 0x4b 0x4c 0x4d 0x4e 0x4f 0x50 0x51 0x52 0x53 0x54 0x55 0x56 0x57 0x58 0x59 0x5a 0x5b 0x5c 0x5d 0x5e }
+
+# CHECK: Process {{[0-9]+}} exited with status = 0
diff --git a/lldb/test/Shell/Register/x86-gp-read.test b/lldb/test/Shell/Register/x86-gp-read.test
new file mode 100644
index 00000000000..ed0aa896573
--- /dev/null
+++ b/lldb/test/Shell/Register/x86-gp-read.test
@@ -0,0 +1,34 @@
+# XFAIL: system-windows
+# REQUIRES: native && target-x86
+# RUN: %clangxx -fomit-frame-pointer %p/Inputs/x86-gp-read.cpp -o %t
+# RUN: %lldb -b -s %s %t | FileCheck %s
+process launch
+
+register read --all
+# CHECK-DAG: eax = 0x05060708
+# CHECK-DAG: ebx = 0x15161718
+# CHECK-DAG: ecx = 0x25262728
+# CHECK-DAG: edx = 0x35363738
+# CHECK-DAG: edi = 0x75767778
+# CHECK-DAG: esi = 0x65666768
+# CHECK-DAG: ebp = 0x55565758
+# CHECK-DAG: esp = 0x45464748
+# CHECK-DAG: ax = 0x0708
+# CHECK-DAG: bx = 0x1718
+# CHECK-DAG: cx = 0x2728
+# CHECK-DAG: dx = 0x3738
+# CHECK-DAG: di = 0x7778
+# CHECK-DAG: si = 0x6768
+# CHECK-DAG: bp = 0x5758
+# CHECK-DAG: sp = 0x4748
+# CHECK-DAG: ah = 0x07
+# CHECK-DAG: bh = 0x17
+# CHECK-DAG: ch = 0x27
+# CHECK-DAG: dh = 0x37
+# CHECK-DAG: al = 0x08
+# CHECK-DAG: bl = 0x18
+# CHECK-DAG: cl = 0x28
+# CHECK-DAG: dl = 0x38
+
+process continue
+# CHECK: Process {{[0-9]+}} exited with status = 0
diff --git a/lldb/test/Shell/Register/x86-gp-write.test b/lldb/test/Shell/Register/x86-gp-write.test
new file mode 100644
index 00000000000..22f92738a5d
--- /dev/null
+++ b/lldb/test/Shell/Register/x86-gp-write.test
@@ -0,0 +1,26 @@
+# XFAIL: system-windows
+# REQUIRES: native && target-x86
+# RUN: %clangxx -fomit-frame-pointer %p/Inputs/x86-gp-write.cpp -o %t
+# RUN: %lldb -b -s %s %t | FileCheck %s
+process launch
+
+register write eax 0x01020304
+register write ebx 0x11121314
+register write ecx 0x21222324
+register write edx 0x31323334
+register write esp 0x41424344
+register write ebp 0x51525354
+register write esi 0x61626364
+register write edi 0x71727374
+
+process continue
+# CHECK-DAG: eax = 0x01020304
+# CHECK-DAG: ebx = 0x11121314
+# CHECK-DAG: ecx = 0x21222324
+# CHECK-DAG: edx = 0x31323334
+# CHECK-DAG: esp = 0x41424344
+# CHECK-DAG: ebp = 0x51525354
+# CHECK-DAG: esi = 0x61626364
+# CHECK-DAG: edi = 0x71727374
+
+# CHECK: Process {{[0-9]+}} exited with status = 0
diff --git a/lldb/test/Shell/Register/x86-mm-xmm-read.test b/lldb/test/Shell/Register/x86-mm-xmm-read.test
new file mode 100644
index 00000000000..ee209551017
--- /dev/null
+++ b/lldb/test/Shell/Register/x86-mm-xmm-read.test
@@ -0,0 +1,28 @@
+# XFAIL: system-darwin
+# XFAIL: system-windows
+# REQUIRES: native && (target-x86 || target-x86_64) && native-cpu-sse
+# RUN: %clangxx %p/Inputs/x86-mm-xmm-read.cpp -o %t
+# RUN: %lldb -b -s %s %t | FileCheck %s
+process launch
+
+register read --all
+# CHECK-DAG: mm0 = 0x0001020304050607
+# CHECK-DAG: mm1 = 0x1011121314151617
+# CHECK-DAG: mm2 = 0x2021222324252627
+# CHECK-DAG: mm3 = 0x3031323334353637
+# CHECK-DAG: mm4 = 0x4041424344454647
+# CHECK-DAG: mm5 = 0x5051525354555657
+# CHECK-DAG: mm6 = 0x6061626364656667
+# CHECK-DAG: mm7 = 0x7071727374757677
+
+# CHECK-DAG: xmm0 = {0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f}
+# CHECK-DAG: xmm1 = {0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10}
+# CHECK-DAG: xmm2 = {0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11}
+# CHECK-DAG: xmm3 = {0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12}
+# CHECK-DAG: xmm4 = {0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13}
+# CHECK-DAG: xmm5 = {0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14}
+# CHECK-DAG: xmm6 = {0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15}
+# CHECK-DAG: xmm7 = {0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16}
+
+process continue
+# CHECK: Process {{[0-9]+}} exited with status = 0
diff --git a/lldb/test/Shell/Register/x86-mm-xmm-write.test b/lldb/test/Shell/Register/x86-mm-xmm-write.test
new file mode 100644
index 00000000000..7325cf1c3aa
--- /dev/null
+++ b/lldb/test/Shell/Register/x86-mm-xmm-write.test
@@ -0,0 +1,47 @@
+# XFAIL: system-darwin
+# XFAIL: system-windows
+# REQUIRES: native && (target-x86 || target-x86_64) && native-cpu-sse
+# RUN: %clangxx %p/Inputs/x86-mm-xmm-write.cpp -o %t
+# RUN: %lldb -b -s %s %t | FileCheck %s
+process launch
+
+register write mm0 0x0001020304050607
+register write mm1 0x1011121314151617
+register write mm2 0x2021222324252627
+register write mm3 0x3031323334353637
+register write mm4 0x4041424344454647
+register write mm5 0x5051525354555657
+register write mm6 0x6061626364656667
+register write mm7 0x7071727374757677
+
+register write xmm0 "{0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f}"
+register write xmm1 "{0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10}"
+register write xmm2 "{0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11}"
+register write xmm3 "{0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12}"
+register write xmm4 "{0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13}"
+register write xmm5 "{0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14}"
+register write xmm6 "{0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15}"
+register write xmm7 "{0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16}"
+
+process continue
+# CHECK: process continue
+
+# CHECK-DAG: mm0 = 0x0001020304050607
+# CHECK-DAG: mm1 = 0x1011121314151617
+# CHECK-DAG: mm2 = 0x2021222324252627
+# CHECK-DAG: mm3 = 0x3031323334353637
+# CHECK-DAG: mm4 = 0x4041424344454647
+# CHECK-DAG: mm5 = 0x5051525354555657
+# CHECK-DAG: mm6 = 0x6061626364656667
+# CHECK-DAG: mm7 = 0x7071727374757677
+
+# CHECK-DAG: xmm0 = { 0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f }
+# CHECK-DAG: xmm1 = { 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 }
+# CHECK-DAG: xmm2 = { 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 }
+# CHECK-DAG: xmm3 = { 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 }
+# CHECK-DAG: xmm4 = { 0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 }
+# CHECK-DAG: xmm5 = { 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 }
+# CHECK-DAG: xmm6 = { 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 }
+# CHECK-DAG: xmm7 = { 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 }
+
+# CHECK: Process {{[0-9]+}} exited with status = 0
diff --git a/lldb/test/Shell/Register/x86-ymm-read.test b/lldb/test/Shell/Register/x86-ymm-read.test
new file mode 100644
index 00000000000..18fcf0e4cc1
--- /dev/null
+++ b/lldb/test/Shell/Register/x86-ymm-read.test
@@ -0,0 +1,27 @@
+# XFAIL: system-windows
+# REQUIRES: native && target-x86 && native-cpu-avx
+# RUN: %clangxx %p/Inputs/x86-ymm-read.cpp -o %t
+# RUN: %lldb -b -s %s %t | FileCheck %s
+process launch
+
+register read --all
+# CHECK-DAG: xmm0 = {0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f}
+# CHECK-DAG: xmm1 = {0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10}
+# CHECK-DAG: xmm2 = {0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11}
+# CHECK-DAG: xmm3 = {0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12}
+# CHECK-DAG: xmm4 = {0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13}
+# CHECK-DAG: xmm5 = {0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14}
+# CHECK-DAG: xmm6 = {0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15}
+# CHECK-DAG: xmm7 = {0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16}
+
+# CHECK-DAG: ymm0 = {0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f}
+# CHECK-DAG: ymm1 = {0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20}
+# CHECK-DAG: ymm2 = {0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21}
+# CHECK-DAG: ymm3 = {0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22}
+# CHECK-DAG: ymm4 = {0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23}
+# CHECK-DAG: ymm5 = {0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24}
+# CHECK-DAG: ymm6 = {0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25}
+# CHECK-DAG: ymm7 = {0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26}
+
+process continue
+# CHECK: Process {{[0-9]+}} exited with status = 0
diff --git a/lldb/test/Shell/Register/x86-ymm-write.test b/lldb/test/Shell/Register/x86-ymm-write.test
new file mode 100644
index 00000000000..9938cdf6719
--- /dev/null
+++ b/lldb/test/Shell/Register/x86-ymm-write.test
@@ -0,0 +1,28 @@
+# XFAIL: system-windows
+# REQUIRES: native && target-x86 && native-cpu-avx
+# RUN: %clangxx %p/Inputs/x86-ymm-write.cpp -o %t
+# RUN: %lldb -b -s %s %t | FileCheck %s
+process launch
+
+register write ymm0 "{0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f}"
+register write ymm1 "{0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20}"
+register write ymm2 "{0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21}"
+register write ymm3 "{0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22}"
+register write ymm4 "{0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23}"
+register write ymm5 "{0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24}"
+register write ymm6 "{0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25}"
+register write ymm7 "{0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26}"
+
+process continue
+# CHECK: process continue
+
+# CHECK-DAG: ymm0 = { 0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f }
+# CHECK-DAG: ymm1 = { 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 }
+# CHECK-DAG: ymm2 = { 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 }
+# CHECK-DAG: ymm3 = { 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 }
+# CHECK-DAG: ymm4 = { 0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 }
+# CHECK-DAG: ymm5 = { 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 }
+# CHECK-DAG: ymm6 = { 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 }
+# CHECK-DAG: ymm7 = { 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 }
+
+# CHECK: Process {{[0-9]+}} exited with status = 0
diff --git a/lldb/test/Shell/Register/x86-zmm-read.test b/lldb/test/Shell/Register/x86-zmm-read.test
new file mode 100644
index 00000000000..a45d1ef97e4
--- /dev/null
+++ b/lldb/test/Shell/Register/x86-zmm-read.test
@@ -0,0 +1,21 @@
+# XFAIL: system-freebsd
+# XFAIL: system-linux
+# XFAIL: system-netbsd
+# XFAIL: system-windows
+# REQUIRES: native && target-x86 && native-cpu-avx512f
+# RUN: %clangxx %p/Inputs/x86-zmm-read.cpp -o %t
+# RUN: %lldb -b -s %s %t | FileCheck %s
+process launch
+
+register read --all
+# CHECK-DAG: zmm0 = {0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f}
+# CHECK-DAG: zmm1 = {0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f 0x40}
+# CHECK-DAG: zmm2 = {0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f 0x40 0x41}
+# CHECK-DAG: zmm3 = {0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f 0x40 0x41 0x42}
+# CHECK-DAG: zmm4 = {0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f 0x40 0x41 0x42 0x43}
+# CHECK-DAG: zmm5 = {0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f 0x40 0x41 0x42 0x43 0x44}
+# CHECK-DAG: zmm6 = {0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f 0x40 0x41 0x42 0x43 0x44 0x45}
+# CHECK-DAG: zmm7 = {0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f 0x40 0x41 0x42 0x43 0x44 0x45 0x46}
+
+process continue
+# CHECK: Process {{[0-9]+}} exited with status = 0
diff --git a/lldb/test/Shell/Register/x86-zmm-write.test b/lldb/test/Shell/Register/x86-zmm-write.test
new file mode 100644
index 00000000000..6a499c311a6
--- /dev/null
+++ b/lldb/test/Shell/Register/x86-zmm-write.test
@@ -0,0 +1,31 @@
+# XFAIL: system-freebsd
+# XFAIL: system-linux
+# XFAIL: system-netbsd
+# XFAIL: system-windows
+# REQUIRES: native && target-x86 && native-cpu-avx512f
+# RUN: %clangxx %p/Inputs/x86-zmm-write.cpp -o %t
+# RUN: %lldb -b -s %s %t | FileCheck %s
+process launch
+
+register write zmm0 "{0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f}"
+register write zmm1 "{0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f 0x40}"
+register write zmm2 "{0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f 0x40 0x41}"
+register write zmm3 "{0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f 0x40 0x41 0x42}"
+register write zmm4 "{0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f 0x40 0x41 0x42 0x43}"
+register write zmm5 "{0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f 0x40 0x41 0x42 0x43 0x44}"
+register write zmm6 "{0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f 0x40 0x41 0x42 0x43 0x44 0x45}"
+register write zmm7 "{0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f 0x40 0x41 0x42 0x43 0x44 0x45 0x46}"
+
+process continue
+# CHECK: process continue
+
+# CHECK-DAG: zmm0 = { 0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f }
+# CHECK-DAG: zmm1 = { 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f 0x40 }
+# CHECK-DAG: zmm2 = { 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f 0x40 0x41 }
+# CHECK-DAG: zmm3 = { 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f 0x40 0x41 0x42 }
+# CHECK-DAG: zmm4 = { 0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f 0x40 0x41 0x42 0x43 }
+# CHECK-DAG: zmm5 = { 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f 0x40 0x41 0x42 0x43 0x44 }
+# CHECK-DAG: zmm6 = { 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f 0x40 0x41 0x42 0x43 0x44 0x45 }
+# CHECK-DAG: zmm7 = { 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f 0x40 0x41 0x42 0x43 0x44 0x45 0x46 }
+
+# CHECK: Process {{[0-9]+}} exited with status = 0
OpenPOWER on IntegriCloud