1/* 2 * This file and its contents are supplied under the terms of the 3 * Common Development and Distribution License ("CDDL"), version 1.0. 4 * You may only use this file in accordance with the terms of version 5 * 1.0 of the CDDL. 6 * 7 * A full copy of the text of the CDDL should have accompanied this 8 * source. A copy of the CDDL is also available via the Internet at 9 * http://www.illumos.org/license/CDDL. 10 */ 11 12/* 13 * Copyright 2019 Joyent, Inc. 14 * Copyright 2024 Oxide Computer Company 15 */ 16 17/* 18 * 32-bit AVX-512 VNNI instruction disassembly. 19 */ 20 21.text 22.align 16 23.globl libdis_test 24.type libdis_test, @function 25libdis_test: 26 vpdpbusd %xmm0, %xmm1, %xmm2 27 vpdpbusd %ymm3, %ymm4, %ymm5 28 vpdpbusd %zmm6, %zmm7, %zmm0 29 vpdpbusd %xmm1, %xmm2, %xmm3{%k1} 30 vpdpbusd %xmm4, %xmm5, %xmm6{%k2}{z} 31 vpdpbusd %ymm7, %ymm0, %ymm1{%k3} 32 vpdpbusd %ymm2, %ymm3, %ymm4{%k4}{z} 33 vpdpbusd %zmm5, %zmm6, %zmm7{%k5} 34 vpdpbusd %zmm0, %zmm1, %zmm2{%k6}{z} 35 vpdpbusd 0x64(%eax), %zmm3, %zmm4 36 vpdpbusd 0x123456(%ebx, %ecx, 8), %zmm5, %zmm6 37 vpdpbusd (%edx){1to4}, %xmm1, %xmm2 38 vpdpbusd 0x23(%edx){1to4}, %xmm1, %xmm2 39 vpdpbusd (%edx){1to8}, %ymm1, %ymm2 40 vpdpbusd 0x23(%edx){1to8}, %ymm1, %ymm2 41 vpdpbusd (%edx){1to16}, %zmm1, %zmm2 42 vpdpbusd 0x23(%edx){1to16}, %zmm1, %zmm2 43 44 vpdpbusds %xmm0, %xmm1, %xmm2 45 vpdpbusds %ymm3, %ymm4, %ymm5 46 vpdpbusds %zmm6, %zmm7, %zmm0 47 vpdpbusds %xmm1, %xmm2, %xmm3{%k1} 48 vpdpbusds %xmm4, %xmm5, %xmm6{%k2}{z} 49 vpdpbusds %ymm7, %ymm0, %ymm1{%k3} 50 vpdpbusds %ymm2, %ymm3, %ymm4{%k4}{z} 51 vpdpbusds %zmm5, %zmm6, %zmm7{%k5} 52 vpdpbusds %zmm0, %zmm1, %zmm2{%k6}{z} 53 vpdpbusds 0x64(%eax), %zmm3, %zmm4 54 vpdpbusds 0x123456(%ebx, %ecx, 8), %zmm5, %zmm6 55 vpdpbusds (%edx){1to4}, %xmm1, %xmm2 56 vpdpbusds 0x23(%edx){1to4}, %xmm1, %xmm2 57 vpdpbusds (%edx){1to8}, %ymm1, %ymm2 58 vpdpbusds 0x23(%edx){1to8}, %ymm1, %ymm2 59 vpdpbusds (%edx){1to16}, %zmm1, %zmm2 60 vpdpbusds 0x23(%edx){1to16}, %zmm1, %zmm2 61 62 vpdpwssd %xmm0, %xmm1, %xmm2 63 vpdpwssd %ymm3, %ymm4, %ymm5 64 vpdpwssd %zmm6, %zmm7, %zmm0 65 vpdpwssd %xmm1, %xmm2, %xmm3{%k1} 66 vpdpwssd %xmm4, %xmm5, %xmm6{%k2}{z} 67 vpdpwssd %ymm7, %ymm0, %ymm1{%k3} 68 vpdpwssd %ymm2, %ymm3, %ymm4{%k4}{z} 69 vpdpwssd %zmm5, %zmm6, %zmm7{%k5} 70 vpdpwssd %zmm0, %zmm1, %zmm2{%k6}{z} 71 vpdpwssd 0x64(%eax), %zmm3, %zmm4 72 vpdpwssd 0x123456(%ebx, %ecx, 8), %zmm5, %zmm6 73 vpdpwssd (%edx){1to4}, %xmm1, %xmm2 74 vpdpwssd 0x23(%edx){1to4}, %xmm1, %xmm2 75 vpdpwssd (%edx){1to8}, %ymm1, %ymm2 76 vpdpwssd 0x23(%edx){1to8}, %ymm1, %ymm2 77 vpdpwssd (%edx){1to16}, %zmm1, %zmm2 78 vpdpwssd 0x23(%edx){1to16}, %zmm1, %zmm2 79 80 vpdpwssds %xmm0, %xmm1, %xmm2 81 vpdpwssds %ymm3, %ymm4, %ymm5 82 vpdpwssds %zmm6, %zmm7, %zmm0 83 vpdpwssds %xmm1, %xmm2, %xmm3{%k1} 84 vpdpwssds %xmm4, %xmm5, %xmm6{%k2}{z} 85 vpdpwssds %ymm7, %ymm0, %ymm1{%k3} 86 vpdpwssds %ymm2, %ymm3, %ymm4{%k4}{z} 87 vpdpwssds %zmm5, %zmm6, %zmm7{%k5} 88 vpdpwssds %zmm0, %zmm1, %zmm2{%k6}{z} 89 vpdpwssds 0x64(%eax), %zmm3, %zmm4 90 vpdpwssds 0x123456(%ebx, %ecx, 8), %zmm5, %zmm6 91 vpdpwssds (%edx){1to4}, %xmm1, %xmm2 92 vpdpwssds 0x23(%edx){1to4}, %xmm1, %xmm2 93 vpdpwssds (%edx){1to8}, %ymm1, %ymm2 94 vpdpwssds 0x23(%edx){1to8}, %ymm1, %ymm2 95 vpdpwssds (%edx){1to16}, %zmm1, %zmm2 96 vpdpwssds 0x23(%edx){1to16}, %zmm1, %zmm2 97.size libdis_test, [.-libdis_test] 98