42 lines · plain
1; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+xsave,+xsaves | FileCheck %s2 3define void @test_xsaves(ptr %ptr, i32 %hi, i32 %lo) {4; CHECK-LABEL: test_xsaves5; CHECK: movl %edx, %eax6; CHECK: movl %esi, %edx7; CHECK: xsaves (%rdi)8 call void @llvm.x86.xsaves(ptr %ptr, i32 %hi, i32 %lo)9 ret void;10}11declare void @llvm.x86.xsaves(ptr, i32, i32)12 13define void @test_xsaves64(ptr %ptr, i32 %hi, i32 %lo) {14; CHECK-LABEL: test_xsaves6415; CHECK: movl %edx, %eax16; CHECK: movl %esi, %edx17; CHECK: xsaves64 (%rdi)18 call void @llvm.x86.xsaves64(ptr %ptr, i32 %hi, i32 %lo)19 ret void;20}21declare void @llvm.x86.xsaves64(ptr, i32, i32)22 23define void @test_xrstors(ptr %ptr, i32 %hi, i32 %lo) {24; CHECK-LABEL: test_xrstors25; CHECK: movl %edx, %eax26; CHECK: movl %esi, %edx27; CHECK: xrstors (%rdi)28 call void @llvm.x86.xrstors(ptr %ptr, i32 %hi, i32 %lo)29 ret void;30}31declare void @llvm.x86.xrstors(ptr, i32, i32)32 33define void @test_xrstors64(ptr %ptr, i32 %hi, i32 %lo) {34; CHECK-LABEL: test_xrstors6435; CHECK: movl %edx, %eax36; CHECK: movl %esi, %edx37; CHECK: xrstors64 (%rdi)38 call void @llvm.x86.xrstors64(ptr %ptr, i32 %hi, i32 %lo)39 ret void;40}41declare void @llvm.x86.xrstors64(ptr, i32, i32)42