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