• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1; RUN: llc < %s -mtriple=x86_64-unknown-unknown | FileCheck %s
2
3define void @test1() {
4; CHECK-LABEL: test1:
5; CHECK: vmovaps %xmm0, %xmm0
6; CHECK: vmovaps %ymm0, %ymm0
7; CHECK: vmovaps %zmm0, %zmm0
8  tail call void asm sideeffect "vmovaps ${0:x}, ${0:x}", "{xmm0},~{dirflag},~{fpsr},~{flags}"(i32 0)
9  tail call void asm sideeffect "vmovaps ${0:t}, ${0:t}", "{xmm0},~{dirflag},~{fpsr},~{flags}"(i32 0)
10  tail call void asm sideeffect "vmovaps ${0:g}, ${0:g}", "{xmm0},~{dirflag},~{fpsr},~{flags}"(i32 0)
11  ret void
12}
13
14define void @test2() {
15; CHECK-LABEL: test2:
16; CHECK: vmovaps %xmm0, %xmm0
17; CHECK: vmovaps %ymm0, %ymm0
18; CHECK: vmovaps %zmm0, %zmm0
19  tail call void asm sideeffect inteldialect "vmovaps ${0:x}, ${0:x}", "{xmm0},~{dirflag},~{fpsr},~{flags}"(i32 0)
20  tail call void asm sideeffect inteldialect "vmovaps ${0:t}, ${0:t}", "{xmm0},~{dirflag},~{fpsr},~{flags}"(i32 0)
21  tail call void asm sideeffect inteldialect "vmovaps ${0:g}, ${0:g}", "{xmm0},~{dirflag},~{fpsr},~{flags}"(i32 0)
22  ret void
23}
24
25define void @test3() {
26; CHECK-LABEL: test3:
27; CHECK: movb %al, %al
28; CHECK: movb %ah, %ah
29; CHECK: movw %ax, %ax
30; CHECK: movl %eax, %eax
31; CHECK: movq %rax, %rax
32  tail call void asm sideeffect "mov ${0:b}, ${0:b}", "{eax},~{dirflag},~{fpsr},~{flags}"(i32 0)
33  tail call void asm sideeffect "mov ${0:h}, ${0:h}", "{eax},~{dirflag},~{fpsr},~{flags}"(i32 0)
34  tail call void asm sideeffect "mov ${0:w}, ${0:w}", "{eax},~{dirflag},~{fpsr},~{flags}"(i32 0)
35  tail call void asm sideeffect "mov ${0:k}, ${0:k}", "{eax},~{dirflag},~{fpsr},~{flags}"(i32 0)
36  tail call void asm sideeffect "mov ${0:q}, ${0:q}", "{eax},~{dirflag},~{fpsr},~{flags}"(i32 0)
37  ret void
38}
39
40define void @test4() {
41; CHECK-LABEL: test4:
42; CHECK: movb %al, %al
43; CHECK: movb %ah, %ah
44; CHECK: movw %ax, %ax
45; CHECK: movl %eax, %eax
46; CHECK: movq %rax, %rax
47  tail call void asm sideeffect inteldialect "mov ${0:b}, ${0:b}", "{eax},~{dirflag},~{fpsr},~{flags}"(i32 0)
48  tail call void asm sideeffect inteldialect "mov ${0:h}, ${0:h}", "{eax},~{dirflag},~{fpsr},~{flags}"(i32 0)
49  tail call void asm sideeffect inteldialect "mov ${0:w}, ${0:w}", "{eax},~{dirflag},~{fpsr},~{flags}"(i32 0)
50  tail call void asm sideeffect inteldialect "mov ${0:k}, ${0:k}", "{eax},~{dirflag},~{fpsr},~{flags}"(i32 0)
51  tail call void asm sideeffect inteldialect "mov ${0:q}, ${0:q}", "{eax},~{dirflag},~{fpsr},~{flags}"(i32 0)
52  ret void
53}
54