275 lines · plain
1// RUN: llvm-mc -triple x86_64-unknown-unknown --show-encoding %s | FileCheck %s2 3 vpmadd52luq %xmm4, %xmm5, %xmm6 {%k7}4//CHECK: vpmadd52luq %xmm4, %xmm5, %xmm6 {%k7}5//CHECK: encoding: [0x62,0xf2,0xd5,0x0f,0xb4,0xf4]6 7 vpmadd52luq %xmm4, %xmm5, %xmm6 {%k7} {z}8//CHECK: vpmadd52luq %xmm4, %xmm5, %xmm6 {%k7} {z}9//CHECK: encoding: [0x62,0xf2,0xd5,0x8f,0xb4,0xf4]10 11 vpmadd52luq %ymm4, %ymm5, %ymm6 {%k7}12//CHECK: vpmadd52luq %ymm4, %ymm5, %ymm6 {%k7}13//CHECK: encoding: [0x62,0xf2,0xd5,0x2f,0xb4,0xf4]14 15 vpmadd52luq %ymm4, %ymm5, %ymm6 {%k7} {z}16//CHECK: vpmadd52luq %ymm4, %ymm5, %ymm6 {%k7} {z}17//CHECK: encoding: [0x62,0xf2,0xd5,0xaf,0xb4,0xf4]18 19 vpmadd52luq %xmm28, %xmm29, %xmm3020//CHECK: vpmadd52luq %xmm28, %xmm29, %xmm3021//CHECK: encoding: [0x62,0x02,0x95,0x00,0xb4,0xf4]22 23 vpmadd52luq %xmm28, %xmm29, %xmm30 {%k7}24//CHECK: vpmadd52luq %xmm28, %xmm29, %xmm30 {%k7}25//CHECK: encoding: [0x62,0x02,0x95,0x07,0xb4,0xf4]26 27 vpmadd52luq %xmm28, %xmm29, %xmm30 {%k7} {z}28//CHECK: vpmadd52luq %xmm28, %xmm29, %xmm30 {%k7} {z}29//CHECK: encoding: [0x62,0x02,0x95,0x87,0xb4,0xf4]30 31 vpmadd52luq (%rcx), %xmm29, %xmm3032//CHECK: vpmadd52luq (%rcx), %xmm29, %xmm3033//CHECK: encoding: [0x62,0x62,0x95,0x00,0xb4,0x31]34 35 vpmadd52luq 0x123(%rax,%r14,8), %xmm29, %xmm3036//CHECK: vpmadd52luq 291(%rax,%r14,8), %xmm29, %xmm3037//CHECK: encoding: [0x62,0x22,0x95,0x00,0xb4,0xb4,0xf0,0x23,0x01,0x00,0x00]38 39 vpmadd52luq (%rcx){1to2}, %xmm29, %xmm3040//CHECK: vpmadd52luq (%rcx){1to2}, %xmm29, %xmm3041//CHECK: encoding: [0x62,0x62,0x95,0x10,0xb4,0x31]42 43 vpmadd52luq 0x7f0(%rdx), %xmm29, %xmm3044//CHECK: vpmadd52luq 2032(%rdx), %xmm29, %xmm3045//CHECK: encoding: [0x62,0x62,0x95,0x00,0xb4,0x72,0x7f]46 47 vpmadd52luq 0x800(%rdx), %xmm29, %xmm3048//CHECK: vpmadd52luq 2048(%rdx), %xmm29, %xmm3049//CHECK: encoding: [0x62,0x62,0x95,0x00,0xb4,0xb2,0x00,0x08,0x00,0x00]50 51 vpmadd52luq -0x800(%rdx), %xmm29, %xmm3052//CHECK: vpmadd52luq -2048(%rdx), %xmm29, %xmm3053//CHECK: encoding: [0x62,0x62,0x95,0x00,0xb4,0x72,0x80]54 55 vpmadd52luq -0x810(%rdx), %xmm29, %xmm3056//CHECK: vpmadd52luq -2064(%rdx), %xmm29, %xmm3057//CHECK: encoding: [0x62,0x62,0x95,0x00,0xb4,0xb2,0xf0,0xf7,0xff,0xff]58 59 vpmadd52luq 0x3f8(%rdx){1to2}, %xmm29, %xmm3060//CHECK: vpmadd52luq 1016(%rdx){1to2}, %xmm29, %xmm3061//CHECK: encoding: [0x62,0x62,0x95,0x10,0xb4,0x72,0x7f]62 63 vpmadd52luq 0x400(%rdx){1to2}, %xmm29, %xmm3064//CHECK: vpmadd52luq 1024(%rdx){1to2}, %xmm29, %xmm3065//CHECK: encoding: [0x62,0x62,0x95,0x10,0xb4,0xb2,0x00,0x04,0x00,0x00]66 67 vpmadd52luq -0x400(%rdx){1to2}, %xmm29, %xmm3068//CHECK: vpmadd52luq -1024(%rdx){1to2}, %xmm29, %xmm3069//CHECK: encoding: [0x62,0x62,0x95,0x10,0xb4,0x72,0x80]70 71 vpmadd52luq -0x408(%rdx){1to2}, %xmm29, %xmm3072//CHECK: vpmadd52luq -1032(%rdx){1to2}, %xmm29, %xmm3073//CHECK: encoding: [0x62,0x62,0x95,0x10,0xb4,0xb2,0xf8,0xfb,0xff,0xff]74 75 vpmadd52luq %ymm28, %ymm29, %ymm3076//CHECK: vpmadd52luq %ymm28, %ymm29, %ymm3077//CHECK: encoding: [0x62,0x02,0x95,0x20,0xb4,0xf4]78 79 vpmadd52luq %ymm28, %ymm29, %ymm30 {%k7}80//CHECK: vpmadd52luq %ymm28, %ymm29, %ymm30 {%k7}81//CHECK: encoding: [0x62,0x02,0x95,0x27,0xb4,0xf4]82 83 vpmadd52luq %ymm28, %ymm29, %ymm30 {%k7} {z}84//CHECK: vpmadd52luq %ymm28, %ymm29, %ymm30 {%k7} {z}85//CHECK: encoding: [0x62,0x02,0x95,0xa7,0xb4,0xf4]86 87 vpmadd52luq (%rcx), %ymm29, %ymm3088//CHECK: vpmadd52luq (%rcx), %ymm29, %ymm3089//CHECK: encoding: [0x62,0x62,0x95,0x20,0xb4,0x31]90 91 vpmadd52luq 0x123(%rax,%r14,8), %ymm29, %ymm3092//CHECK: vpmadd52luq 291(%rax,%r14,8), %ymm29, %ymm3093//CHECK: encoding: [0x62,0x22,0x95,0x20,0xb4,0xb4,0xf0,0x23,0x01,0x00,0x00]94 95 vpmadd52luq (%rcx){1to4}, %ymm29, %ymm3096//CHECK: vpmadd52luq (%rcx){1to4}, %ymm29, %ymm3097//CHECK: encoding: [0x62,0x62,0x95,0x30,0xb4,0x31]98 99 vpmadd52luq 0xfe0(%rdx), %ymm29, %ymm30100//CHECK: vpmadd52luq 4064(%rdx), %ymm29, %ymm30101//CHECK: encoding: [0x62,0x62,0x95,0x20,0xb4,0x72,0x7f]102 103 vpmadd52luq 0x1000(%rdx), %ymm29, %ymm30104//CHECK: vpmadd52luq 4096(%rdx), %ymm29, %ymm30105//CHECK: encoding: [0x62,0x62,0x95,0x20,0xb4,0xb2,0x00,0x10,0x00,0x00]106 107 vpmadd52luq -0x1000(%rdx), %ymm29, %ymm30108//CHECK: vpmadd52luq -4096(%rdx), %ymm29, %ymm30109//CHECK: encoding: [0x62,0x62,0x95,0x20,0xb4,0x72,0x80]110 111 vpmadd52luq -0x1020(%rdx), %ymm29, %ymm30112//CHECK: vpmadd52luq -4128(%rdx), %ymm29, %ymm30113//CHECK: encoding: [0x62,0x62,0x95,0x20,0xb4,0xb2,0xe0,0xef,0xff,0xff]114 115 vpmadd52luq 0x3f8(%rdx){1to4}, %ymm29, %ymm30116//CHECK: vpmadd52luq 1016(%rdx){1to4}, %ymm29, %ymm30117//CHECK: encoding: [0x62,0x62,0x95,0x30,0xb4,0x72,0x7f]118 119 vpmadd52luq 0x400(%rdx){1to4}, %ymm29, %ymm30120//CHECK: vpmadd52luq 1024(%rdx){1to4}, %ymm29, %ymm30121//CHECK: encoding: [0x62,0x62,0x95,0x30,0xb4,0xb2,0x00,0x04,0x00,0x00]122 123 vpmadd52luq -0x400(%rdx){1to4}, %ymm29, %ymm30124//CHECK: vpmadd52luq -1024(%rdx){1to4}, %ymm29, %ymm30125//CHECK: encoding: [0x62,0x62,0x95,0x30,0xb4,0x72,0x80]126 127 vpmadd52luq -0x408(%rdx){1to4}, %ymm29, %ymm30128//CHECK: vpmadd52luq -1032(%rdx){1to4}, %ymm29, %ymm30129//CHECK: encoding: [0x62,0x62,0x95,0x30,0xb4,0xb2,0xf8,0xfb,0xff,0xff]130 131 vpmadd52luq 0x1234(%rax,%r14,8), %xmm29, %xmm30132//CHECK: vpmadd52luq 4660(%rax,%r14,8), %xmm29, %xmm30133//CHECK: encoding: [0x62,0x22,0x95,0x00,0xb4,0xb4,0xf0,0x34,0x12,0x00,0x00]134 135 vpmadd52luq 0x1234(%rax,%r14,8), %ymm29, %ymm30136//CHECK: vpmadd52luq 4660(%rax,%r14,8), %ymm29, %ymm30137//CHECK: encoding: [0x62,0x22,0x95,0x20,0xb4,0xb4,0xf0,0x34,0x12,0x00,0x00]138 139vpmadd52huq %xmm4, %xmm5, %xmm6 {%k7}140//CHECK: vpmadd52huq %xmm4, %xmm5, %xmm6 {%k7}141//CHECK: encoding: [0x62,0xf2,0xd5,0x0f,0xb5,0xf4]142 143 vpmadd52huq %xmm4, %xmm5, %xmm6 {%k7} {z}144//CHECK: vpmadd52huq %xmm4, %xmm5, %xmm6 {%k7} {z}145//CHECK: encoding: [0x62,0xf2,0xd5,0x8f,0xb5,0xf4]146 147 vpmadd52huq %ymm4, %ymm5, %ymm6 {%k7}148//CHECK: vpmadd52huq %ymm4, %ymm5, %ymm6 {%k7}149//CHECK: encoding: [0x62,0xf2,0xd5,0x2f,0xb5,0xf4]150 151 vpmadd52huq %ymm4, %ymm5, %ymm6 {%k7} {z}152//CHECK: vpmadd52huq %ymm4, %ymm5, %ymm6 {%k7} {z}153//CHECK: encoding: [0x62,0xf2,0xd5,0xaf,0xb5,0xf4]154 155 vpmadd52huq %xmm28, %xmm29, %xmm30156//CHECK: vpmadd52huq %xmm28, %xmm29, %xmm30157//CHECK: encoding: [0x62,0x02,0x95,0x00,0xb5,0xf4]158 159 vpmadd52huq %xmm28, %xmm29, %xmm30 {%k7}160//CHECK: vpmadd52huq %xmm28, %xmm29, %xmm30 {%k7}161//CHECK: encoding: [0x62,0x02,0x95,0x07,0xb5,0xf4]162 163 vpmadd52huq %xmm28, %xmm29, %xmm30 {%k7} {z}164//CHECK: vpmadd52huq %xmm28, %xmm29, %xmm30 {%k7} {z}165//CHECK: encoding: [0x62,0x02,0x95,0x87,0xb5,0xf4]166 167 vpmadd52huq (%rcx), %xmm29, %xmm30168//CHECK: vpmadd52huq (%rcx), %xmm29, %xmm30169//CHECK: encoding: [0x62,0x62,0x95,0x00,0xb5,0x31]170 171 vpmadd52huq 0x123(%rax,%r14,8), %xmm29, %xmm30172//CHECK: vpmadd52huq 291(%rax,%r14,8), %xmm29, %xmm30173//CHECK: encoding: [0x62,0x22,0x95,0x00,0xb5,0xb4,0xf0,0x23,0x01,0x00,0x00]174 175 vpmadd52huq (%rcx){1to2}, %xmm29, %xmm30176//CHECK: vpmadd52huq (%rcx){1to2}, %xmm29, %xmm30177//CHECK: encoding: [0x62,0x62,0x95,0x10,0xb5,0x31]178 179 vpmadd52huq 0x7f0(%rdx), %xmm29, %xmm30180//CHECK: vpmadd52huq 2032(%rdx), %xmm29, %xmm30181//CHECK: encoding: [0x62,0x62,0x95,0x00,0xb5,0x72,0x7f]182 183 vpmadd52huq 0x800(%rdx), %xmm29, %xmm30184//CHECK: vpmadd52huq 2048(%rdx), %xmm29, %xmm30185//CHECK: encoding: [0x62,0x62,0x95,0x00,0xb5,0xb2,0x00,0x08,0x00,0x00]186 187 vpmadd52huq -0x800(%rdx), %xmm29, %xmm30188//CHECK: vpmadd52huq -2048(%rdx), %xmm29, %xmm30189//CHECK: encoding: [0x62,0x62,0x95,0x00,0xb5,0x72,0x80]190 191 vpmadd52huq -0x810(%rdx), %xmm29, %xmm30192//CHECK: vpmadd52huq -2064(%rdx), %xmm29, %xmm30193//CHECK: encoding: [0x62,0x62,0x95,0x00,0xb5,0xb2,0xf0,0xf7,0xff,0xff]194 195 vpmadd52huq 0x3f8(%rdx){1to2}, %xmm29, %xmm30196//CHECK: vpmadd52huq 1016(%rdx){1to2}, %xmm29, %xmm30197//CHECK: encoding: [0x62,0x62,0x95,0x10,0xb5,0x72,0x7f]198 199 vpmadd52huq 0x400(%rdx){1to2}, %xmm29, %xmm30200//CHECK: vpmadd52huq 1024(%rdx){1to2}, %xmm29, %xmm30201//CHECK: encoding: [0x62,0x62,0x95,0x10,0xb5,0xb2,0x00,0x04,0x00,0x00]202 203 vpmadd52huq -0x400(%rdx){1to2}, %xmm29, %xmm30204//CHECK: vpmadd52huq -1024(%rdx){1to2}, %xmm29, %xmm30205//CHECK: encoding: [0x62,0x62,0x95,0x10,0xb5,0x72,0x80]206 207 vpmadd52huq -0x408(%rdx){1to2}, %xmm29, %xmm30208//CHECK: vpmadd52huq -1032(%rdx){1to2}, %xmm29, %xmm30209//CHECK: encoding: [0x62,0x62,0x95,0x10,0xb5,0xb2,0xf8,0xfb,0xff,0xff]210 211 vpmadd52huq %ymm28, %ymm29, %ymm30212//CHECK: vpmadd52huq %ymm28, %ymm29, %ymm30213//CHECK: encoding: [0x62,0x02,0x95,0x20,0xb5,0xf4]214 215 vpmadd52huq %ymm28, %ymm29, %ymm30 {%k7}216//CHECK: vpmadd52huq %ymm28, %ymm29, %ymm30 {%k7}217//CHECK: encoding: [0x62,0x02,0x95,0x27,0xb5,0xf4]218 219 vpmadd52huq %ymm28, %ymm29, %ymm30 {%k7} {z}220//CHECK: vpmadd52huq %ymm28, %ymm29, %ymm30 {%k7} {z}221//CHECK: encoding: [0x62,0x02,0x95,0xa7,0xb5,0xf4]222 223 vpmadd52huq (%rcx), %ymm29, %ymm30224//CHECK: vpmadd52huq (%rcx), %ymm29, %ymm30225//CHECK: encoding: [0x62,0x62,0x95,0x20,0xb5,0x31]226 227 vpmadd52huq 0x123(%rax,%r14,8), %ymm29, %ymm30228//CHECK: vpmadd52huq 291(%rax,%r14,8), %ymm29, %ymm30229//CHECK: encoding: [0x62,0x22,0x95,0x20,0xb5,0xb4,0xf0,0x23,0x01,0x00,0x00]230 231 vpmadd52huq (%rcx){1to4}, %ymm29, %ymm30232//CHECK: vpmadd52huq (%rcx){1to4}, %ymm29, %ymm30233//CHECK: encoding: [0x62,0x62,0x95,0x30,0xb5,0x31]234 235 vpmadd52huq 0xfe0(%rdx), %ymm29, %ymm30236//CHECK: vpmadd52huq 4064(%rdx), %ymm29, %ymm30237//CHECK: encoding: [0x62,0x62,0x95,0x20,0xb5,0x72,0x7f]238 239 vpmadd52huq 0x1000(%rdx), %ymm29, %ymm30240//CHECK: vpmadd52huq 4096(%rdx), %ymm29, %ymm30241//CHECK: encoding: [0x62,0x62,0x95,0x20,0xb5,0xb2,0x00,0x10,0x00,0x00]242 243 vpmadd52huq -0x1000(%rdx), %ymm29, %ymm30244//CHECK: vpmadd52huq -4096(%rdx), %ymm29, %ymm30245//CHECK: encoding: [0x62,0x62,0x95,0x20,0xb5,0x72,0x80]246 247 vpmadd52huq -0x1020(%rdx), %ymm29, %ymm30248//CHECK: vpmadd52huq -4128(%rdx), %ymm29, %ymm30249//CHECK: encoding: [0x62,0x62,0x95,0x20,0xb5,0xb2,0xe0,0xef,0xff,0xff]250 251 vpmadd52huq 0x3f8(%rdx){1to4}, %ymm29, %ymm30252//CHECK: vpmadd52huq 1016(%rdx){1to4}, %ymm29, %ymm30253//CHECK: encoding: [0x62,0x62,0x95,0x30,0xb5,0x72,0x7f]254 255 vpmadd52huq 0x400(%rdx){1to4}, %ymm29, %ymm30256//CHECK: vpmadd52huq 1024(%rdx){1to4}, %ymm29, %ymm30257//CHECK: encoding: [0x62,0x62,0x95,0x30,0xb5,0xb2,0x00,0x04,0x00,0x00]258 259 vpmadd52huq -0x400(%rdx){1to4}, %ymm29, %ymm30260//CHECK: vpmadd52huq -1024(%rdx){1to4}, %ymm29, %ymm30261//CHECK: encoding: [0x62,0x62,0x95,0x30,0xb5,0x72,0x80]262 263 vpmadd52huq -0x408(%rdx){1to4}, %ymm29, %ymm30264//CHECK: vpmadd52huq -1032(%rdx){1to4}, %ymm29, %ymm30265//CHECK: encoding: [0x62,0x62,0x95,0x30,0xb5,0xb2,0xf8,0xfb,0xff,0xff]266 267 vpmadd52huq 0x1234(%rax,%r14,8), %xmm29, %xmm30268//CHECK: vpmadd52huq 4660(%rax,%r14,8), %xmm29, %xmm30269//CHECK: encoding: [0x62,0x22,0x95,0x00,0xb5,0xb4,0xf0,0x34,0x12,0x00,0x00]270 271 vpmadd52huq 0x1234(%rax,%r14,8), %ymm29, %ymm30272//CHECK: vpmadd52huq 4660(%rax,%r14,8), %ymm29, %ymm30273//CHECK: encoding: [0x62,0x22,0x95,0x20,0xb5,0xb4,0xf0,0x34,0x12,0x00,0x00]274 275