1*9880d681SAndroid Build Coastguard Worker// RUN: llvm-mc -triple x86_64-unknown-unknown -mcpu=knl -mattr=+avx512ifma --show-encoding %s | FileCheck %s 2*9880d681SAndroid Build Coastguard Worker 3*9880d681SAndroid Build Coastguard Worker vpmadd52luq %zmm4, %zmm5, %zmm6 4*9880d681SAndroid Build Coastguard Worker//CHECK: vpmadd52luq %zmm4, %zmm5, %zmm6 5*9880d681SAndroid Build Coastguard Worker//CHECK: encoding: [0x62,0xf2,0xd5,0x48,0xb4,0xf4] 6*9880d681SAndroid Build Coastguard Worker 7*9880d681SAndroid Build Coastguard Worker vpmadd52luq %zmm4, %zmm5, %zmm6 {%k7} 8*9880d681SAndroid Build Coastguard Worker//CHECK: vpmadd52luq %zmm4, %zmm5, %zmm6 {%k7} 9*9880d681SAndroid Build Coastguard Worker//CHECK: encoding: [0x62,0xf2,0xd5,0x4f,0xb4,0xf4] 10*9880d681SAndroid Build Coastguard Worker 11*9880d681SAndroid Build Coastguard Worker vpmadd52luq %zmm4, %zmm5, %zmm6 {%k7} {z} 12*9880d681SAndroid Build Coastguard Worker//CHECK: vpmadd52luq %zmm4, %zmm5, %zmm6 {%k7} {z} 13*9880d681SAndroid Build Coastguard Worker//CHECK: encoding: [0x62,0xf2,0xd5,0xcf,0xb4,0xf4] 14*9880d681SAndroid Build Coastguard Worker 15*9880d681SAndroid Build Coastguard Worker vpmadd52luq %zmm28, %zmm29, %zmm30 16*9880d681SAndroid Build Coastguard Worker//CHECK: vpmadd52luq %zmm28, %zmm29, %zmm30 17*9880d681SAndroid Build Coastguard Worker//CHECK: encoding: [0x62,0x02,0x95,0x40,0xb4,0xf4] 18*9880d681SAndroid Build Coastguard Worker 19*9880d681SAndroid Build Coastguard Worker vpmadd52luq %zmm28, %zmm29, %zmm30 {%k7} 20*9880d681SAndroid Build Coastguard Worker//CHECK: vpmadd52luq %zmm28, %zmm29, %zmm30 {%k7} 21*9880d681SAndroid Build Coastguard Worker//CHECK: encoding: [0x62,0x02,0x95,0x47,0xb4,0xf4] 22*9880d681SAndroid Build Coastguard Worker 23*9880d681SAndroid Build Coastguard Worker vpmadd52luq %zmm28, %zmm29, %zmm30 {%k7} {z} 24*9880d681SAndroid Build Coastguard Worker//CHECK: vpmadd52luq %zmm28, %zmm29, %zmm30 {%k7} {z} 25*9880d681SAndroid Build Coastguard Worker//CHECK: encoding: [0x62,0x02,0x95,0xc7,0xb4,0xf4] 26*9880d681SAndroid Build Coastguard Worker 27*9880d681SAndroid Build Coastguard Worker vpmadd52luq (%rcx), %zmm29, %zmm30 28*9880d681SAndroid Build Coastguard Worker//CHECK: vpmadd52luq (%rcx), %zmm29, %zmm30 29*9880d681SAndroid Build Coastguard Worker//CHECK: encoding: [0x62,0x62,0x95,0x40,0xb4,0x31] 30*9880d681SAndroid Build Coastguard Worker 31*9880d681SAndroid Build Coastguard Worker vpmadd52luq 0x123(%rax,%r14,8), %zmm29, %zmm30 32*9880d681SAndroid Build Coastguard Worker//CHECK: vpmadd52luq 291(%rax,%r14,8), %zmm29, %zmm30 33*9880d681SAndroid Build Coastguard Worker//CHECK: encoding: [0x62,0x22,0x95,0x40,0xb4,0xb4,0xf0,0x23,0x01,0x00,0x00] 34*9880d681SAndroid Build Coastguard Worker 35*9880d681SAndroid Build Coastguard Worker vpmadd52luq (%rcx){1to8}, %zmm29, %zmm30 36*9880d681SAndroid Build Coastguard Worker//CHECK: vpmadd52luq (%rcx){1to8}, %zmm29, %zmm30 37*9880d681SAndroid Build Coastguard Worker//CHECK: encoding: [0x62,0x62,0x95,0x50,0xb4,0x31] 38*9880d681SAndroid Build Coastguard Worker 39*9880d681SAndroid Build Coastguard Worker vpmadd52luq 0x1fc0(%rdx), %zmm29, %zmm30 40*9880d681SAndroid Build Coastguard Worker//CHECK: vpmadd52luq 8128(%rdx), %zmm29, %zmm30 41*9880d681SAndroid Build Coastguard Worker//CHECK: encoding: [0x62,0x62,0x95,0x40,0xb4,0x72,0x7f] 42*9880d681SAndroid Build Coastguard Worker 43*9880d681SAndroid Build Coastguard Worker vpmadd52luq 0x2000(%rdx), %zmm29, %zmm30 44*9880d681SAndroid Build Coastguard Worker//CHECK: vpmadd52luq 8192(%rdx), %zmm29, %zmm30 45*9880d681SAndroid Build Coastguard Worker//CHECK: encoding: [0x62,0x62,0x95,0x40,0xb4,0xb2,0x00,0x20,0x00,0x00] 46*9880d681SAndroid Build Coastguard Worker 47*9880d681SAndroid Build Coastguard Worker vpmadd52luq -0x2000(%rdx), %zmm29, %zmm30 48*9880d681SAndroid Build Coastguard Worker//CHECK: vpmadd52luq -8192(%rdx), %zmm29, %zmm30 49*9880d681SAndroid Build Coastguard Worker//CHECK: encoding: [0x62,0x62,0x95,0x40,0xb4,0x72,0x80] 50*9880d681SAndroid Build Coastguard Worker 51*9880d681SAndroid Build Coastguard Worker vpmadd52luq -0x2040(%rdx), %zmm29, %zmm30 52*9880d681SAndroid Build Coastguard Worker//CHECK: vpmadd52luq -8256(%rdx), %zmm29, %zmm30 53*9880d681SAndroid Build Coastguard Worker//CHECK: encoding: [0x62,0x62,0x95,0x40,0xb4,0xb2,0xc0,0xdf,0xff,0xff] 54*9880d681SAndroid Build Coastguard Worker 55*9880d681SAndroid Build Coastguard Worker vpmadd52luq 0x3f8(%rdx){1to8}, %zmm29, %zmm30 56*9880d681SAndroid Build Coastguard Worker//CHECK: vpmadd52luq 1016(%rdx){1to8}, %zmm29, %zmm30 57*9880d681SAndroid Build Coastguard Worker//CHECK: encoding: [0x62,0x62,0x95,0x50,0xb4,0x72,0x7f] 58*9880d681SAndroid Build Coastguard Worker 59*9880d681SAndroid Build Coastguard Worker vpmadd52luq 0x400(%rdx){1to8}, %zmm29, %zmm30 60*9880d681SAndroid Build Coastguard Worker//CHECK: vpmadd52luq 1024(%rdx){1to8}, %zmm29, %zmm30 61*9880d681SAndroid Build Coastguard Worker//CHECK: encoding: [0x62,0x62,0x95,0x50,0xb4,0xb2,0x00,0x04,0x00,0x00] 62*9880d681SAndroid Build Coastguard Worker 63*9880d681SAndroid Build Coastguard Worker vpmadd52luq -0x400(%rdx){1to8}, %zmm29, %zmm30 64*9880d681SAndroid Build Coastguard Worker//CHECK: vpmadd52luq -1024(%rdx){1to8}, %zmm29, %zmm30 65*9880d681SAndroid Build Coastguard Worker//CHECK: encoding: [0x62,0x62,0x95,0x50,0xb4,0x72,0x80] 66*9880d681SAndroid Build Coastguard Worker 67*9880d681SAndroid Build Coastguard Worker vpmadd52luq -0x408(%rdx){1to8}, %zmm29, %zmm30 68*9880d681SAndroid Build Coastguard Worker//CHECK: vpmadd52luq -1032(%rdx){1to8}, %zmm29, %zmm30 69*9880d681SAndroid Build Coastguard Worker//CHECK: encoding: [0x62,0x62,0x95,0x50,0xb4,0xb2,0xf8,0xfb,0xff,0xff] 70*9880d681SAndroid Build Coastguard Worker 71*9880d681SAndroid Build Coastguard Worker vpmadd52luq 0x1234(%rax,%r14,8), %zmm29, %zmm30 72*9880d681SAndroid Build Coastguard Worker//CHECK: vpmadd52luq 4660(%rax,%r14,8), %zmm29, %zmm30 73*9880d681SAndroid Build Coastguard Worker//CHECK: encoding: [0x62,0x22,0x95,0x40,0xb4,0xb4,0xf0,0x34,0x12,0x00,0x00] 74*9880d681SAndroid Build Coastguard Worker 75*9880d681SAndroid Build Coastguard Worker vpmadd52huq %zmm4, %zmm5, %zmm6 76*9880d681SAndroid Build Coastguard Worker//CHECK: vpmadd52huq %zmm4, %zmm5, %zmm6 77*9880d681SAndroid Build Coastguard Worker//CHECK: encoding: [0x62,0xf2,0xd5,0x48,0xb5,0xf4] 78*9880d681SAndroid Build Coastguard Worker 79*9880d681SAndroid Build Coastguard Worker vpmadd52huq %zmm4, %zmm5, %zmm6 {%k7} 80*9880d681SAndroid Build Coastguard Worker//CHECK: vpmadd52huq %zmm4, %zmm5, %zmm6 {%k7} 81*9880d681SAndroid Build Coastguard Worker//CHECK: encoding: [0x62,0xf2,0xd5,0x4f,0xb5,0xf4] 82*9880d681SAndroid Build Coastguard Worker 83*9880d681SAndroid Build Coastguard Worker vpmadd52huq %zmm4, %zmm5, %zmm6 {%k7} {z} 84*9880d681SAndroid Build Coastguard Worker//CHECK: vpmadd52huq %zmm4, %zmm5, %zmm6 {%k7} {z} 85*9880d681SAndroid Build Coastguard Worker//CHECK: encoding: [0x62,0xf2,0xd5,0xcf,0xb5,0xf4] 86*9880d681SAndroid Build Coastguard Worker 87*9880d681SAndroid Build Coastguard Worker vpmadd52huq %zmm28, %zmm29, %zmm30 88*9880d681SAndroid Build Coastguard Worker//CHECK: vpmadd52huq %zmm28, %zmm29, %zmm30 89*9880d681SAndroid Build Coastguard Worker//CHECK: encoding: [0x62,0x02,0x95,0x40,0xb5,0xf4] 90*9880d681SAndroid Build Coastguard Worker 91*9880d681SAndroid Build Coastguard Worker vpmadd52huq %zmm28, %zmm29, %zmm30 {%k7} 92*9880d681SAndroid Build Coastguard Worker//CHECK: vpmadd52huq %zmm28, %zmm29, %zmm30 {%k7} 93*9880d681SAndroid Build Coastguard Worker//CHECK: encoding: [0x62,0x02,0x95,0x47,0xb5,0xf4] 94*9880d681SAndroid Build Coastguard Worker 95*9880d681SAndroid Build Coastguard Worker vpmadd52huq %zmm28, %zmm29, %zmm30 {%k7} {z} 96*9880d681SAndroid Build Coastguard Worker//CHECK: vpmadd52huq %zmm28, %zmm29, %zmm30 {%k7} {z} 97*9880d681SAndroid Build Coastguard Worker//CHECK: encoding: [0x62,0x02,0x95,0xc7,0xb5,0xf4] 98*9880d681SAndroid Build Coastguard Worker 99*9880d681SAndroid Build Coastguard Worker vpmadd52huq (%rcx), %zmm29, %zmm30 100*9880d681SAndroid Build Coastguard Worker//CHECK: vpmadd52huq (%rcx), %zmm29, %zmm30 101*9880d681SAndroid Build Coastguard Worker//CHECK: encoding: [0x62,0x62,0x95,0x40,0xb5,0x31] 102*9880d681SAndroid Build Coastguard Worker 103*9880d681SAndroid Build Coastguard Worker vpmadd52huq 0x123(%rax,%r14,8), %zmm29, %zmm30 104*9880d681SAndroid Build Coastguard Worker//CHECK: vpmadd52huq 291(%rax,%r14,8), %zmm29, %zmm30 105*9880d681SAndroid Build Coastguard Worker//CHECK: encoding: [0x62,0x22,0x95,0x40,0xb5,0xb4,0xf0,0x23,0x01,0x00,0x00] 106*9880d681SAndroid Build Coastguard Worker 107*9880d681SAndroid Build Coastguard Worker vpmadd52huq (%rcx){1to8}, %zmm29, %zmm30 108*9880d681SAndroid Build Coastguard Worker//CHECK: vpmadd52huq (%rcx){1to8}, %zmm29, %zmm30 109*9880d681SAndroid Build Coastguard Worker//CHECK: encoding: [0x62,0x62,0x95,0x50,0xb5,0x31] 110*9880d681SAndroid Build Coastguard Worker 111*9880d681SAndroid Build Coastguard Worker vpmadd52huq 0x1fc0(%rdx), %zmm29, %zmm30 112*9880d681SAndroid Build Coastguard Worker//CHECK: vpmadd52huq 8128(%rdx), %zmm29, %zmm30 113*9880d681SAndroid Build Coastguard Worker//CHECK: encoding: [0x62,0x62,0x95,0x40,0xb5,0x72,0x7f] 114*9880d681SAndroid Build Coastguard Worker 115*9880d681SAndroid Build Coastguard Worker vpmadd52huq 0x2000(%rdx), %zmm29, %zmm30 116*9880d681SAndroid Build Coastguard Worker//CHECK: vpmadd52huq 8192(%rdx), %zmm29, %zmm30 117*9880d681SAndroid Build Coastguard Worker//CHECK: encoding: [0x62,0x62,0x95,0x40,0xb5,0xb2,0x00,0x20,0x00,0x00] 118*9880d681SAndroid Build Coastguard Worker 119*9880d681SAndroid Build Coastguard Worker vpmadd52huq -0x2000(%rdx), %zmm29, %zmm30 120*9880d681SAndroid Build Coastguard Worker//CHECK: vpmadd52huq -8192(%rdx), %zmm29, %zmm30 121*9880d681SAndroid Build Coastguard Worker//CHECK: encoding: [0x62,0x62,0x95,0x40,0xb5,0x72,0x80] 122*9880d681SAndroid Build Coastguard Worker 123*9880d681SAndroid Build Coastguard Worker vpmadd52huq -0x2040(%rdx), %zmm29, %zmm30 124*9880d681SAndroid Build Coastguard Worker//CHECK: vpmadd52huq -8256(%rdx), %zmm29, %zmm30 125*9880d681SAndroid Build Coastguard Worker//CHECK: encoding: [0x62,0x62,0x95,0x40,0xb5,0xb2,0xc0,0xdf,0xff,0xff] 126*9880d681SAndroid Build Coastguard Worker 127*9880d681SAndroid Build Coastguard Worker vpmadd52huq 0x3f8(%rdx){1to8}, %zmm29, %zmm30 128*9880d681SAndroid Build Coastguard Worker//CHECK: vpmadd52huq 1016(%rdx){1to8}, %zmm29, %zmm30 129*9880d681SAndroid Build Coastguard Worker//CHECK: encoding: [0x62,0x62,0x95,0x50,0xb5,0x72,0x7f] 130*9880d681SAndroid Build Coastguard Worker 131*9880d681SAndroid Build Coastguard Worker vpmadd52huq 0x400(%rdx){1to8}, %zmm29, %zmm30 132*9880d681SAndroid Build Coastguard Worker//CHECK: vpmadd52huq 1024(%rdx){1to8}, %zmm29, %zmm30 133*9880d681SAndroid Build Coastguard Worker//CHECK: encoding: [0x62,0x62,0x95,0x50,0xb5,0xb2,0x00,0x04,0x00,0x00] 134*9880d681SAndroid Build Coastguard Worker 135*9880d681SAndroid Build Coastguard Worker vpmadd52huq -0x400(%rdx){1to8}, %zmm29, %zmm30 136*9880d681SAndroid Build Coastguard Worker//CHECK: vpmadd52huq -1024(%rdx){1to8}, %zmm29, %zmm30 137*9880d681SAndroid Build Coastguard Worker//CHECK: encoding: [0x62,0x62,0x95,0x50,0xb5,0x72,0x80] 138*9880d681SAndroid Build Coastguard Worker 139*9880d681SAndroid Build Coastguard Worker vpmadd52huq -0x408(%rdx){1to8}, %zmm29, %zmm30 140*9880d681SAndroid Build Coastguard Worker//CHECK: vpmadd52huq -1032(%rdx){1to8}, %zmm29, %zmm30 141*9880d681SAndroid Build Coastguard Worker//CHECK: encoding: [0x62,0x62,0x95,0x50,0xb5,0xb2,0xf8,0xfb,0xff,0xff] 142*9880d681SAndroid Build Coastguard Worker 143*9880d681SAndroid Build Coastguard Worker vpmadd52huq 0x1234(%rax,%r14,8), %zmm29, %zmm30 144*9880d681SAndroid Build Coastguard Worker//CHECK: vpmadd52huq 4660(%rax,%r14,8), %zmm29, %zmm30 145*9880d681SAndroid Build Coastguard Worker//CHECK: encoding: [0x62,0x22,0x95,0x40,0xb5,0xb4,0xf0,0x34,0x12,0x00,0x00] 146