227 lines · plain
1// RUN: llvm-mc -triple i386-unknown-unknown --show-encoding %s | FileCheck %s2 3// CHECK: crc32b 485498096, %ebx4// CHECK: encoding: [0xf2,0x0f,0x38,0xf0,0x1d,0xf0,0x1c,0xf0,0x1c]5crc32b 485498096, %ebx6 7// CHECK: crc32b 64(%edx), %ebx8// CHECK: encoding: [0xf2,0x0f,0x38,0xf0,0x5a,0x40]9crc32b 64(%edx), %ebx10 11// CHECK: crc32b -64(%edx,%eax,4), %ebx12// CHECK: encoding: [0xf2,0x0f,0x38,0xf0,0x5c,0x82,0xc0]13crc32b -64(%edx,%eax,4), %ebx14 15// CHECK: crc32b 64(%edx,%eax,4), %ebx16// CHECK: encoding: [0xf2,0x0f,0x38,0xf0,0x5c,0x82,0x40]17crc32b 64(%edx,%eax,4), %ebx18 19// CHECK: crc32b 64(%edx,%eax), %ebx20// CHECK: encoding: [0xf2,0x0f,0x38,0xf0,0x5c,0x02,0x40]21crc32b 64(%edx,%eax), %ebx22 23// CHECK: crc32b %al, %ebx24// CHECK: encoding: [0xf2,0x0f,0x38,0xf0,0xd8]25crc32b %al, %ebx26 27// CHECK: crc32b (%edx), %ebx28// CHECK: encoding: [0xf2,0x0f,0x38,0xf0,0x1a]29crc32b (%edx), %ebx30 31// CHECK: crc32w 485498096, %ebx32// CHECK: encoding: [0x66,0xf2,0x0f,0x38,0xf1,0x1d,0xf0,0x1c,0xf0,0x1c]33crc32w 485498096, %ebx34 35// CHECK: crc32w 64(%edx), %ebx36// CHECK: encoding: [0x66,0xf2,0x0f,0x38,0xf1,0x5a,0x40]37crc32w 64(%edx), %ebx38 39// CHECK: crc32w -64(%edx,%eax,4), %ebx40// CHECK: encoding: [0x66,0xf2,0x0f,0x38,0xf1,0x5c,0x82,0xc0]41crc32w -64(%edx,%eax,4), %ebx42 43// CHECK: crc32w 64(%edx,%eax,4), %ebx44// CHECK: encoding: [0x66,0xf2,0x0f,0x38,0xf1,0x5c,0x82,0x40]45crc32w 64(%edx,%eax,4), %ebx46 47// CHECK: crc32w 64(%edx,%eax), %ebx48// CHECK: encoding: [0x66,0xf2,0x0f,0x38,0xf1,0x5c,0x02,0x40]49crc32w 64(%edx,%eax), %ebx50 51// CHECK: crc32w %ax, %ebx52// CHECK: encoding: [0x66,0xf2,0x0f,0x38,0xf1,0xd8]53crc32w %ax, %ebx54 55// CHECK: crc32w (%edx), %ebx56// CHECK: encoding: [0x66,0xf2,0x0f,0x38,0xf1,0x1a]57crc32w (%edx), %ebx58 59// CHECK: crc32l 485498096, %ebx60// CHECK: encoding: [0xf2,0x0f,0x38,0xf1,0x1d,0xf0,0x1c,0xf0,0x1c]61crc32l 485498096, %ebx62 63// CHECK: crc32l 64(%edx), %ebx64// CHECK: encoding: [0xf2,0x0f,0x38,0xf1,0x5a,0x40]65crc32l 64(%edx), %ebx66 67// CHECK: crc32l -64(%edx,%eax,4), %ebx68// CHECK: encoding: [0xf2,0x0f,0x38,0xf1,0x5c,0x82,0xc0]69crc32l -64(%edx,%eax,4), %ebx70 71// CHECK: crc32l 64(%edx,%eax,4), %ebx72// CHECK: encoding: [0xf2,0x0f,0x38,0xf1,0x5c,0x82,0x40]73crc32l 64(%edx,%eax,4), %ebx74 75// CHECK: crc32l 64(%edx,%eax), %ebx76// CHECK: encoding: [0xf2,0x0f,0x38,0xf1,0x5c,0x02,0x40]77crc32l 64(%edx,%eax), %ebx78 79// CHECK: crc32l %eax, %ebx80// CHECK: encoding: [0xf2,0x0f,0x38,0xf1,0xd8]81crc32l %eax, %ebx82 83// CHECK: crc32l (%edx), %ebx84// CHECK: encoding: [0xf2,0x0f,0x38,0xf1,0x1a]85crc32l (%edx), %ebx86 87// CHECK: pcmpestri $0, -485498096(%edx,%eax,4), %xmm188// CHECK: encoding: [0x66,0x0f,0x3a,0x61,0x8c,0x82,0x10,0xe3,0x0f,0xe3,0x00]89pcmpestri $0, -485498096(%edx,%eax,4), %xmm190 91// CHECK: pcmpestri $0, 485498096(%edx,%eax,4), %xmm192// CHECK: encoding: [0x66,0x0f,0x3a,0x61,0x8c,0x82,0xf0,0x1c,0xf0,0x1c,0x00]93pcmpestri $0, 485498096(%edx,%eax,4), %xmm194 95// CHECK: pcmpestri $0, 485498096(%edx), %xmm196// CHECK: encoding: [0x66,0x0f,0x3a,0x61,0x8a,0xf0,0x1c,0xf0,0x1c,0x00]97pcmpestri $0, 485498096(%edx), %xmm198 99// CHECK: pcmpestri $0, 485498096, %xmm1100// CHECK: encoding: [0x66,0x0f,0x3a,0x61,0x0d,0xf0,0x1c,0xf0,0x1c,0x00]101pcmpestri $0, 485498096, %xmm1102 103// CHECK: pcmpestri $0, 64(%edx,%eax), %xmm1104// CHECK: encoding: [0x66,0x0f,0x3a,0x61,0x4c,0x02,0x40,0x00]105pcmpestri $0, 64(%edx,%eax), %xmm1106 107// CHECK: pcmpestri $0, (%edx), %xmm1108// CHECK: encoding: [0x66,0x0f,0x3a,0x61,0x0a,0x00]109pcmpestri $0, (%edx), %xmm1110 111// CHECK: pcmpestri $0, %xmm1, %xmm1112// CHECK: encoding: [0x66,0x0f,0x3a,0x61,0xc9,0x00]113pcmpestri $0, %xmm1, %xmm1114 115// CHECK: pcmpestrm $0, -485498096(%edx,%eax,4), %xmm1116// CHECK: encoding: [0x66,0x0f,0x3a,0x60,0x8c,0x82,0x10,0xe3,0x0f,0xe3,0x00]117pcmpestrm $0, -485498096(%edx,%eax,4), %xmm1118 119// CHECK: pcmpestrm $0, 485498096(%edx,%eax,4), %xmm1120// CHECK: encoding: [0x66,0x0f,0x3a,0x60,0x8c,0x82,0xf0,0x1c,0xf0,0x1c,0x00]121pcmpestrm $0, 485498096(%edx,%eax,4), %xmm1122 123// CHECK: pcmpestrm $0, 485498096(%edx), %xmm1124// CHECK: encoding: [0x66,0x0f,0x3a,0x60,0x8a,0xf0,0x1c,0xf0,0x1c,0x00]125pcmpestrm $0, 485498096(%edx), %xmm1126 127// CHECK: pcmpestrm $0, 485498096, %xmm1128// CHECK: encoding: [0x66,0x0f,0x3a,0x60,0x0d,0xf0,0x1c,0xf0,0x1c,0x00]129pcmpestrm $0, 485498096, %xmm1130 131// CHECK: pcmpestrm $0, 64(%edx,%eax), %xmm1132// CHECK: encoding: [0x66,0x0f,0x3a,0x60,0x4c,0x02,0x40,0x00]133pcmpestrm $0, 64(%edx,%eax), %xmm1134 135// CHECK: pcmpestrm $0, (%edx), %xmm1136// CHECK: encoding: [0x66,0x0f,0x3a,0x60,0x0a,0x00]137pcmpestrm $0, (%edx), %xmm1138 139// CHECK: pcmpestrm $0, %xmm1, %xmm1140// CHECK: encoding: [0x66,0x0f,0x3a,0x60,0xc9,0x00]141pcmpestrm $0, %xmm1, %xmm1142 143// CHECK: pcmpgtq -485498096(%edx,%eax,4), %xmm1144// CHECK: encoding: [0x66,0x0f,0x38,0x37,0x8c,0x82,0x10,0xe3,0x0f,0xe3]145pcmpgtq -485498096(%edx,%eax,4), %xmm1146 147// CHECK: pcmpgtq 485498096(%edx,%eax,4), %xmm1148// CHECK: encoding: [0x66,0x0f,0x38,0x37,0x8c,0x82,0xf0,0x1c,0xf0,0x1c]149pcmpgtq 485498096(%edx,%eax,4), %xmm1150 151// CHECK: pcmpgtq 485498096(%edx), %xmm1152// CHECK: encoding: [0x66,0x0f,0x38,0x37,0x8a,0xf0,0x1c,0xf0,0x1c]153pcmpgtq 485498096(%edx), %xmm1154 155// CHECK: pcmpgtq 485498096, %xmm1156// CHECK: encoding: [0x66,0x0f,0x38,0x37,0x0d,0xf0,0x1c,0xf0,0x1c]157pcmpgtq 485498096, %xmm1158 159// CHECK: pcmpgtq 64(%edx,%eax), %xmm1160// CHECK: encoding: [0x66,0x0f,0x38,0x37,0x4c,0x02,0x40]161pcmpgtq 64(%edx,%eax), %xmm1162 163// CHECK: pcmpgtq (%edx), %xmm1164// CHECK: encoding: [0x66,0x0f,0x38,0x37,0x0a]165pcmpgtq (%edx), %xmm1166 167// CHECK: pcmpgtq %xmm1, %xmm1168// CHECK: encoding: [0x66,0x0f,0x38,0x37,0xc9]169pcmpgtq %xmm1, %xmm1170 171// CHECK: pcmpistri $0, -485498096(%edx,%eax,4), %xmm1172// CHECK: encoding: [0x66,0x0f,0x3a,0x63,0x8c,0x82,0x10,0xe3,0x0f,0xe3,0x00]173pcmpistri $0, -485498096(%edx,%eax,4), %xmm1174 175// CHECK: pcmpistri $0, 485498096(%edx,%eax,4), %xmm1176// CHECK: encoding: [0x66,0x0f,0x3a,0x63,0x8c,0x82,0xf0,0x1c,0xf0,0x1c,0x00]177pcmpistri $0, 485498096(%edx,%eax,4), %xmm1178 179// CHECK: pcmpistri $0, 485498096(%edx), %xmm1180// CHECK: encoding: [0x66,0x0f,0x3a,0x63,0x8a,0xf0,0x1c,0xf0,0x1c,0x00]181pcmpistri $0, 485498096(%edx), %xmm1182 183// CHECK: pcmpistri $0, 485498096, %xmm1184// CHECK: encoding: [0x66,0x0f,0x3a,0x63,0x0d,0xf0,0x1c,0xf0,0x1c,0x00]185pcmpistri $0, 485498096, %xmm1186 187// CHECK: pcmpistri $0, 64(%edx,%eax), %xmm1188// CHECK: encoding: [0x66,0x0f,0x3a,0x63,0x4c,0x02,0x40,0x00]189pcmpistri $0, 64(%edx,%eax), %xmm1190 191// CHECK: pcmpistri $0, (%edx), %xmm1192// CHECK: encoding: [0x66,0x0f,0x3a,0x63,0x0a,0x00]193pcmpistri $0, (%edx), %xmm1194 195// CHECK: pcmpistri $0, %xmm1, %xmm1196// CHECK: encoding: [0x66,0x0f,0x3a,0x63,0xc9,0x00]197pcmpistri $0, %xmm1, %xmm1198 199// CHECK: pcmpistrm $0, -485498096(%edx,%eax,4), %xmm1200// CHECK: encoding: [0x66,0x0f,0x3a,0x62,0x8c,0x82,0x10,0xe3,0x0f,0xe3,0x00]201pcmpistrm $0, -485498096(%edx,%eax,4), %xmm1202 203// CHECK: pcmpistrm $0, 485498096(%edx,%eax,4), %xmm1204// CHECK: encoding: [0x66,0x0f,0x3a,0x62,0x8c,0x82,0xf0,0x1c,0xf0,0x1c,0x00]205pcmpistrm $0, 485498096(%edx,%eax,4), %xmm1206 207// CHECK: pcmpistrm $0, 485498096(%edx), %xmm1208// CHECK: encoding: [0x66,0x0f,0x3a,0x62,0x8a,0xf0,0x1c,0xf0,0x1c,0x00]209pcmpistrm $0, 485498096(%edx), %xmm1210 211// CHECK: pcmpistrm $0, 485498096, %xmm1212// CHECK: encoding: [0x66,0x0f,0x3a,0x62,0x0d,0xf0,0x1c,0xf0,0x1c,0x00]213pcmpistrm $0, 485498096, %xmm1214 215// CHECK: pcmpistrm $0, 64(%edx,%eax), %xmm1216// CHECK: encoding: [0x66,0x0f,0x3a,0x62,0x4c,0x02,0x40,0x00]217pcmpistrm $0, 64(%edx,%eax), %xmm1218 219// CHECK: pcmpistrm $0, (%edx), %xmm1220// CHECK: encoding: [0x66,0x0f,0x3a,0x62,0x0a,0x00]221pcmpistrm $0, (%edx), %xmm1222 223// CHECK: pcmpistrm $0, %xmm1, %xmm1224// CHECK: encoding: [0x66,0x0f,0x3a,0x62,0xc9,0x00]225pcmpistrm $0, %xmm1, %xmm1226 227