1// RUN: llvm-mc -triple i386-unknown-unknown --show-encoding %s | FileCheck %s 2 3// CHECK: crc32b 485498096, %ebx 4// CHECK: encoding: [0xf2,0x0f,0x38,0xf0,0x1d,0xf0,0x1c,0xf0,0x1c] 5crc32b 485498096, %ebx 6 7// CHECK: crc32b 64(%edx), %ebx 8// CHECK: encoding: [0xf2,0x0f,0x38,0xf0,0x5a,0x40] 9crc32b 64(%edx), %ebx 10 11// CHECK: crc32b -64(%edx,%eax,4), %ebx 12// CHECK: encoding: [0xf2,0x0f,0x38,0xf0,0x5c,0x82,0xc0] 13crc32b -64(%edx,%eax,4), %ebx 14 15// CHECK: crc32b 64(%edx,%eax,4), %ebx 16// CHECK: encoding: [0xf2,0x0f,0x38,0xf0,0x5c,0x82,0x40] 17crc32b 64(%edx,%eax,4), %ebx 18 19// CHECK: crc32b 64(%edx,%eax), %ebx 20// CHECK: encoding: [0xf2,0x0f,0x38,0xf0,0x5c,0x02,0x40] 21crc32b 64(%edx,%eax), %ebx 22 23// CHECK: crc32b %al, %ebx 24// CHECK: encoding: [0xf2,0x0f,0x38,0xf0,0xd8] 25crc32b %al, %ebx 26 27// CHECK: crc32b (%edx), %ebx 28// CHECK: encoding: [0xf2,0x0f,0x38,0xf0,0x1a] 29crc32b (%edx), %ebx 30 31// CHECK: crc32w 485498096, %ebx 32// CHECK: encoding: [0x66,0xf2,0x0f,0x38,0xf1,0x1d,0xf0,0x1c,0xf0,0x1c] 33crc32w 485498096, %ebx 34 35// CHECK: crc32w 64(%edx), %ebx 36// CHECK: encoding: [0x66,0xf2,0x0f,0x38,0xf1,0x5a,0x40] 37crc32w 64(%edx), %ebx 38 39// CHECK: crc32w -64(%edx,%eax,4), %ebx 40// CHECK: encoding: [0x66,0xf2,0x0f,0x38,0xf1,0x5c,0x82,0xc0] 41crc32w -64(%edx,%eax,4), %ebx 42 43// CHECK: crc32w 64(%edx,%eax,4), %ebx 44// CHECK: encoding: [0x66,0xf2,0x0f,0x38,0xf1,0x5c,0x82,0x40] 45crc32w 64(%edx,%eax,4), %ebx 46 47// CHECK: crc32w 64(%edx,%eax), %ebx 48// CHECK: encoding: [0x66,0xf2,0x0f,0x38,0xf1,0x5c,0x02,0x40] 49crc32w 64(%edx,%eax), %ebx 50 51// CHECK: crc32w %ax, %ebx 52// CHECK: encoding: [0x66,0xf2,0x0f,0x38,0xf1,0xd8] 53crc32w %ax, %ebx 54 55// CHECK: crc32w (%edx), %ebx 56// CHECK: encoding: [0x66,0xf2,0x0f,0x38,0xf1,0x1a] 57crc32w (%edx), %ebx 58 59// CHECK: crc32l 485498096, %ebx 60// CHECK: encoding: [0xf2,0x0f,0x38,0xf1,0x1d,0xf0,0x1c,0xf0,0x1c] 61crc32l 485498096, %ebx 62 63// CHECK: crc32l 64(%edx), %ebx 64// CHECK: encoding: [0xf2,0x0f,0x38,0xf1,0x5a,0x40] 65crc32l 64(%edx), %ebx 66 67// CHECK: crc32l -64(%edx,%eax,4), %ebx 68// CHECK: encoding: [0xf2,0x0f,0x38,0xf1,0x5c,0x82,0xc0] 69crc32l -64(%edx,%eax,4), %ebx 70 71// CHECK: crc32l 64(%edx,%eax,4), %ebx 72// CHECK: encoding: [0xf2,0x0f,0x38,0xf1,0x5c,0x82,0x40] 73crc32l 64(%edx,%eax,4), %ebx 74 75// CHECK: crc32l 64(%edx,%eax), %ebx 76// CHECK: encoding: [0xf2,0x0f,0x38,0xf1,0x5c,0x02,0x40] 77crc32l 64(%edx,%eax), %ebx 78 79// CHECK: crc32l %eax, %ebx 80// CHECK: encoding: [0xf2,0x0f,0x38,0xf1,0xd8] 81crc32l %eax, %ebx 82 83// CHECK: crc32l (%edx), %ebx 84// CHECK: encoding: [0xf2,0x0f,0x38,0xf1,0x1a] 85crc32l (%edx), %ebx 86 87// CHECK: pcmpestri $0, -485498096(%edx,%eax,4), %xmm1 88// CHECK: encoding: [0x66,0x0f,0x3a,0x61,0x8c,0x82,0x10,0xe3,0x0f,0xe3,0x00] 89pcmpestri $0, -485498096(%edx,%eax,4), %xmm1 90 91// CHECK: pcmpestri $0, 485498096(%edx,%eax,4), %xmm1 92// CHECK: encoding: [0x66,0x0f,0x3a,0x61,0x8c,0x82,0xf0,0x1c,0xf0,0x1c,0x00] 93pcmpestri $0, 485498096(%edx,%eax,4), %xmm1 94 95// CHECK: pcmpestri $0, 485498096(%edx), %xmm1 96// CHECK: encoding: [0x66,0x0f,0x3a,0x61,0x8a,0xf0,0x1c,0xf0,0x1c,0x00] 97pcmpestri $0, 485498096(%edx), %xmm1 98 99// CHECK: pcmpestri $0, 485498096, %xmm1 100// CHECK: encoding: [0x66,0x0f,0x3a,0x61,0x0d,0xf0,0x1c,0xf0,0x1c,0x00] 101pcmpestri $0, 485498096, %xmm1 102 103// CHECK: pcmpestri $0, 64(%edx,%eax), %xmm1 104// CHECK: encoding: [0x66,0x0f,0x3a,0x61,0x4c,0x02,0x40,0x00] 105pcmpestri $0, 64(%edx,%eax), %xmm1 106 107// CHECK: pcmpestri $0, (%edx), %xmm1 108// CHECK: encoding: [0x66,0x0f,0x3a,0x61,0x0a,0x00] 109pcmpestri $0, (%edx), %xmm1 110 111// CHECK: pcmpestri $0, %xmm1, %xmm1 112// CHECK: encoding: [0x66,0x0f,0x3a,0x61,0xc9,0x00] 113pcmpestri $0, %xmm1, %xmm1 114 115// CHECK: pcmpestrm $0, -485498096(%edx,%eax,4), %xmm1 116// CHECK: encoding: [0x66,0x0f,0x3a,0x60,0x8c,0x82,0x10,0xe3,0x0f,0xe3,0x00] 117pcmpestrm $0, -485498096(%edx,%eax,4), %xmm1 118 119// CHECK: pcmpestrm $0, 485498096(%edx,%eax,4), %xmm1 120// CHECK: encoding: [0x66,0x0f,0x3a,0x60,0x8c,0x82,0xf0,0x1c,0xf0,0x1c,0x00] 121pcmpestrm $0, 485498096(%edx,%eax,4), %xmm1 122 123// CHECK: pcmpestrm $0, 485498096(%edx), %xmm1 124// CHECK: encoding: [0x66,0x0f,0x3a,0x60,0x8a,0xf0,0x1c,0xf0,0x1c,0x00] 125pcmpestrm $0, 485498096(%edx), %xmm1 126 127// CHECK: pcmpestrm $0, 485498096, %xmm1 128// CHECK: encoding: [0x66,0x0f,0x3a,0x60,0x0d,0xf0,0x1c,0xf0,0x1c,0x00] 129pcmpestrm $0, 485498096, %xmm1 130 131// CHECK: pcmpestrm $0, 64(%edx,%eax), %xmm1 132// CHECK: encoding: [0x66,0x0f,0x3a,0x60,0x4c,0x02,0x40,0x00] 133pcmpestrm $0, 64(%edx,%eax), %xmm1 134 135// CHECK: pcmpestrm $0, (%edx), %xmm1 136// CHECK: encoding: [0x66,0x0f,0x3a,0x60,0x0a,0x00] 137pcmpestrm $0, (%edx), %xmm1 138 139// CHECK: pcmpestrm $0, %xmm1, %xmm1 140// CHECK: encoding: [0x66,0x0f,0x3a,0x60,0xc9,0x00] 141pcmpestrm $0, %xmm1, %xmm1 142 143// CHECK: pcmpgtq -485498096(%edx,%eax,4), %xmm1 144// CHECK: encoding: [0x66,0x0f,0x38,0x37,0x8c,0x82,0x10,0xe3,0x0f,0xe3] 145pcmpgtq -485498096(%edx,%eax,4), %xmm1 146 147// CHECK: pcmpgtq 485498096(%edx,%eax,4), %xmm1 148// CHECK: encoding: [0x66,0x0f,0x38,0x37,0x8c,0x82,0xf0,0x1c,0xf0,0x1c] 149pcmpgtq 485498096(%edx,%eax,4), %xmm1 150 151// CHECK: pcmpgtq 485498096(%edx), %xmm1 152// CHECK: encoding: [0x66,0x0f,0x38,0x37,0x8a,0xf0,0x1c,0xf0,0x1c] 153pcmpgtq 485498096(%edx), %xmm1 154 155// CHECK: pcmpgtq 485498096, %xmm1 156// CHECK: encoding: [0x66,0x0f,0x38,0x37,0x0d,0xf0,0x1c,0xf0,0x1c] 157pcmpgtq 485498096, %xmm1 158 159// CHECK: pcmpgtq 64(%edx,%eax), %xmm1 160// CHECK: encoding: [0x66,0x0f,0x38,0x37,0x4c,0x02,0x40] 161pcmpgtq 64(%edx,%eax), %xmm1 162 163// CHECK: pcmpgtq (%edx), %xmm1 164// CHECK: encoding: [0x66,0x0f,0x38,0x37,0x0a] 165pcmpgtq (%edx), %xmm1 166 167// CHECK: pcmpgtq %xmm1, %xmm1 168// CHECK: encoding: [0x66,0x0f,0x38,0x37,0xc9] 169pcmpgtq %xmm1, %xmm1 170 171// CHECK: pcmpistri $0, -485498096(%edx,%eax,4), %xmm1 172// CHECK: encoding: [0x66,0x0f,0x3a,0x63,0x8c,0x82,0x10,0xe3,0x0f,0xe3,0x00] 173pcmpistri $0, -485498096(%edx,%eax,4), %xmm1 174 175// CHECK: pcmpistri $0, 485498096(%edx,%eax,4), %xmm1 176// CHECK: encoding: [0x66,0x0f,0x3a,0x63,0x8c,0x82,0xf0,0x1c,0xf0,0x1c,0x00] 177pcmpistri $0, 485498096(%edx,%eax,4), %xmm1 178 179// CHECK: pcmpistri $0, 485498096(%edx), %xmm1 180// CHECK: encoding: [0x66,0x0f,0x3a,0x63,0x8a,0xf0,0x1c,0xf0,0x1c,0x00] 181pcmpistri $0, 485498096(%edx), %xmm1 182 183// CHECK: pcmpistri $0, 485498096, %xmm1 184// CHECK: encoding: [0x66,0x0f,0x3a,0x63,0x0d,0xf0,0x1c,0xf0,0x1c,0x00] 185pcmpistri $0, 485498096, %xmm1 186 187// CHECK: pcmpistri $0, 64(%edx,%eax), %xmm1 188// CHECK: encoding: [0x66,0x0f,0x3a,0x63,0x4c,0x02,0x40,0x00] 189pcmpistri $0, 64(%edx,%eax), %xmm1 190 191// CHECK: pcmpistri $0, (%edx), %xmm1 192// CHECK: encoding: [0x66,0x0f,0x3a,0x63,0x0a,0x00] 193pcmpistri $0, (%edx), %xmm1 194 195// CHECK: pcmpistri $0, %xmm1, %xmm1 196// CHECK: encoding: [0x66,0x0f,0x3a,0x63,0xc9,0x00] 197pcmpistri $0, %xmm1, %xmm1 198 199// CHECK: pcmpistrm $0, -485498096(%edx,%eax,4), %xmm1 200// CHECK: encoding: [0x66,0x0f,0x3a,0x62,0x8c,0x82,0x10,0xe3,0x0f,0xe3,0x00] 201pcmpistrm $0, -485498096(%edx,%eax,4), %xmm1 202 203// CHECK: pcmpistrm $0, 485498096(%edx,%eax,4), %xmm1 204// CHECK: encoding: [0x66,0x0f,0x3a,0x62,0x8c,0x82,0xf0,0x1c,0xf0,0x1c,0x00] 205pcmpistrm $0, 485498096(%edx,%eax,4), %xmm1 206 207// CHECK: pcmpistrm $0, 485498096(%edx), %xmm1 208// CHECK: encoding: [0x66,0x0f,0x3a,0x62,0x8a,0xf0,0x1c,0xf0,0x1c,0x00] 209pcmpistrm $0, 485498096(%edx), %xmm1 210 211// CHECK: pcmpistrm $0, 485498096, %xmm1 212// CHECK: encoding: [0x66,0x0f,0x3a,0x62,0x0d,0xf0,0x1c,0xf0,0x1c,0x00] 213pcmpistrm $0, 485498096, %xmm1 214 215// CHECK: pcmpistrm $0, 64(%edx,%eax), %xmm1 216// CHECK: encoding: [0x66,0x0f,0x3a,0x62,0x4c,0x02,0x40,0x00] 217pcmpistrm $0, 64(%edx,%eax), %xmm1 218 219// CHECK: pcmpistrm $0, (%edx), %xmm1 220// CHECK: encoding: [0x66,0x0f,0x3a,0x62,0x0a,0x00] 221pcmpistrm $0, (%edx), %xmm1 222 223// CHECK: pcmpistrm $0, %xmm1, %xmm1 224// CHECK: encoding: [0x66,0x0f,0x3a,0x62,0xc9,0x00] 225pcmpistrm $0, %xmm1, %xmm1 226 227