1// RUN: llvm-mc -triple x86_64-unknown-unknown --show-encoding %s | FileCheck %s 2 3// CHECK: crc32b 485498096, %r13d 4// CHECK: encoding: [0xf2,0x44,0x0f,0x38,0xf0,0x2c,0x25,0xf0,0x1c,0xf0,0x1c] 5crc32b 485498096, %r13d 6 7// CHECK: crc32b 64(%rdx), %r13d 8// CHECK: encoding: [0xf2,0x44,0x0f,0x38,0xf0,0x6a,0x40] 9crc32b 64(%rdx), %r13d 10 11// CHECK: crc32b -64(%rdx,%rax,4), %r13d 12// CHECK: encoding: [0xf2,0x44,0x0f,0x38,0xf0,0x6c,0x82,0xc0] 13crc32b -64(%rdx,%rax,4), %r13d 14 15// CHECK: crc32b 64(%rdx,%rax,4), %r13d 16// CHECK: encoding: [0xf2,0x44,0x0f,0x38,0xf0,0x6c,0x82,0x40] 17crc32b 64(%rdx,%rax,4), %r13d 18 19// CHECK: crc32b 64(%rdx,%rax), %r13d 20// CHECK: encoding: [0xf2,0x44,0x0f,0x38,0xf0,0x6c,0x02,0x40] 21crc32b 64(%rdx,%rax), %r13d 22 23// CHECK: crc32b %r14b, %r13d 24// CHECK: encoding: [0xf2,0x45,0x0f,0x38,0xf0,0xee] 25crc32b %r14b, %r13d 26 27// CHECK: crc32b (%rdx), %r13d 28// CHECK: encoding: [0xf2,0x44,0x0f,0x38,0xf0,0x2a] 29crc32b (%rdx), %r13d 30 31// CHECK: crc32w 485498096, %r13d 32// CHECK: encoding: [0x66,0xf2,0x44,0x0f,0x38,0xf1,0x2c,0x25,0xf0,0x1c,0xf0,0x1c] 33crc32w 485498096, %r13d 34 35// CHECK: crc32w 64(%rdx), %r13d 36// CHECK: encoding: [0x66,0xf2,0x44,0x0f,0x38,0xf1,0x6a,0x40] 37crc32w 64(%rdx), %r13d 38 39// CHECK: crc32w -64(%rdx,%rax,4), %r13d 40// CHECK: encoding: [0x66,0xf2,0x44,0x0f,0x38,0xf1,0x6c,0x82,0xc0] 41crc32w -64(%rdx,%rax,4), %r13d 42 43// CHECK: crc32w 64(%rdx,%rax,4), %r13d 44// CHECK: encoding: [0x66,0xf2,0x44,0x0f,0x38,0xf1,0x6c,0x82,0x40] 45crc32w 64(%rdx,%rax,4), %r13d 46 47// CHECK: crc32w 64(%rdx,%rax), %r13d 48// CHECK: encoding: [0x66,0xf2,0x44,0x0f,0x38,0xf1,0x6c,0x02,0x40] 49crc32w 64(%rdx,%rax), %r13d 50 51// CHECK: crc32w %r14w, %r13d 52// CHECK: encoding: [0x66,0xf2,0x45,0x0f,0x38,0xf1,0xee] 53crc32w %r14w, %r13d 54 55// CHECK: crc32w (%rdx), %r13d 56// CHECK: encoding: [0x66,0xf2,0x44,0x0f,0x38,0xf1,0x2a] 57crc32w (%rdx), %r13d 58 59// CHECK: crc32l 485498096, %r13d 60// CHECK: encoding: [0xf2,0x44,0x0f,0x38,0xf1,0x2c,0x25,0xf0,0x1c,0xf0,0x1c] 61crc32l 485498096, %r13d 62 63// CHECK: crc32l 64(%rdx), %r13d 64// CHECK: encoding: [0xf2,0x44,0x0f,0x38,0xf1,0x6a,0x40] 65crc32l 64(%rdx), %r13d 66 67// CHECK: crc32l -64(%rdx,%rax,4), %r13d 68// CHECK: encoding: [0xf2,0x44,0x0f,0x38,0xf1,0x6c,0x82,0xc0] 69crc32l -64(%rdx,%rax,4), %r13d 70 71// CHECK: crc32l 64(%rdx,%rax,4), %r13d 72// CHECK: encoding: [0xf2,0x44,0x0f,0x38,0xf1,0x6c,0x82,0x40] 73crc32l 64(%rdx,%rax,4), %r13d 74 75// CHECK: crc32l 64(%rdx,%rax), %r13d 76// CHECK: encoding: [0xf2,0x44,0x0f,0x38,0xf1,0x6c,0x02,0x40] 77crc32l 64(%rdx,%rax), %r13d 78 79// CHECK: crc32l %r14d, %r13d 80// CHECK: encoding: [0xf2,0x45,0x0f,0x38,0xf1,0xee] 81crc32l %r14d, %r13d 82 83// CHECK: crc32l (%rdx), %r13d 84// CHECK: encoding: [0xf2,0x44,0x0f,0x38,0xf1,0x2a] 85crc32l (%rdx), %r13d 86 87// CHECK: crc32q 485498096, %r13 88// CHECK: encoding: [0xf2,0x4c,0x0f,0x38,0xf1,0x2c,0x25,0xf0,0x1c,0xf0,0x1c] 89crc32q 485498096, %r13 90 91// CHECK: crc32q 64(%rdx), %r13 92// CHECK: encoding: [0xf2,0x4c,0x0f,0x38,0xf1,0x6a,0x40] 93crc32q 64(%rdx), %r13 94 95// CHECK: crc32q -64(%rdx,%rax,4), %r13 96// CHECK: encoding: [0xf2,0x4c,0x0f,0x38,0xf1,0x6c,0x82,0xc0] 97crc32q -64(%rdx,%rax,4), %r13 98 99// CHECK: crc32q 64(%rdx,%rax,4), %r13 100// CHECK: encoding: [0xf2,0x4c,0x0f,0x38,0xf1,0x6c,0x82,0x40] 101crc32q 64(%rdx,%rax,4), %r13 102 103// CHECK: crc32q 64(%rdx,%rax), %r13 104// CHECK: encoding: [0xf2,0x4c,0x0f,0x38,0xf1,0x6c,0x02,0x40] 105crc32q 64(%rdx,%rax), %r13 106 107// CHECK: crc32q %r14, %r13 108// CHECK: encoding: [0xf2,0x4d,0x0f,0x38,0xf1,0xee] 109crc32q %r14, %r13 110 111// CHECK: crc32q (%rdx), %r13 112// CHECK: encoding: [0xf2,0x4c,0x0f,0x38,0xf1,0x2a] 113crc32q (%rdx), %r13 114 115// CHECK: pcmpestri $0, 485498096, %xmm6 116// CHECK: encoding: [0x66,0x0f,0x3a,0x61,0x34,0x25,0xf0,0x1c,0xf0,0x1c,0x00] 117pcmpestri $0, 485498096, %xmm6 118 119// CHECK: pcmpestri $0, -64(%rdx,%rax,4), %xmm6 120// CHECK: encoding: [0x66,0x0f,0x3a,0x61,0x74,0x82,0xc0,0x00] 121pcmpestri $0, -64(%rdx,%rax,4), %xmm6 122 123// CHECK: pcmpestri $0, 64(%rdx,%rax,4), %xmm6 124// CHECK: encoding: [0x66,0x0f,0x3a,0x61,0x74,0x82,0x40,0x00] 125pcmpestri $0, 64(%rdx,%rax,4), %xmm6 126 127// CHECK: pcmpestri $0, 64(%rdx,%rax), %xmm6 128// CHECK: encoding: [0x66,0x0f,0x3a,0x61,0x74,0x02,0x40,0x00] 129pcmpestri $0, 64(%rdx,%rax), %xmm6 130 131// CHECK: pcmpestri $0, 64(%rdx), %xmm6 132// CHECK: encoding: [0x66,0x0f,0x3a,0x61,0x72,0x40,0x00] 133pcmpestri $0, 64(%rdx), %xmm6 134 135// CHECK: pcmpestri $0, (%rdx), %xmm6 136// CHECK: encoding: [0x66,0x0f,0x3a,0x61,0x32,0x00] 137pcmpestri $0, (%rdx), %xmm6 138 139// CHECK: pcmpestri $0, %xmm6, %xmm6 140// CHECK: encoding: [0x66,0x0f,0x3a,0x61,0xf6,0x00] 141pcmpestri $0, %xmm6, %xmm6 142 143// CHECK: pcmpestrm $0, 485498096, %xmm6 144// CHECK: encoding: [0x66,0x0f,0x3a,0x60,0x34,0x25,0xf0,0x1c,0xf0,0x1c,0x00] 145pcmpestrm $0, 485498096, %xmm6 146 147// CHECK: pcmpestrm $0, -64(%rdx,%rax,4), %xmm6 148// CHECK: encoding: [0x66,0x0f,0x3a,0x60,0x74,0x82,0xc0,0x00] 149pcmpestrm $0, -64(%rdx,%rax,4), %xmm6 150 151// CHECK: pcmpestrm $0, 64(%rdx,%rax,4), %xmm6 152// CHECK: encoding: [0x66,0x0f,0x3a,0x60,0x74,0x82,0x40,0x00] 153pcmpestrm $0, 64(%rdx,%rax,4), %xmm6 154 155// CHECK: pcmpestrm $0, 64(%rdx,%rax), %xmm6 156// CHECK: encoding: [0x66,0x0f,0x3a,0x60,0x74,0x02,0x40,0x00] 157pcmpestrm $0, 64(%rdx,%rax), %xmm6 158 159// CHECK: pcmpestrm $0, 64(%rdx), %xmm6 160// CHECK: encoding: [0x66,0x0f,0x3a,0x60,0x72,0x40,0x00] 161pcmpestrm $0, 64(%rdx), %xmm6 162 163// CHECK: pcmpestrm $0, (%rdx), %xmm6 164// CHECK: encoding: [0x66,0x0f,0x3a,0x60,0x32,0x00] 165pcmpestrm $0, (%rdx), %xmm6 166 167// CHECK: pcmpestrm $0, %xmm6, %xmm6 168// CHECK: encoding: [0x66,0x0f,0x3a,0x60,0xf6,0x00] 169pcmpestrm $0, %xmm6, %xmm6 170 171// CHECK: pcmpgtq 485498096, %xmm6 172// CHECK: encoding: [0x66,0x0f,0x38,0x37,0x34,0x25,0xf0,0x1c,0xf0,0x1c] 173pcmpgtq 485498096, %xmm6 174 175// CHECK: pcmpgtq -64(%rdx,%rax,4), %xmm6 176// CHECK: encoding: [0x66,0x0f,0x38,0x37,0x74,0x82,0xc0] 177pcmpgtq -64(%rdx,%rax,4), %xmm6 178 179// CHECK: pcmpgtq 64(%rdx,%rax,4), %xmm6 180// CHECK: encoding: [0x66,0x0f,0x38,0x37,0x74,0x82,0x40] 181pcmpgtq 64(%rdx,%rax,4), %xmm6 182 183// CHECK: pcmpgtq 64(%rdx,%rax), %xmm6 184// CHECK: encoding: [0x66,0x0f,0x38,0x37,0x74,0x02,0x40] 185pcmpgtq 64(%rdx,%rax), %xmm6 186 187// CHECK: pcmpgtq 64(%rdx), %xmm6 188// CHECK: encoding: [0x66,0x0f,0x38,0x37,0x72,0x40] 189pcmpgtq 64(%rdx), %xmm6 190 191// CHECK: pcmpgtq (%rdx), %xmm6 192// CHECK: encoding: [0x66,0x0f,0x38,0x37,0x32] 193pcmpgtq (%rdx), %xmm6 194 195// CHECK: pcmpgtq %xmm6, %xmm6 196// CHECK: encoding: [0x66,0x0f,0x38,0x37,0xf6] 197pcmpgtq %xmm6, %xmm6 198 199// CHECK: pcmpistri $0, 485498096, %xmm6 200// CHECK: encoding: [0x66,0x0f,0x3a,0x63,0x34,0x25,0xf0,0x1c,0xf0,0x1c,0x00] 201pcmpistri $0, 485498096, %xmm6 202 203// CHECK: pcmpistri $0, -64(%rdx,%rax,4), %xmm6 204// CHECK: encoding: [0x66,0x0f,0x3a,0x63,0x74,0x82,0xc0,0x00] 205pcmpistri $0, -64(%rdx,%rax,4), %xmm6 206 207// CHECK: pcmpistri $0, 64(%rdx,%rax,4), %xmm6 208// CHECK: encoding: [0x66,0x0f,0x3a,0x63,0x74,0x82,0x40,0x00] 209pcmpistri $0, 64(%rdx,%rax,4), %xmm6 210 211// CHECK: pcmpistri $0, 64(%rdx,%rax), %xmm6 212// CHECK: encoding: [0x66,0x0f,0x3a,0x63,0x74,0x02,0x40,0x00] 213pcmpistri $0, 64(%rdx,%rax), %xmm6 214 215// CHECK: pcmpistri $0, 64(%rdx), %xmm6 216// CHECK: encoding: [0x66,0x0f,0x3a,0x63,0x72,0x40,0x00] 217pcmpistri $0, 64(%rdx), %xmm6 218 219// CHECK: pcmpistri $0, (%rdx), %xmm6 220// CHECK: encoding: [0x66,0x0f,0x3a,0x63,0x32,0x00] 221pcmpistri $0, (%rdx), %xmm6 222 223// CHECK: pcmpistri $0, %xmm6, %xmm6 224// CHECK: encoding: [0x66,0x0f,0x3a,0x63,0xf6,0x00] 225pcmpistri $0, %xmm6, %xmm6 226 227// CHECK: pcmpistrm $0, 485498096, %xmm6 228// CHECK: encoding: [0x66,0x0f,0x3a,0x62,0x34,0x25,0xf0,0x1c,0xf0,0x1c,0x00] 229pcmpistrm $0, 485498096, %xmm6 230 231// CHECK: pcmpistrm $0, -64(%rdx,%rax,4), %xmm6 232// CHECK: encoding: [0x66,0x0f,0x3a,0x62,0x74,0x82,0xc0,0x00] 233pcmpistrm $0, -64(%rdx,%rax,4), %xmm6 234 235// CHECK: pcmpistrm $0, 64(%rdx,%rax,4), %xmm6 236// CHECK: encoding: [0x66,0x0f,0x3a,0x62,0x74,0x82,0x40,0x00] 237pcmpistrm $0, 64(%rdx,%rax,4), %xmm6 238 239// CHECK: pcmpistrm $0, 64(%rdx,%rax), %xmm6 240// CHECK: encoding: [0x66,0x0f,0x3a,0x62,0x74,0x02,0x40,0x00] 241pcmpistrm $0, 64(%rdx,%rax), %xmm6 242 243// CHECK: pcmpistrm $0, 64(%rdx), %xmm6 244// CHECK: encoding: [0x66,0x0f,0x3a,0x62,0x72,0x40,0x00] 245pcmpistrm $0, 64(%rdx), %xmm6 246 247// CHECK: pcmpistrm $0, (%rdx), %xmm6 248// CHECK: encoding: [0x66,0x0f,0x3a,0x62,0x32,0x00] 249pcmpistrm $0, (%rdx), %xmm6 250 251// CHECK: pcmpistrm $0, %xmm6, %xmm6 252// CHECK: encoding: [0x66,0x0f,0x3a,0x62,0xf6,0x00] 253pcmpistrm $0, %xmm6, %xmm6 254 255