1# Check 64bit AVX512{IFMA,VL} instructions 2 3 .allow_index_reg 4 .text 5_start: 6 vpmadd52luq %xmm28, %xmm29, %xmm30 # AVX512{IFMA,VL} 7 vpmadd52luq %xmm28, %xmm29, %xmm30{%k7} # AVX512{IFMA,VL} 8 vpmadd52luq %xmm28, %xmm29, %xmm30{%k7}{z} # AVX512{IFMA,VL} 9 vpmadd52luq (%rcx), %xmm29, %xmm30 # AVX512{IFMA,VL} 10 vpmadd52luq 0x123(%rax,%r14,8), %xmm29, %xmm30 # AVX512{IFMA,VL} 11 vpmadd52luq (%rcx){1to2}, %xmm29, %xmm30 # AVX512{IFMA,VL} 12 vpmadd52luq 2032(%rdx), %xmm29, %xmm30 # AVX512{IFMA,VL} Disp8 13 vpmadd52luq 2048(%rdx), %xmm29, %xmm30 # AVX512{IFMA,VL} 14 vpmadd52luq -2048(%rdx), %xmm29, %xmm30 # AVX512{IFMA,VL} Disp8 15 vpmadd52luq -2064(%rdx), %xmm29, %xmm30 # AVX512{IFMA,VL} 16 vpmadd52luq 1016(%rdx){1to2}, %xmm29, %xmm30 # AVX512{IFMA,VL} Disp8 17 vpmadd52luq 1024(%rdx){1to2}, %xmm29, %xmm30 # AVX512{IFMA,VL} 18 vpmadd52luq -1024(%rdx){1to2}, %xmm29, %xmm30 # AVX512{IFMA,VL} Disp8 19 vpmadd52luq -1032(%rdx){1to2}, %xmm29, %xmm30 # AVX512{IFMA,VL} 20 vpmadd52luq %ymm28, %ymm29, %ymm30 # AVX512{IFMA,VL} 21 vpmadd52luq %ymm28, %ymm29, %ymm30{%k7} # AVX512{IFMA,VL} 22 vpmadd52luq %ymm28, %ymm29, %ymm30{%k7}{z} # AVX512{IFMA,VL} 23 vpmadd52luq (%rcx), %ymm29, %ymm30 # AVX512{IFMA,VL} 24 vpmadd52luq 0x123(%rax,%r14,8), %ymm29, %ymm30 # AVX512{IFMA,VL} 25 vpmadd52luq (%rcx){1to4}, %ymm29, %ymm30 # AVX512{IFMA,VL} 26 vpmadd52luq 4064(%rdx), %ymm29, %ymm30 # AVX512{IFMA,VL} Disp8 27 vpmadd52luq 4096(%rdx), %ymm29, %ymm30 # AVX512{IFMA,VL} 28 vpmadd52luq -4096(%rdx), %ymm29, %ymm30 # AVX512{IFMA,VL} Disp8 29 vpmadd52luq -4128(%rdx), %ymm29, %ymm30 # AVX512{IFMA,VL} 30 vpmadd52luq 1016(%rdx){1to4}, %ymm29, %ymm30 # AVX512{IFMA,VL} Disp8 31 vpmadd52luq 1024(%rdx){1to4}, %ymm29, %ymm30 # AVX512{IFMA,VL} 32 vpmadd52luq -1024(%rdx){1to4}, %ymm29, %ymm30 # AVX512{IFMA,VL} Disp8 33 vpmadd52luq -1032(%rdx){1to4}, %ymm29, %ymm30 # AVX512{IFMA,VL} 34 vpmadd52huq %xmm28, %xmm29, %xmm30 # AVX512{IFMA,VL} 35 vpmadd52huq %xmm28, %xmm29, %xmm30{%k7} # AVX512{IFMA,VL} 36 vpmadd52huq %xmm28, %xmm29, %xmm30{%k7}{z} # AVX512{IFMA,VL} 37 vpmadd52huq (%rcx), %xmm29, %xmm30 # AVX512{IFMA,VL} 38 vpmadd52huq 0x123(%rax,%r14,8), %xmm29, %xmm30 # AVX512{IFMA,VL} 39 vpmadd52huq (%rcx){1to2}, %xmm29, %xmm30 # AVX512{IFMA,VL} 40 vpmadd52huq 2032(%rdx), %xmm29, %xmm30 # AVX512{IFMA,VL} Disp8 41 vpmadd52huq 2048(%rdx), %xmm29, %xmm30 # AVX512{IFMA,VL} 42 vpmadd52huq -2048(%rdx), %xmm29, %xmm30 # AVX512{IFMA,VL} Disp8 43 vpmadd52huq -2064(%rdx), %xmm29, %xmm30 # AVX512{IFMA,VL} 44 vpmadd52huq 1016(%rdx){1to2}, %xmm29, %xmm30 # AVX512{IFMA,VL} Disp8 45 vpmadd52huq 1024(%rdx){1to2}, %xmm29, %xmm30 # AVX512{IFMA,VL} 46 vpmadd52huq -1024(%rdx){1to2}, %xmm29, %xmm30 # AVX512{IFMA,VL} Disp8 47 vpmadd52huq -1032(%rdx){1to2}, %xmm29, %xmm30 # AVX512{IFMA,VL} 48 vpmadd52huq %ymm28, %ymm29, %ymm30 # AVX512{IFMA,VL} 49 vpmadd52huq %ymm28, %ymm29, %ymm30{%k7} # AVX512{IFMA,VL} 50 vpmadd52huq %ymm28, %ymm29, %ymm30{%k7}{z} # AVX512{IFMA,VL} 51 vpmadd52huq (%rcx), %ymm29, %ymm30 # AVX512{IFMA,VL} 52 vpmadd52huq 0x123(%rax,%r14,8), %ymm29, %ymm30 # AVX512{IFMA,VL} 53 vpmadd52huq (%rcx){1to4}, %ymm29, %ymm30 # AVX512{IFMA,VL} 54 vpmadd52huq 4064(%rdx), %ymm29, %ymm30 # AVX512{IFMA,VL} Disp8 55 vpmadd52huq 4096(%rdx), %ymm29, %ymm30 # AVX512{IFMA,VL} 56 vpmadd52huq -4096(%rdx), %ymm29, %ymm30 # AVX512{IFMA,VL} Disp8 57 vpmadd52huq -4128(%rdx), %ymm29, %ymm30 # AVX512{IFMA,VL} 58 vpmadd52huq 1016(%rdx){1to4}, %ymm29, %ymm30 # AVX512{IFMA,VL} Disp8 59 vpmadd52huq 1024(%rdx){1to4}, %ymm29, %ymm30 # AVX512{IFMA,VL} 60 vpmadd52huq -1024(%rdx){1to4}, %ymm29, %ymm30 # AVX512{IFMA,VL} Disp8 61 vpmadd52huq -1032(%rdx){1to4}, %ymm29, %ymm30 # AVX512{IFMA,VL} 62 63 .intel_syntax noprefix 64 vpmadd52luq xmm30, xmm29, xmm28 # AVX512{IFMA,VL} 65 vpmadd52luq xmm30{k7}, xmm29, xmm28 # AVX512{IFMA,VL} 66 vpmadd52luq xmm30{k7}{z}, xmm29, xmm28 # AVX512{IFMA,VL} 67 vpmadd52luq xmm30, xmm29, XMMWORD PTR [rcx] # AVX512{IFMA,VL} 68 vpmadd52luq xmm30, xmm29, XMMWORD PTR [rax+r14*8+0x1234] # AVX512{IFMA,VL} 69 vpmadd52luq xmm30, xmm29, [rcx]{1to2} # AVX512{IFMA,VL} 70 vpmadd52luq xmm30, xmm29, XMMWORD PTR [rdx+2032] # AVX512{IFMA,VL} Disp8 71 vpmadd52luq xmm30, xmm29, XMMWORD PTR [rdx+2048] # AVX512{IFMA,VL} 72 vpmadd52luq xmm30, xmm29, XMMWORD PTR [rdx-2048] # AVX512{IFMA,VL} Disp8 73 vpmadd52luq xmm30, xmm29, XMMWORD PTR [rdx-2064] # AVX512{IFMA,VL} 74 vpmadd52luq xmm30, xmm29, [rdx+1016]{1to2} # AVX512{IFMA,VL} Disp8 75 vpmadd52luq xmm30, xmm29, [rdx+1024]{1to2} # AVX512{IFMA,VL} 76 vpmadd52luq xmm30, xmm29, [rdx-1024]{1to2} # AVX512{IFMA,VL} Disp8 77 vpmadd52luq xmm30, xmm29, [rdx-1032]{1to2} # AVX512{IFMA,VL} 78 vpmadd52luq ymm30, ymm29, ymm28 # AVX512{IFMA,VL} 79 vpmadd52luq ymm30{k7}, ymm29, ymm28 # AVX512{IFMA,VL} 80 vpmadd52luq ymm30{k7}{z}, ymm29, ymm28 # AVX512{IFMA,VL} 81 vpmadd52luq ymm30, ymm29, YMMWORD PTR [rcx] # AVX512{IFMA,VL} 82 vpmadd52luq ymm30, ymm29, YMMWORD PTR [rax+r14*8+0x1234] # AVX512{IFMA,VL} 83 vpmadd52luq ymm30, ymm29, [rcx]{1to4} # AVX512{IFMA,VL} 84 vpmadd52luq ymm30, ymm29, YMMWORD PTR [rdx+4064] # AVX512{IFMA,VL} Disp8 85 vpmadd52luq ymm30, ymm29, YMMWORD PTR [rdx+4096] # AVX512{IFMA,VL} 86 vpmadd52luq ymm30, ymm29, YMMWORD PTR [rdx-4096] # AVX512{IFMA,VL} Disp8 87 vpmadd52luq ymm30, ymm29, YMMWORD PTR [rdx-4128] # AVX512{IFMA,VL} 88 vpmadd52luq ymm30, ymm29, [rdx+1016]{1to4} # AVX512{IFMA,VL} Disp8 89 vpmadd52luq ymm30, ymm29, [rdx+1024]{1to4} # AVX512{IFMA,VL} 90 vpmadd52luq ymm30, ymm29, [rdx-1024]{1to4} # AVX512{IFMA,VL} Disp8 91 vpmadd52luq ymm30, ymm29, [rdx-1032]{1to4} # AVX512{IFMA,VL} 92 vpmadd52huq xmm30, xmm29, xmm28 # AVX512{IFMA,VL} 93 vpmadd52huq xmm30{k7}, xmm29, xmm28 # AVX512{IFMA,VL} 94 vpmadd52huq xmm30{k7}{z}, xmm29, xmm28 # AVX512{IFMA,VL} 95 vpmadd52huq xmm30, xmm29, XMMWORD PTR [rcx] # AVX512{IFMA,VL} 96 vpmadd52huq xmm30, xmm29, XMMWORD PTR [rax+r14*8+0x1234] # AVX512{IFMA,VL} 97 vpmadd52huq xmm30, xmm29, [rcx]{1to2} # AVX512{IFMA,VL} 98 vpmadd52huq xmm30, xmm29, XMMWORD PTR [rdx+2032] # AVX512{IFMA,VL} Disp8 99 vpmadd52huq xmm30, xmm29, XMMWORD PTR [rdx+2048] # AVX512{IFMA,VL} 100 vpmadd52huq xmm30, xmm29, XMMWORD PTR [rdx-2048] # AVX512{IFMA,VL} Disp8 101 vpmadd52huq xmm30, xmm29, XMMWORD PTR [rdx-2064] # AVX512{IFMA,VL} 102 vpmadd52huq xmm30, xmm29, [rdx+1016]{1to2} # AVX512{IFMA,VL} Disp8 103 vpmadd52huq xmm30, xmm29, [rdx+1024]{1to2} # AVX512{IFMA,VL} 104 vpmadd52huq xmm30, xmm29, [rdx-1024]{1to2} # AVX512{IFMA,VL} Disp8 105 vpmadd52huq xmm30, xmm29, [rdx-1032]{1to2} # AVX512{IFMA,VL} 106 vpmadd52huq ymm30, ymm29, ymm28 # AVX512{IFMA,VL} 107 vpmadd52huq ymm30{k7}, ymm29, ymm28 # AVX512{IFMA,VL} 108 vpmadd52huq ymm30{k7}{z}, ymm29, ymm28 # AVX512{IFMA,VL} 109 vpmadd52huq ymm30, ymm29, YMMWORD PTR [rcx] # AVX512{IFMA,VL} 110 vpmadd52huq ymm30, ymm29, YMMWORD PTR [rax+r14*8+0x1234] # AVX512{IFMA,VL} 111 vpmadd52huq ymm30, ymm29, [rcx]{1to4} # AVX512{IFMA,VL} 112 vpmadd52huq ymm30, ymm29, YMMWORD PTR [rdx+4064] # AVX512{IFMA,VL} Disp8 113 vpmadd52huq ymm30, ymm29, YMMWORD PTR [rdx+4096] # AVX512{IFMA,VL} 114 vpmadd52huq ymm30, ymm29, YMMWORD PTR [rdx-4096] # AVX512{IFMA,VL} Disp8 115 vpmadd52huq ymm30, ymm29, YMMWORD PTR [rdx-4128] # AVX512{IFMA,VL} 116 vpmadd52huq ymm30, ymm29, [rdx+1016]{1to4} # AVX512{IFMA,VL} Disp8 117 vpmadd52huq ymm30, ymm29, [rdx+1024]{1to4} # AVX512{IFMA,VL} 118 vpmadd52huq ymm30, ymm29, [rdx-1024]{1to4} # AVX512{IFMA,VL} Disp8 119 vpmadd52huq ymm30, ymm29, [rdx-1032]{1to4} # AVX512{IFMA,VL} 120