11; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 6
2- ; RUN: llc < %s -mtriple=x86_64-unknown -mattr=+xsave,+egpr | FileCheck %s
2+ ; RUN: llc < %s -mtriple=x86_64-unknown -mattr=+xsave,+egpr --show-mc-encoding | FileCheck %s
33
44define void @test_xsave (ptr %ptr , i32 %hi , i32 %lo ) nounwind {
55; CHECK-LABEL: test_xsave:
66; CHECK: # %bb.0:
7- ; CHECK-NEXT: pushq %rbx
8- ; CHECK-NEXT: movl %edx, %r16d
9- ; CHECK-NEXT: movl %esi, %edx
10- ; CHECK-NEXT: movq %rdi, %rbx
7+ ; CHECK-NEXT: pushq %rbx # encoding: [0x53]
8+ ; CHECK-NEXT: movl %edx, %r16d # encoding: [0xd5,0x10,0x89,0xd0]
9+ ; CHECK-NEXT: movl %esi, %edx # encoding: [0x89,0xf2]
10+ ; CHECK-NEXT: movq %rdi, %rbx # encoding: [0x48,0x89,0xfb]
1111; CHECK-NEXT: #APP
12- ; CHECK-NEXT: nop
12+ ; CHECK-NEXT: nop # encoding: [0x90]
1313; CHECK-NEXT: #NO_APP
14- ; CHECK-NEXT: movl %r16d, %eax
15- ; CHECK-NEXT: xsave (%rbx)
16- ; CHECK-NEXT: popq %rbx
17- ; CHECK-NEXT: retq
14+ ; CHECK-NEXT: movl %r16d, %eax # encoding: [0xd5,0x40,0x89,0xc0]
15+ ; CHECK-NEXT: xsave (%rbx) # encoding: [0x0f,0xae,0x23]
16+ ; CHECK-NEXT: popq %rbx # encoding: [0x5b]
17+ ; CHECK-NEXT: retq # encoding: [0xc3]
1818 tail call void asm sideeffect "nop" , "~{eax},~{ecx},~{esi},~{edi},~{r8},~{r9},~{r10},~{r11}" ()
1919 call void @llvm.x86.xsave (ptr %ptr , i32 %hi , i32 %lo )
2020 ret void ;
@@ -24,17 +24,17 @@ declare void @llvm.x86.xsave(ptr, i32, i32)
2424define void @test_xsave64 (ptr %ptr , i32 %hi , i32 %lo ) nounwind {
2525; CHECK-LABEL: test_xsave64:
2626; CHECK: # %bb.0:
27- ; CHECK-NEXT: pushq %rbx
28- ; CHECK-NEXT: movl %edx, %r16d
29- ; CHECK-NEXT: movl %esi, %edx
30- ; CHECK-NEXT: movq %rdi, %rbx
27+ ; CHECK-NEXT: pushq %rbx # encoding: [0x53]
28+ ; CHECK-NEXT: movl %edx, %r16d # encoding: [0xd5,0x10,0x89,0xd0]
29+ ; CHECK-NEXT: movl %esi, %edx # encoding: [0x89,0xf2]
30+ ; CHECK-NEXT: movq %rdi, %rbx # encoding: [0x48,0x89,0xfb]
3131; CHECK-NEXT: #APP
32- ; CHECK-NEXT: nop
32+ ; CHECK-NEXT: nop # encoding: [0x90]
3333; CHECK-NEXT: #NO_APP
34- ; CHECK-NEXT: movl %r16d, %eax
35- ; CHECK-NEXT: xsave64 (%rbx)
36- ; CHECK-NEXT: popq %rbx
37- ; CHECK-NEXT: retq
34+ ; CHECK-NEXT: movl %r16d, %eax # encoding: [0xd5,0x40,0x89,0xc0]
35+ ; CHECK-NEXT: xsave64 (%rbx) # encoding: [0x48,0x0f,0xae,0x23]
36+ ; CHECK-NEXT: popq %rbx # encoding: [0x5b]
37+ ; CHECK-NEXT: retq # encoding: [0xc3]
3838 tail call void asm sideeffect "nop" , "~{eax},~{ecx},~{esi},~{edi},~{r8},~{r9},~{r10},~{r11}" ()
3939 call void @llvm.x86.xsave64 (ptr %ptr , i32 %hi , i32 %lo )
4040 ret void ;
@@ -44,17 +44,17 @@ declare void @llvm.x86.xsave64(ptr, i32, i32)
4444define void @test_xrstor (ptr %ptr , i32 %hi , i32 %lo ) nounwind {
4545; CHECK-LABEL: test_xrstor:
4646; CHECK: # %bb.0:
47- ; CHECK-NEXT: pushq %rbx
48- ; CHECK-NEXT: movl %edx, %r16d
49- ; CHECK-NEXT: movl %esi, %edx
50- ; CHECK-NEXT: movq %rdi, %rbx
47+ ; CHECK-NEXT: pushq %rbx # encoding: [0x53]
48+ ; CHECK-NEXT: movl %edx, %r16d # encoding: [0xd5,0x10,0x89,0xd0]
49+ ; CHECK-NEXT: movl %esi, %edx # encoding: [0x89,0xf2]
50+ ; CHECK-NEXT: movq %rdi, %rbx # encoding: [0x48,0x89,0xfb]
5151; CHECK-NEXT: #APP
52- ; CHECK-NEXT: nop
52+ ; CHECK-NEXT: nop # encoding: [0x90]
5353; CHECK-NEXT: #NO_APP
54- ; CHECK-NEXT: movl %r16d, %eax
55- ; CHECK-NEXT: xrstor (%rbx)
56- ; CHECK-NEXT: popq %rbx
57- ; CHECK-NEXT: retq
54+ ; CHECK-NEXT: movl %r16d, %eax # encoding: [0xd5,0x40,0x89,0xc0]
55+ ; CHECK-NEXT: xrstor (%rbx) # encoding: [0x0f,0xae,0x2b]
56+ ; CHECK-NEXT: popq %rbx # encoding: [0x5b]
57+ ; CHECK-NEXT: retq # encoding: [0xc3]
5858 tail call void asm sideeffect "nop" , "~{eax},~{ecx},~{esi},~{edi},~{r8},~{r9},~{r10},~{r11}" ()
5959 call void @llvm.x86.xrstor (ptr %ptr , i32 %hi , i32 %lo )
6060 ret void ;
@@ -64,17 +64,17 @@ declare void @llvm.x86.xrstor(ptr, i32, i32)
6464define void @test_xrstor64 (ptr %ptr , i32 %hi , i32 %lo ) nounwind {
6565; CHECK-LABEL: test_xrstor64:
6666; CHECK: # %bb.0:
67- ; CHECK-NEXT: pushq %rbx
68- ; CHECK-NEXT: movl %edx, %r16d
69- ; CHECK-NEXT: movl %esi, %edx
70- ; CHECK-NEXT: movq %rdi, %rbx
67+ ; CHECK-NEXT: pushq %rbx # encoding: [0x53]
68+ ; CHECK-NEXT: movl %edx, %r16d # encoding: [0xd5,0x10,0x89,0xd0]
69+ ; CHECK-NEXT: movl %esi, %edx # encoding: [0x89,0xf2]
70+ ; CHECK-NEXT: movq %rdi, %rbx # encoding: [0x48,0x89,0xfb]
7171; CHECK-NEXT: #APP
72- ; CHECK-NEXT: nop
72+ ; CHECK-NEXT: nop # encoding: [0x90]
7373; CHECK-NEXT: #NO_APP
74- ; CHECK-NEXT: movl %r16d, %eax
75- ; CHECK-NEXT: xrstor64 (%rbx)
76- ; CHECK-NEXT: popq %rbx
77- ; CHECK-NEXT: retq
74+ ; CHECK-NEXT: movl %r16d, %eax # encoding: [0xd5,0x40,0x89,0xc0]
75+ ; CHECK-NEXT: xrstor64 (%rbx) # encoding: [0x48,0x0f,0xae,0x2b]
76+ ; CHECK-NEXT: popq %rbx # encoding: [0x5b]
77+ ; CHECK-NEXT: retq # encoding: [0xc3]
7878 tail call void asm sideeffect "nop" , "~{eax},~{ecx},~{esi},~{edi},~{r8},~{r9},~{r10},~{r11}" ()
7979 call void @llvm.x86.xrstor64 (ptr %ptr , i32 %hi , i32 %lo )
8080 ret void ;
0 commit comments