mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-23 19:23:23 +01:00
a3d65c2594
Summary: NFC. Adding MC regressions tests to cover all the SSE ISA sets as follows: SSE, SSE2, SSE3, SSE4, SSE42, SSEMXCSR, SSE_PREFETCH, SSSE3 This patch is part of a larger task to cover MC encoding of all X86 ISA Sets. See revision: https://reviews.llvm.org/D39952 Patch by Gadi Haber and Wang Tianqing Reviewers: RKSimon, zvi, craig.topper, AndreiGrischenko, gadi.haber, LuoYuanke Reviewed By: craig.topper Subscribers: jfb, llvm-commits Differential Revision: https://reviews.llvm.org/D40387 llvm-svn: 352955
227 lines
7.4 KiB
ArmAsm
227 lines
7.4 KiB
ArmAsm
// RUN: llvm-mc -triple i386-unknown-unknown --show-encoding %s | FileCheck %s
|
|
|
|
// CHECK: crc32b 485498096, %ebx
|
|
// CHECK: encoding: [0xf2,0x0f,0x38,0xf0,0x1d,0xf0,0x1c,0xf0,0x1c]
|
|
crc32b 485498096, %ebx
|
|
|
|
// CHECK: crc32b 64(%edx), %ebx
|
|
// CHECK: encoding: [0xf2,0x0f,0x38,0xf0,0x5a,0x40]
|
|
crc32b 64(%edx), %ebx
|
|
|
|
// CHECK: crc32b -64(%edx,%eax,4), %ebx
|
|
// CHECK: encoding: [0xf2,0x0f,0x38,0xf0,0x5c,0x82,0xc0]
|
|
crc32b -64(%edx,%eax,4), %ebx
|
|
|
|
// CHECK: crc32b 64(%edx,%eax,4), %ebx
|
|
// CHECK: encoding: [0xf2,0x0f,0x38,0xf0,0x5c,0x82,0x40]
|
|
crc32b 64(%edx,%eax,4), %ebx
|
|
|
|
// CHECK: crc32b 64(%edx,%eax), %ebx
|
|
// CHECK: encoding: [0xf2,0x0f,0x38,0xf0,0x5c,0x02,0x40]
|
|
crc32b 64(%edx,%eax), %ebx
|
|
|
|
// CHECK: crc32b %al, %ebx
|
|
// CHECK: encoding: [0xf2,0x0f,0x38,0xf0,0xd8]
|
|
crc32b %al, %ebx
|
|
|
|
// CHECK: crc32b (%edx), %ebx
|
|
// CHECK: encoding: [0xf2,0x0f,0x38,0xf0,0x1a]
|
|
crc32b (%edx), %ebx
|
|
|
|
// CHECK: crc32w 485498096, %ebx
|
|
// CHECK: encoding: [0x66,0xf2,0x0f,0x38,0xf1,0x1d,0xf0,0x1c,0xf0,0x1c]
|
|
crc32w 485498096, %ebx
|
|
|
|
// CHECK: crc32w 64(%edx), %ebx
|
|
// CHECK: encoding: [0x66,0xf2,0x0f,0x38,0xf1,0x5a,0x40]
|
|
crc32w 64(%edx), %ebx
|
|
|
|
// CHECK: crc32w -64(%edx,%eax,4), %ebx
|
|
// CHECK: encoding: [0x66,0xf2,0x0f,0x38,0xf1,0x5c,0x82,0xc0]
|
|
crc32w -64(%edx,%eax,4), %ebx
|
|
|
|
// CHECK: crc32w 64(%edx,%eax,4), %ebx
|
|
// CHECK: encoding: [0x66,0xf2,0x0f,0x38,0xf1,0x5c,0x82,0x40]
|
|
crc32w 64(%edx,%eax,4), %ebx
|
|
|
|
// CHECK: crc32w 64(%edx,%eax), %ebx
|
|
// CHECK: encoding: [0x66,0xf2,0x0f,0x38,0xf1,0x5c,0x02,0x40]
|
|
crc32w 64(%edx,%eax), %ebx
|
|
|
|
// CHECK: crc32w %ax, %ebx
|
|
// CHECK: encoding: [0x66,0xf2,0x0f,0x38,0xf1,0xd8]
|
|
crc32w %ax, %ebx
|
|
|
|
// CHECK: crc32w (%edx), %ebx
|
|
// CHECK: encoding: [0x66,0xf2,0x0f,0x38,0xf1,0x1a]
|
|
crc32w (%edx), %ebx
|
|
|
|
// CHECK: crc32l 485498096, %ebx
|
|
// CHECK: encoding: [0xf2,0x0f,0x38,0xf1,0x1d,0xf0,0x1c,0xf0,0x1c]
|
|
crc32l 485498096, %ebx
|
|
|
|
// CHECK: crc32l 64(%edx), %ebx
|
|
// CHECK: encoding: [0xf2,0x0f,0x38,0xf1,0x5a,0x40]
|
|
crc32l 64(%edx), %ebx
|
|
|
|
// CHECK: crc32l -64(%edx,%eax,4), %ebx
|
|
// CHECK: encoding: [0xf2,0x0f,0x38,0xf1,0x5c,0x82,0xc0]
|
|
crc32l -64(%edx,%eax,4), %ebx
|
|
|
|
// CHECK: crc32l 64(%edx,%eax,4), %ebx
|
|
// CHECK: encoding: [0xf2,0x0f,0x38,0xf1,0x5c,0x82,0x40]
|
|
crc32l 64(%edx,%eax,4), %ebx
|
|
|
|
// CHECK: crc32l 64(%edx,%eax), %ebx
|
|
// CHECK: encoding: [0xf2,0x0f,0x38,0xf1,0x5c,0x02,0x40]
|
|
crc32l 64(%edx,%eax), %ebx
|
|
|
|
// CHECK: crc32l %eax, %ebx
|
|
// CHECK: encoding: [0xf2,0x0f,0x38,0xf1,0xd8]
|
|
crc32l %eax, %ebx
|
|
|
|
// CHECK: crc32l (%edx), %ebx
|
|
// CHECK: encoding: [0xf2,0x0f,0x38,0xf1,0x1a]
|
|
crc32l (%edx), %ebx
|
|
|
|
// CHECK: pcmpestri $0, -485498096(%edx,%eax,4), %xmm1
|
|
// CHECK: encoding: [0x66,0x0f,0x3a,0x61,0x8c,0x82,0x10,0xe3,0x0f,0xe3,0x00]
|
|
pcmpestri $0, -485498096(%edx,%eax,4), %xmm1
|
|
|
|
// CHECK: pcmpestri $0, 485498096(%edx,%eax,4), %xmm1
|
|
// CHECK: encoding: [0x66,0x0f,0x3a,0x61,0x8c,0x82,0xf0,0x1c,0xf0,0x1c,0x00]
|
|
pcmpestri $0, 485498096(%edx,%eax,4), %xmm1
|
|
|
|
// CHECK: pcmpestri $0, 485498096(%edx), %xmm1
|
|
// CHECK: encoding: [0x66,0x0f,0x3a,0x61,0x8a,0xf0,0x1c,0xf0,0x1c,0x00]
|
|
pcmpestri $0, 485498096(%edx), %xmm1
|
|
|
|
// CHECK: pcmpestri $0, 485498096, %xmm1
|
|
// CHECK: encoding: [0x66,0x0f,0x3a,0x61,0x0d,0xf0,0x1c,0xf0,0x1c,0x00]
|
|
pcmpestri $0, 485498096, %xmm1
|
|
|
|
// CHECK: pcmpestri $0, 64(%edx,%eax), %xmm1
|
|
// CHECK: encoding: [0x66,0x0f,0x3a,0x61,0x4c,0x02,0x40,0x00]
|
|
pcmpestri $0, 64(%edx,%eax), %xmm1
|
|
|
|
// CHECK: pcmpestri $0, (%edx), %xmm1
|
|
// CHECK: encoding: [0x66,0x0f,0x3a,0x61,0x0a,0x00]
|
|
pcmpestri $0, (%edx), %xmm1
|
|
|
|
// CHECK: pcmpestri $0, %xmm1, %xmm1
|
|
// CHECK: encoding: [0x66,0x0f,0x3a,0x61,0xc9,0x00]
|
|
pcmpestri $0, %xmm1, %xmm1
|
|
|
|
// CHECK: pcmpestrm $0, -485498096(%edx,%eax,4), %xmm1
|
|
// CHECK: encoding: [0x66,0x0f,0x3a,0x60,0x8c,0x82,0x10,0xe3,0x0f,0xe3,0x00]
|
|
pcmpestrm $0, -485498096(%edx,%eax,4), %xmm1
|
|
|
|
// CHECK: pcmpestrm $0, 485498096(%edx,%eax,4), %xmm1
|
|
// CHECK: encoding: [0x66,0x0f,0x3a,0x60,0x8c,0x82,0xf0,0x1c,0xf0,0x1c,0x00]
|
|
pcmpestrm $0, 485498096(%edx,%eax,4), %xmm1
|
|
|
|
// CHECK: pcmpestrm $0, 485498096(%edx), %xmm1
|
|
// CHECK: encoding: [0x66,0x0f,0x3a,0x60,0x8a,0xf0,0x1c,0xf0,0x1c,0x00]
|
|
pcmpestrm $0, 485498096(%edx), %xmm1
|
|
|
|
// CHECK: pcmpestrm $0, 485498096, %xmm1
|
|
// CHECK: encoding: [0x66,0x0f,0x3a,0x60,0x0d,0xf0,0x1c,0xf0,0x1c,0x00]
|
|
pcmpestrm $0, 485498096, %xmm1
|
|
|
|
// CHECK: pcmpestrm $0, 64(%edx,%eax), %xmm1
|
|
// CHECK: encoding: [0x66,0x0f,0x3a,0x60,0x4c,0x02,0x40,0x00]
|
|
pcmpestrm $0, 64(%edx,%eax), %xmm1
|
|
|
|
// CHECK: pcmpestrm $0, (%edx), %xmm1
|
|
// CHECK: encoding: [0x66,0x0f,0x3a,0x60,0x0a,0x00]
|
|
pcmpestrm $0, (%edx), %xmm1
|
|
|
|
// CHECK: pcmpestrm $0, %xmm1, %xmm1
|
|
// CHECK: encoding: [0x66,0x0f,0x3a,0x60,0xc9,0x00]
|
|
pcmpestrm $0, %xmm1, %xmm1
|
|
|
|
// CHECK: pcmpgtq -485498096(%edx,%eax,4), %xmm1
|
|
// CHECK: encoding: [0x66,0x0f,0x38,0x37,0x8c,0x82,0x10,0xe3,0x0f,0xe3]
|
|
pcmpgtq -485498096(%edx,%eax,4), %xmm1
|
|
|
|
// CHECK: pcmpgtq 485498096(%edx,%eax,4), %xmm1
|
|
// CHECK: encoding: [0x66,0x0f,0x38,0x37,0x8c,0x82,0xf0,0x1c,0xf0,0x1c]
|
|
pcmpgtq 485498096(%edx,%eax,4), %xmm1
|
|
|
|
// CHECK: pcmpgtq 485498096(%edx), %xmm1
|
|
// CHECK: encoding: [0x66,0x0f,0x38,0x37,0x8a,0xf0,0x1c,0xf0,0x1c]
|
|
pcmpgtq 485498096(%edx), %xmm1
|
|
|
|
// CHECK: pcmpgtq 485498096, %xmm1
|
|
// CHECK: encoding: [0x66,0x0f,0x38,0x37,0x0d,0xf0,0x1c,0xf0,0x1c]
|
|
pcmpgtq 485498096, %xmm1
|
|
|
|
// CHECK: pcmpgtq 64(%edx,%eax), %xmm1
|
|
// CHECK: encoding: [0x66,0x0f,0x38,0x37,0x4c,0x02,0x40]
|
|
pcmpgtq 64(%edx,%eax), %xmm1
|
|
|
|
// CHECK: pcmpgtq (%edx), %xmm1
|
|
// CHECK: encoding: [0x66,0x0f,0x38,0x37,0x0a]
|
|
pcmpgtq (%edx), %xmm1
|
|
|
|
// CHECK: pcmpgtq %xmm1, %xmm1
|
|
// CHECK: encoding: [0x66,0x0f,0x38,0x37,0xc9]
|
|
pcmpgtq %xmm1, %xmm1
|
|
|
|
// CHECK: pcmpistri $0, -485498096(%edx,%eax,4), %xmm1
|
|
// CHECK: encoding: [0x66,0x0f,0x3a,0x63,0x8c,0x82,0x10,0xe3,0x0f,0xe3,0x00]
|
|
pcmpistri $0, -485498096(%edx,%eax,4), %xmm1
|
|
|
|
// CHECK: pcmpistri $0, 485498096(%edx,%eax,4), %xmm1
|
|
// CHECK: encoding: [0x66,0x0f,0x3a,0x63,0x8c,0x82,0xf0,0x1c,0xf0,0x1c,0x00]
|
|
pcmpistri $0, 485498096(%edx,%eax,4), %xmm1
|
|
|
|
// CHECK: pcmpistri $0, 485498096(%edx), %xmm1
|
|
// CHECK: encoding: [0x66,0x0f,0x3a,0x63,0x8a,0xf0,0x1c,0xf0,0x1c,0x00]
|
|
pcmpistri $0, 485498096(%edx), %xmm1
|
|
|
|
// CHECK: pcmpistri $0, 485498096, %xmm1
|
|
// CHECK: encoding: [0x66,0x0f,0x3a,0x63,0x0d,0xf0,0x1c,0xf0,0x1c,0x00]
|
|
pcmpistri $0, 485498096, %xmm1
|
|
|
|
// CHECK: pcmpistri $0, 64(%edx,%eax), %xmm1
|
|
// CHECK: encoding: [0x66,0x0f,0x3a,0x63,0x4c,0x02,0x40,0x00]
|
|
pcmpistri $0, 64(%edx,%eax), %xmm1
|
|
|
|
// CHECK: pcmpistri $0, (%edx), %xmm1
|
|
// CHECK: encoding: [0x66,0x0f,0x3a,0x63,0x0a,0x00]
|
|
pcmpistri $0, (%edx), %xmm1
|
|
|
|
// CHECK: pcmpistri $0, %xmm1, %xmm1
|
|
// CHECK: encoding: [0x66,0x0f,0x3a,0x63,0xc9,0x00]
|
|
pcmpistri $0, %xmm1, %xmm1
|
|
|
|
// CHECK: pcmpistrm $0, -485498096(%edx,%eax,4), %xmm1
|
|
// CHECK: encoding: [0x66,0x0f,0x3a,0x62,0x8c,0x82,0x10,0xe3,0x0f,0xe3,0x00]
|
|
pcmpistrm $0, -485498096(%edx,%eax,4), %xmm1
|
|
|
|
// CHECK: pcmpistrm $0, 485498096(%edx,%eax,4), %xmm1
|
|
// CHECK: encoding: [0x66,0x0f,0x3a,0x62,0x8c,0x82,0xf0,0x1c,0xf0,0x1c,0x00]
|
|
pcmpistrm $0, 485498096(%edx,%eax,4), %xmm1
|
|
|
|
// CHECK: pcmpistrm $0, 485498096(%edx), %xmm1
|
|
// CHECK: encoding: [0x66,0x0f,0x3a,0x62,0x8a,0xf0,0x1c,0xf0,0x1c,0x00]
|
|
pcmpistrm $0, 485498096(%edx), %xmm1
|
|
|
|
// CHECK: pcmpistrm $0, 485498096, %xmm1
|
|
// CHECK: encoding: [0x66,0x0f,0x3a,0x62,0x0d,0xf0,0x1c,0xf0,0x1c,0x00]
|
|
pcmpistrm $0, 485498096, %xmm1
|
|
|
|
// CHECK: pcmpistrm $0, 64(%edx,%eax), %xmm1
|
|
// CHECK: encoding: [0x66,0x0f,0x3a,0x62,0x4c,0x02,0x40,0x00]
|
|
pcmpistrm $0, 64(%edx,%eax), %xmm1
|
|
|
|
// CHECK: pcmpistrm $0, (%edx), %xmm1
|
|
// CHECK: encoding: [0x66,0x0f,0x3a,0x62,0x0a,0x00]
|
|
pcmpistrm $0, (%edx), %xmm1
|
|
|
|
// CHECK: pcmpistrm $0, %xmm1, %xmm1
|
|
// CHECK: encoding: [0x66,0x0f,0x3a,0x62,0xc9,0x00]
|
|
pcmpistrm $0, %xmm1, %xmm1
|
|
|