1// RUN: llvm-mc -triple x86_64-unknown-unknown --show-encoding %s | FileCheck %s 2 3// v8i64 vectors 4// CHECK: vp2intersectq %zmm2, %zmm1, %k0 5// CHECK: encoding: [0x62,0xf2,0xf7,0x48,0x68,0xc2] 6vp2intersectq %zmm2, %zmm1, %k0 7 8// CHECK: vp2intersectq (%rdi), %zmm1, %k0 9// CHECK: encoding: [0x62,0xf2,0xf7,0x48,0x68,0x07] 10vp2intersectq (%rdi), %zmm1, %k0 11 12// CHECK: vp2intersectq (%rdi){1to8}, %zmm1, %k0 13// CHECK: encoding: [0x62,0xf2,0xf7,0x58,0x68,0x07] 14vp2intersectq (%rdi){1to8}, %zmm1, %k0 15 16// CHECK: vp2intersectq %zmm2, %zmm1, %k0 17// CHECK: encoding: [0x62,0xf2,0xf7,0x48,0x68,0xc2] 18vp2intersectq %zmm2, %zmm1, %k1 19 20// CHECK: vp2intersectq (%rdi), %zmm1, %k0 21// CHECK: encoding: [0x62,0xf2,0xf7,0x48,0x68,0x07] 22vp2intersectq (%rdi), %zmm1, %k1 23 24// CHECK: vp2intersectq (%rdi){1to8}, %zmm1, %k0 25// CHECK: encoding: [0x62,0xf2,0xf7,0x58,0x68,0x07] 26vp2intersectq (%rdi){1to8}, %zmm1, %k1 27 28// CHECK: vp2intersectq %zmm7, %zmm9, %k6 29// CHECK: encoding: [0x62,0xf2,0xb7,0x48,0x68,0xf7] 30vp2intersectq %zmm7, %zmm9, %k6 31 32// CHECK: vp2intersectq (%rsi), %zmm9, %k6 33// CHECK: encoding: [0x62,0xf2,0xb7,0x48,0x68,0x36] 34vp2intersectq (%rsi), %zmm9, %k6 35 36// CHECK: vp2intersectq (%rsi){1to8}, %zmm9, %k6 37// CHECK: encoding: [0x62,0xf2,0xb7,0x58,0x68,0x36] 38vp2intersectq (%rsi){1to8}, %zmm9, %k6 39 40// CHECK: vp2intersectq %zmm7, %zmm9, %k6 41// CHECK: encoding: [0x62,0xf2,0xb7,0x48,0x68,0xf7] 42vp2intersectq %zmm7, %zmm9, %k7 43 44// CHECK: vp2intersectq (%rsi), %zmm9, %k6 45// CHECK: encoding: [0x62,0xf2,0xb7,0x48,0x68,0x36] 46vp2intersectq (%rsi), %zmm9, %k7 47 48// CHECK: vp2intersectq (%rsi){1to8}, %zmm9, %k6 49// CHECK: encoding: [0x62,0xf2,0xb7,0x58,0x68,0x36] 50vp2intersectq (%rsi){1to8}, %zmm9, %k7 51 52// v4i64 vectors 53// CHECK: vp2intersectq %ymm2, %ymm1, %k0 54// CHECK: encoding: [0x62,0xf2,0xf7,0x28,0x68,0xc2] 55vp2intersectq %ymm2, %ymm1, %k0 56 57// CHECK: vp2intersectq (%rdi), %ymm1, %k0 58// CHECK: encoding: [0x62,0xf2,0xf7,0x28,0x68,0x07] 59vp2intersectq (%rdi), %ymm1, %k0 60 61// CHECK: vp2intersectq (%rdi){1to4}, %ymm1, %k0 62// CHECK: encoding: [0x62,0xf2,0xf7,0x38,0x68,0x07] 63vp2intersectq (%rdi){1to4}, %ymm1, %k0 64 65// CHECK: vp2intersectq %ymm2, %ymm1, %k0 66// CHECK: encoding: [0x62,0xf2,0xf7,0x28,0x68,0xc2] 67vp2intersectq %ymm2, %ymm1, %k1 68 69// CHECK: vp2intersectq (%rdi), %ymm1, %k0 70// CHECK: encoding: [0x62,0xf2,0xf7,0x28,0x68,0x07] 71vp2intersectq (%rdi), %ymm1, %k1 72 73// CHECK: vp2intersectq (%rdi){1to4}, %ymm1, %k0 74// CHECK: encoding: [0x62,0xf2,0xf7,0x38,0x68,0x07] 75vp2intersectq (%rdi){1to4}, %ymm1, %k1 76 77// CHECK: vp2intersectq %ymm7, %ymm9, %k6 78// CHECK: encoding: [0x62,0xf2,0xb7,0x28,0x68,0xf7] 79vp2intersectq %ymm7, %ymm9, %k6 80 81// CHECK: vp2intersectq (%rsi), %ymm9, %k6 82// CHECK: encoding: [0x62,0xf2,0xb7,0x28,0x68,0x36] 83vp2intersectq (%rsi), %ymm9, %k6 84 85// CHECK: vp2intersectq (%rsi){1to4}, %ymm9, %k6 86// CHECK: encoding: [0x62,0xf2,0xb7,0x38,0x68,0x36] 87vp2intersectq (%rsi){1to4}, %ymm9, %k6 88 89// CHECK: vp2intersectq %ymm7, %ymm9, %k6 90// CHECK: encoding: [0x62,0xf2,0xb7,0x28,0x68,0xf7] 91vp2intersectq %ymm7, %ymm9, %k7 92 93// CHECK: vp2intersectq (%rsi), %ymm9, %k6 94// CHECK: encoding: [0x62,0xf2,0xb7,0x28,0x68,0x36] 95vp2intersectq (%rsi), %ymm9, %k7 96 97// v2i64 vectors 98// CHECK: vp2intersectq %xmm2, %xmm1, %k0 99// CHECK: encoding: [0x62,0xf2,0xf7,0x08,0x68,0xc2] 100vp2intersectq %xmm2, %xmm1, %k0 101 102// CHECK: vp2intersectq (%rdi), %xmm1, %k0 103// CHECK: encoding: [0x62,0xf2,0xf7,0x08,0x68,0x07] 104vp2intersectq (%rdi), %xmm1, %k0 105 106// CHECK: vp2intersectq (%rdi){1to2}, %xmm1, %k0 107// CHECK: encoding: [0x62,0xf2,0xf7,0x18,0x68,0x07] 108vp2intersectq (%rdi){1to2}, %xmm1, %k0 109 110// CHECK: vp2intersectq %xmm2, %xmm1, %k0 111// CHECK: encoding: [0x62,0xf2,0xf7,0x08,0x68,0xc2] 112vp2intersectq %xmm2, %xmm1, %k1 113 114// CHECK: vp2intersectq (%rdi), %xmm1, %k0 115// CHECK: encoding: [0x62,0xf2,0xf7,0x08,0x68,0x07] 116vp2intersectq (%rdi), %xmm1, %k1 117 118// CHECK: vp2intersectq %xmm7, %xmm9, %k6 119// CHECK: encoding: [0x62,0xf2,0xb7,0x08,0x68,0xf7] 120vp2intersectq %xmm7, %xmm9, %k6 121 122// CHECK: vp2intersectq (%rsi), %xmm9, %k6 123// CHECK: encoding: [0x62,0xf2,0xb7,0x08,0x68,0x36] 124vp2intersectq (%rsi), %xmm9, %k6 125 126// CHECK: vp2intersectq %xmm7, %xmm9, %k6 127// CHECK: encoding: [0x62,0xf2,0xb7,0x08,0x68,0xf7] 128vp2intersectq %xmm7, %xmm9, %k7 129 130// CHECK: vp2intersectq (%rsi), %xmm9, %k6 131// CHECK: encoding: [0x62,0xf2,0xb7,0x08,0x68,0x36] 132vp2intersectq (%rsi), %xmm9, %k7 133 134// v16i32 vectors 135// CHECK: vp2intersectd %zmm2, %zmm1, %k0 136// CHECK: encoding: [0x62,0xf2,0x77,0x48,0x68,0xc2] 137vp2intersectd %zmm2, %zmm1, %k0 138 139// CHECK: vp2intersectd (%rdi), %zmm1, %k0 140// CHECK: encoding: [0x62,0xf2,0x77,0x48,0x68,0x07] 141vp2intersectd (%rdi), %zmm1, %k0 142 143// CHECK: vp2intersectd %zmm2, %zmm1, %k0 144// CHECK: encoding: [0x62,0xf2,0x77,0x48,0x68,0xc2] 145vp2intersectd %zmm2, %zmm1, %k1 146 147// CHECK: vp2intersectd (%rdi), %zmm1, %k0 148// CHECK: encoding: [0x62,0xf2,0x77,0x48,0x68,0x07] 149vp2intersectd (%rdi), %zmm1, %k1 150 151// CHECK: vp2intersectd %zmm7, %zmm9, %k6 152// CHECK: encoding: [0x62,0xf2,0x37,0x48,0x68,0xf7] 153vp2intersectd %zmm7, %zmm9, %k6 154 155// CHECK: vp2intersectd (%rsi), %zmm9, %k6 156// CHECK: encoding: [0x62,0xf2,0x37,0x48,0x68,0x36] 157vp2intersectd (%rsi), %zmm9, %k6 158 159// CHECK: vp2intersectd %zmm7, %zmm9, %k6 160// CHECK: encoding: [0x62,0xf2,0x37,0x48,0x68,0xf7] 161vp2intersectd %zmm7, %zmm9, %k7 162 163// CHECK: vp2intersectd (%rsi), %zmm9, %k6 164// CHECK: encoding: [0x62,0xf2,0x37,0x48,0x68,0x36] 165vp2intersectd (%rsi), %zmm9, %k7 166 167// v8i32 vectors 168// CHECK: vp2intersectd %ymm2, %ymm1, %k0 169// CHECK: encoding: [0x62,0xf2,0x77,0x28,0x68,0xc2] 170vp2intersectd %ymm2, %ymm1, %k0 171 172// CHECK: vp2intersectd (%rdi), %ymm1, %k0 173// CHECK: encoding: [0x62,0xf2,0x77,0x28,0x68,0x07] 174vp2intersectd (%rdi), %ymm1, %k0 175 176// CHECK: vp2intersectd %ymm2, %ymm1, %k0 177// CHECK: encoding: [0x62,0xf2,0x77,0x28,0x68,0xc2] 178vp2intersectd %ymm2, %ymm1, %k1 179 180// CHECK: vp2intersectd (%rdi), %ymm1, %k0 181// CHECK: encoding: [0x62,0xf2,0x77,0x28,0x68,0x07] 182vp2intersectd (%rdi), %ymm1, %k1 183 184// CHECK: vp2intersectd %ymm7, %ymm9, %k6 185// CHECK: encoding: [0x62,0xf2,0x37,0x28,0x68,0xf7] 186vp2intersectd %ymm7, %ymm9, %k6 187 188// CHECK: vp2intersectd (%rsi), %ymm9, %k6 189// CHECK: encoding: [0x62,0xf2,0x37,0x28,0x68,0x36] 190vp2intersectd (%rsi), %ymm9, %k6 191 192// CHECK: vp2intersectd %ymm7, %ymm9, %k6 193// CHECK: encoding: [0x62,0xf2,0x37,0x28,0x68,0xf7] 194vp2intersectd %ymm7, %ymm9, %k7 195 196// CHECK: vp2intersectd (%rsi), %ymm9, %k6 197// CHECK: encoding: [0x62,0xf2,0x37,0x28,0x68,0x36] 198vp2intersectd (%rsi), %ymm9, %k7 199 200// v4i32 vectors 201// CHECK: vp2intersectd %xmm2, %xmm1, %k0 202// CHECK: encoding: [0x62,0xf2,0x77,0x08,0x68,0xc2] 203vp2intersectd %xmm2, %xmm1, %k0 204 205// CHECK: vp2intersectd (%rdi), %xmm1, %k0 206// CHECK: encoding: [0x62,0xf2,0x77,0x08,0x68,0x07] 207vp2intersectd (%rdi), %xmm1, %k0 208 209// CHECK: vp2intersectd %xmm2, %xmm1, %k0 210// CHECK: encoding: [0x62,0xf2,0x77,0x08,0x68,0xc2] 211vp2intersectd %xmm2, %xmm1, %k1 212 213// CHECK: vp2intersectd (%rdi), %xmm1, %k0 214// CHECK: encoding: [0x62,0xf2,0x77,0x08,0x68,0x07] 215vp2intersectd (%rdi), %xmm1, %k1 216 217// CHECK: vp2intersectd %xmm7, %xmm9, %k6 218// CHECK: encoding: [0x62,0xf2,0x37,0x08,0x68,0xf7] 219vp2intersectd %xmm7, %xmm9, %k6 220 221// CHECK: vp2intersectd (%rsi), %xmm9, %k6 222// CHECK: encoding: [0x62,0xf2,0x37,0x08,0x68,0x36] 223vp2intersectd (%rsi), %xmm9, %k6 224 225// CHECK: vp2intersectd %xmm7, %xmm9, %k6 226// CHECK: encoding: [0x62,0xf2,0x37,0x08,0x68,0xf7] 227vp2intersectd %xmm7, %xmm9, %k7 228 229// CHECK: vp2intersectd (%rsi), %xmm9, %k6 230// CHECK: encoding: [0x62,0xf2,0x37,0x08,0x68,0x36] 231vp2intersectd (%rsi), %xmm9, %k7 232