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
87; CHECK-NEXT: movl %edx, %r16d
98; CHECK-NEXT: movl %esi, %edx
10- ; CHECK-NEXT: movq %rdi, %rbx
9+ ; CHECK-NEXT: movq %rdi, %r17
1110; CHECK-NEXT: #APP
1211; CHECK-NEXT: nop
1312; CHECK-NEXT: #NO_APP
1413; CHECK-NEXT: movl %r16d, %eax
15- ; CHECK-NEXT: xsave (%rbx)
16- ; CHECK-NEXT: popq %rbx
14+ ; CHECK-NEXT: xsave (%r17)
1715; CHECK-NEXT: retq
1816 tail call void asm sideeffect "nop" , "~{eax},~{ecx},~{esi},~{edi},~{r8},~{r9},~{r10},~{r11}" ()
1917 call void @llvm.x86.xsave (ptr %ptr , i32 %hi , i32 %lo )
@@ -24,16 +22,14 @@ declare void @llvm.x86.xsave(ptr, i32, i32)
2422define void @test_xsave64 (ptr %ptr , i32 %hi , i32 %lo ) nounwind {
2523; CHECK-LABEL: test_xsave64:
2624; CHECK: # %bb.0:
27- ; CHECK-NEXT: pushq %rbx
2825; CHECK-NEXT: movl %edx, %r16d
2926; CHECK-NEXT: movl %esi, %edx
30- ; CHECK-NEXT: movq %rdi, %rbx
27+ ; CHECK-NEXT: movq %rdi, %r17
3128; CHECK-NEXT: #APP
3229; CHECK-NEXT: nop
3330; CHECK-NEXT: #NO_APP
3431; CHECK-NEXT: movl %r16d, %eax
35- ; CHECK-NEXT: xsave64 (%rbx)
36- ; CHECK-NEXT: popq %rbx
32+ ; CHECK-NEXT: xsave64 (%r17)
3733; CHECK-NEXT: retq
3834 tail call void asm sideeffect "nop" , "~{eax},~{ecx},~{esi},~{edi},~{r8},~{r9},~{r10},~{r11}" ()
3935 call void @llvm.x86.xsave64 (ptr %ptr , i32 %hi , i32 %lo )
@@ -44,16 +40,14 @@ declare void @llvm.x86.xsave64(ptr, i32, i32)
4440define void @test_xrstor (ptr %ptr , i32 %hi , i32 %lo ) nounwind {
4541; CHECK-LABEL: test_xrstor:
4642; CHECK: # %bb.0:
47- ; CHECK-NEXT: pushq %rbx
4843; CHECK-NEXT: movl %edx, %r16d
4944; CHECK-NEXT: movl %esi, %edx
50- ; CHECK-NEXT: movq %rdi, %rbx
45+ ; CHECK-NEXT: movq %rdi, %r17
5146; CHECK-NEXT: #APP
5247; CHECK-NEXT: nop
5348; CHECK-NEXT: #NO_APP
5449; CHECK-NEXT: movl %r16d, %eax
55- ; CHECK-NEXT: xrstor (%rbx)
56- ; CHECK-NEXT: popq %rbx
50+ ; CHECK-NEXT: xrstor (%r17)
5751; CHECK-NEXT: retq
5852 tail call void asm sideeffect "nop" , "~{eax},~{ecx},~{esi},~{edi},~{r8},~{r9},~{r10},~{r11}" ()
5953 call void @llvm.x86.xrstor (ptr %ptr , i32 %hi , i32 %lo )
@@ -64,16 +58,14 @@ declare void @llvm.x86.xrstor(ptr, i32, i32)
6458define void @test_xrstor64 (ptr %ptr , i32 %hi , i32 %lo ) nounwind {
6559; CHECK-LABEL: test_xrstor64:
6660; CHECK: # %bb.0:
67- ; CHECK-NEXT: pushq %rbx
6861; CHECK-NEXT: movl %edx, %r16d
6962; CHECK-NEXT: movl %esi, %edx
70- ; CHECK-NEXT: movq %rdi, %rbx
63+ ; CHECK-NEXT: movq %rdi, %r17
7164; CHECK-NEXT: #APP
7265; CHECK-NEXT: nop
7366; CHECK-NEXT: #NO_APP
7467; CHECK-NEXT: movl %r16d, %eax
75- ; CHECK-NEXT: xrstor64 (%rbx)
76- ; CHECK-NEXT: popq %rbx
68+ ; CHECK-NEXT: xrstor64 (%r17)
7769; CHECK-NEXT: retq
7870 tail call void asm sideeffect "nop" , "~{eax},~{ecx},~{esi},~{edi},~{r8},~{r9},~{r10},~{r11}" ()
7971 call void @llvm.x86.xrstor64 (ptr %ptr , i32 %hi , i32 %lo )
0 commit comments