1# RUN: llvm-mc -triple x86_64 -show-encoding %s | FileCheck %s 2 3# CHECK: vpopcntb %zmm23, %zmm21 4# CHECK: encoding: [0x62,0xa2,0x7d,0x48,0x54,0xef] 5 vpopcntb %zmm23, %zmm21 6 7# CHECK: vpopcntw %zmm23, %zmm21 8# CHECK: encoding: [0x62,0xa2,0xfd,0x48,0x54,0xef] 9 vpopcntw %zmm23, %zmm21 10 11# CHECK: vpopcntb %zmm3, %zmm1 {%k2} 12# CHECK: encoding: [0x62,0xf2,0x7d,0x4a,0x54,0xcb] 13 vpopcntb %zmm3, %zmm1 {%k2} 14 15# CHECK: vpopcntw %zmm3, %zmm1 {%k2} 16# CHECK: encoding: [0x62,0xf2,0xfd,0x4a,0x54,0xcb] 17 vpopcntw %zmm3, %zmm1 {%k2} 18 19# CHECK: vpopcntb (%rcx), %zmm1 20# CHECK: encoding: [0x62,0xf2,0x7d,0x48,0x54,0x09] 21 vpopcntb (%rcx), %zmm1 22 23# CHECK: vpopcntb -256(%rsp), %zmm1 24# CHECK: encoding: [0x62,0xf2,0x7d,0x48,0x54,0x4c,0x24,0xfc] 25 vpopcntb -256(%rsp), %zmm1 26 27# CHECK: vpopcntb 256(%rsp), %zmm1 28# CHECK: encoding: [0x62,0xf2,0x7d,0x48,0x54,0x4c,0x24,0x04] 29 vpopcntb 256(%rsp), %zmm1 30 31# CHECK: vpopcntb 268435456(%rcx,%r14,8), %zmm1 32# CHECK: encoding: [0x62,0xb2,0x7d,0x48,0x54,0x8c,0xf1,0x00,0x00,0x00,0x10] 33 vpopcntb 268435456(%rcx,%r14,8), %zmm1 34 35# CHECK: vpopcntb -536870912(%rcx,%r14,8), %zmm1 36# CHECK: encoding: [0x62,0xb2,0x7d,0x48,0x54,0x8c,0xf1,0x00,0x00,0x00,0xe0] 37 vpopcntb -536870912(%rcx,%r14,8), %zmm1 38 39# CHECK: vpopcntb -536870910(%rcx,%r14,8), %zmm1 40# CHECK: encoding: [0x62,0xb2,0x7d,0x48,0x54,0x8c,0xf1,0x02,0x00,0x00,0xe0] 41 vpopcntb -536870910(%rcx,%r14,8), %zmm1 42 43# CHECK: vpopcntw (%rcx), %zmm1 44# CHECK: encoding: [0x62,0xf2,0xfd,0x48,0x54,0x09] 45 vpopcntw (%rcx), %zmm1 46 47# CHECK: vpopcntw -256(%rsp), %zmm1 48# CHECK: encoding: [0x62,0xf2,0xfd,0x48,0x54,0x4c,0x24,0xfc] 49 vpopcntw -256(%rsp), %zmm1 50 51# CHECK: vpopcntw 256(%rsp), %zmm1 52# CHECK: encoding: [0x62,0xf2,0xfd,0x48,0x54,0x4c,0x24,0x04] 53 vpopcntw 256(%rsp), %zmm1 54 55# CHECK: vpopcntw 268435456(%rcx,%r14,8), %zmm1 56# CHECK: encoding: [0x62,0xb2,0xfd,0x48,0x54,0x8c,0xf1,0x00,0x00,0x00,0x10] 57 vpopcntw 268435456(%rcx,%r14,8), %zmm1 58 59# CHECK: vpopcntw -536870912(%rcx,%r14,8), %zmm1 60# CHECK: encoding: [0x62,0xb2,0xfd,0x48,0x54,0x8c,0xf1,0x00,0x00,0x00,0xe0] 61 vpopcntw -536870912(%rcx,%r14,8), %zmm1 62 63# CHECK: vpopcntw -536870910(%rcx,%r14,8), %zmm1 64# CHECK: encoding: [0x62,0xb2,0xfd,0x48,0x54,0x8c,0xf1,0x02,0x00,0x00,0xe0] 65 vpopcntw -536870910(%rcx,%r14,8), %zmm1 66 67# CHECK: vpopcntb (%rcx), %zmm21 {%k2} 68# CHECK: encoding: [0x62,0xe2,0x7d,0x4a,0x54,0x29] 69 vpopcntb (%rcx), %zmm21 {%k2} 70 71# CHECK: vpopcntb -256(%rsp), %zmm21 {%k2} 72# CHECK: encoding: [0x62,0xe2,0x7d,0x4a,0x54,0x6c,0x24,0xfc] 73 vpopcntb -256(%rsp), %zmm21 {%k2} 74 75# CHECK: vpopcntb 256(%rsp), %zmm21 {%k2} 76# CHECK: encoding: [0x62,0xe2,0x7d,0x4a,0x54,0x6c,0x24,0x04] 77 vpopcntb 256(%rsp), %zmm21 {%k2} 78 79# CHECK: vpopcntb 268435456(%rcx,%r14,8), %zmm21 {%k2} 80# CHECK: encoding: [0x62,0xa2,0x7d,0x4a,0x54,0xac,0xf1,0x00,0x00,0x00,0x10] 81 vpopcntb 268435456(%rcx,%r14,8), %zmm21 {%k2} 82 83# CHECK: vpopcntb -536870912(%rcx,%r14,8), %zmm21 {%k2} 84# CHECK: encoding: [0x62,0xa2,0x7d,0x4a,0x54,0xac,0xf1,0x00,0x00,0x00,0xe0] 85 vpopcntb -536870912(%rcx,%r14,8), %zmm21 {%k2} 86 87# CHECK: vpopcntb -536870910(%rcx,%r14,8), %zmm21 {%k2} 88# CHECK: encoding: [0x62,0xa2,0x7d,0x4a,0x54,0xac,0xf1,0x02,0x00,0x00,0xe0] 89 vpopcntb -536870910(%rcx,%r14,8), %zmm21 {%k2} 90 91# CHECK: vpopcntw (%rcx), %zmm21 {%k2} 92# CHECK: encoding: [0x62,0xe2,0xfd,0x4a,0x54,0x29] 93 vpopcntw (%rcx), %zmm21 {%k2} 94 95# CHECK: vpopcntw -256(%rsp), %zmm21 {%k2} 96# CHECK: encoding: [0x62,0xe2,0xfd,0x4a,0x54,0x6c,0x24,0xfc] 97 vpopcntw -256(%rsp), %zmm21 {%k2} 98 99# CHECK: vpopcntw 256(%rsp), %zmm21 {%k2} 100# CHECK: encoding: [0x62,0xe2,0xfd,0x4a,0x54,0x6c,0x24,0x04] 101 vpopcntw 256(%rsp), %zmm21 {%k2} 102 103# CHECK: vpopcntw 268435456(%rcx,%r14,8), %zmm21 {%k2} 104# CHECK: encoding: [0x62,0xa2,0xfd,0x4a,0x54,0xac,0xf1,0x00,0x00,0x00,0x10] 105 vpopcntw 268435456(%rcx,%r14,8), %zmm21 {%k2} 106 107# CHECK: vpopcntw -536870912(%rcx,%r14,8), %zmm21 {%k2} 108# CHECK: encoding: [0x62,0xa2,0xfd,0x4a,0x54,0xac,0xf1,0x00,0x00,0x00,0xe0] 109 vpopcntw -536870912(%rcx,%r14,8), %zmm21 {%k2} 110 111# CHECK: vpopcntw -536870910(%rcx,%r14,8), %zmm21 {%k2} 112# CHECK: encoding: [0x62,0xa2,0xfd,0x4a,0x54,0xac,0xf1,0x02,0x00,0x00,0xe0] 113 vpopcntw -536870910(%rcx,%r14,8), %zmm21 {%k2} 114 115# CHECK: vpshufbitqmb %zmm2, %zmm23, %k1 116# CHECK: encoding: [0x62,0xf2,0x45,0x40,0x8f,0xca] 117 vpshufbitqmb %zmm2, %zmm23, %k1 118 119# CHECK: vpshufbitqmb %zmm2, %zmm23, %k1 {%k2} 120# CHECK: encoding: [0x62,0xf2,0x45,0x42,0x8f,0xca] 121 vpshufbitqmb %zmm2, %zmm23, %k1 {%k2} 122 123# CHECK: vpshufbitqmb (%rcx), %zmm23, %k1 124# CHECK: encoding: [0x62,0xf2,0x45,0x40,0x8f,0x09] 125 vpshufbitqmb (%rcx), %zmm23, %k1 126 127# CHECK: vpshufbitqmb -256(%rsp), %zmm23, %k1 128# CHECK: encoding: [0x62,0xf2,0x45,0x40,0x8f,0x4c,0x24,0xfc] 129 vpshufbitqmb -256(%rsp), %zmm23, %k1 130 131# CHECK: vpshufbitqmb 256(%rsp), %zmm23, %k1 132# CHECK: encoding: [0x62,0xf2,0x45,0x40,0x8f,0x4c,0x24,0x04] 133 vpshufbitqmb 256(%rsp), %zmm23, %k1 134 135# CHECK: vpshufbitqmb 268435456(%rcx,%r14,8), %zmm23, %k1 136# CHECK: encoding: [0x62,0xb2,0x45,0x40,0x8f,0x8c,0xf1,0x00,0x00,0x00,0x10] 137 vpshufbitqmb 268435456(%rcx,%r14,8), %zmm23, %k1 138 139# CHECK: vpshufbitqmb -536870912(%rcx,%r14,8), %zmm23, %k1 140# CHECK: encoding: [0x62,0xb2,0x45,0x40,0x8f,0x8c,0xf1,0x00,0x00,0x00,0xe0] 141 vpshufbitqmb -536870912(%rcx,%r14,8), %zmm23, %k1 142 143# CHECK: vpshufbitqmb -536870910(%rcx,%r14,8), %zmm23, %k1 144# CHECK: encoding: [0x62,0xb2,0x45,0x40,0x8f,0x8c,0xf1,0x02,0x00,0x00,0xe0] 145 vpshufbitqmb -536870910(%rcx,%r14,8), %zmm23, %k1 146 147# CHECK: vpshufbitqmb (%rcx), %zmm23, %k1 {%k2} 148# CHECK: encoding: [0x62,0xf2,0x45,0x42,0x8f,0x09] 149 vpshufbitqmb (%rcx), %zmm23, %k1 {%k2} 150 151# CHECK: vpshufbitqmb -256(%rsp), %zmm23, %k1 {%k2} 152# CHECK: encoding: [0x62,0xf2,0x45,0x42,0x8f,0x4c,0x24,0xfc] 153 vpshufbitqmb -256(%rsp), %zmm23, %k1 {%k2} 154 155# CHECK: vpshufbitqmb 256(%rsp), %zmm23, %k1 {%k2} 156# CHECK: encoding: [0x62,0xf2,0x45,0x42,0x8f,0x4c,0x24,0x04] 157 vpshufbitqmb 256(%rsp), %zmm23, %k1 {%k2} 158 159# CHECK: vpshufbitqmb 268435456(%rcx,%r14,8), %zmm23, %k1 {%k2} 160# CHECK: encoding: [0x62,0xb2,0x45,0x42,0x8f,0x8c,0xf1,0x00,0x00,0x00,0x10] 161 vpshufbitqmb 268435456(%rcx,%r14,8), %zmm23, %k1 {%k2} 162 163# CHECK: vpshufbitqmb -536870912(%rcx,%r14,8), %zmm23, %k1 {%k2} 164# CHECK: encoding: [0x62,0xb2,0x45,0x42,0x8f,0x8c,0xf1,0x00,0x00,0x00,0xe0] 165 vpshufbitqmb -536870912(%rcx,%r14,8), %zmm23, %k1 {%k2} 166 167# CHECK: vpshufbitqmb -536870910(%rcx,%r14,8), %zmm23, %k1 {%k2} 168# CHECK: encoding: [0x62,0xb2,0x45,0x42,0x8f,0x8c,0xf1,0x02,0x00,0x00,0xe0] 169 vpshufbitqmb -536870910(%rcx,%r14,8), %zmm23, %k1 {%k2} 170