1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-25 12:12:47 +01:00
llvm-mirror/test/MC/X86/SSE4a-32.s
Craig Topper a3d65c2594 [X86][SSE]: Adding full coverage of MC encoding tests for the SSE isa sets.<NFC>
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
2019-02-02 06:21:54 +00:00

66 lines
2.0 KiB
ArmAsm

// RUN: llvm-mc -triple i386-unknown-unknown --show-encoding %s | FileCheck %s
// CHECK: extrq $0, $0, %xmm0
// CHECK: encoding: [0x66,0x0f,0x78,0xc0,0x00,0x00]
extrq $0, $0, %xmm0
// CHECK: extrq %xmm1, %xmm1
// CHECK: encoding: [0x66,0x0f,0x79,0xc9]
extrq %xmm1, %xmm1
// CHECK: insertq $0, $0, %xmm1, %xmm1
// CHECK: encoding: [0xf2,0x0f,0x78,0xc9,0x00,0x00]
insertq $0, $0, %xmm1, %xmm1
// CHECK: insertq %xmm1, %xmm1
// CHECK: encoding: [0xf2,0x0f,0x79,0xc9]
insertq %xmm1, %xmm1
// CHECK: movntsd %xmm1, -485498096(%edx,%eax,4)
// CHECK: encoding: [0xf2,0x0f,0x2b,0x8c,0x82,0x10,0xe3,0x0f,0xe3]
movntsd %xmm1, -485498096(%edx,%eax,4)
// CHECK: movntsd %xmm1, 485498096(%edx,%eax,4)
// CHECK: encoding: [0xf2,0x0f,0x2b,0x8c,0x82,0xf0,0x1c,0xf0,0x1c]
movntsd %xmm1, 485498096(%edx,%eax,4)
// CHECK: movntsd %xmm1, 485498096(%edx)
// CHECK: encoding: [0xf2,0x0f,0x2b,0x8a,0xf0,0x1c,0xf0,0x1c]
movntsd %xmm1, 485498096(%edx)
// CHECK: movntsd %xmm1, 485498096
// CHECK: encoding: [0xf2,0x0f,0x2b,0x0d,0xf0,0x1c,0xf0,0x1c]
movntsd %xmm1, 485498096
// CHECK: movntsd %xmm1, 64(%edx,%eax)
// CHECK: encoding: [0xf2,0x0f,0x2b,0x4c,0x02,0x40]
movntsd %xmm1, 64(%edx,%eax)
// CHECK: movntsd %xmm1, (%edx)
// CHECK: encoding: [0xf2,0x0f,0x2b,0x0a]
movntsd %xmm1, (%edx)
// CHECK: movntss %xmm1, -485498096(%edx,%eax,4)
// CHECK: encoding: [0xf3,0x0f,0x2b,0x8c,0x82,0x10,0xe3,0x0f,0xe3]
movntss %xmm1, -485498096(%edx,%eax,4)
// CHECK: movntss %xmm1, 485498096(%edx,%eax,4)
// CHECK: encoding: [0xf3,0x0f,0x2b,0x8c,0x82,0xf0,0x1c,0xf0,0x1c]
movntss %xmm1, 485498096(%edx,%eax,4)
// CHECK: movntss %xmm1, 485498096(%edx)
// CHECK: encoding: [0xf3,0x0f,0x2b,0x8a,0xf0,0x1c,0xf0,0x1c]
movntss %xmm1, 485498096(%edx)
// CHECK: movntss %xmm1, 485498096
// CHECK: encoding: [0xf3,0x0f,0x2b,0x0d,0xf0,0x1c,0xf0,0x1c]
movntss %xmm1, 485498096
// CHECK: movntss %xmm1, 64(%edx,%eax)
// CHECK: encoding: [0xf3,0x0f,0x2b,0x4c,0x02,0x40]
movntss %xmm1, 64(%edx,%eax)
// CHECK: movntss %xmm1, (%edx)
// CHECK: encoding: [0xf3,0x0f,0x2b,0x0a]
movntss %xmm1, (%edx)