42 lines · plain
1; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+xsave | FileCheck %s2 3define void @test_xsave(ptr %ptr, i32 %hi, i32 %lo) {4; CHECK-LABEL: test_xsave5; CHECK: movl %edx, %eax6; CHECK: movl %esi, %edx7; CHECK: xsave (%rdi)8 call void @llvm.x86.xsave(ptr %ptr, i32 %hi, i32 %lo)9 ret void;10}11declare void @llvm.x86.xsave(ptr, i32, i32)12 13define void @test_xsave64(ptr %ptr, i32 %hi, i32 %lo) {14; CHECK-LABEL: test_xsave6415; CHECK: movl %edx, %eax16; CHECK: movl %esi, %edx17; CHECK: xsave64 (%rdi)18 call void @llvm.x86.xsave64(ptr %ptr, i32 %hi, i32 %lo)19 ret void;20}21declare void @llvm.x86.xsave64(ptr, i32, i32)22 23define void @test_xrstor(ptr %ptr, i32 %hi, i32 %lo) {24; CHECK-LABEL: test_xrstor25; CHECK: movl %edx, %eax26; CHECK: movl %esi, %edx27; CHECK: xrstor (%rdi)28 call void @llvm.x86.xrstor(ptr %ptr, i32 %hi, i32 %lo)29 ret void;30}31declare void @llvm.x86.xrstor(ptr, i32, i32)32 33define void @test_xrstor64(ptr %ptr, i32 %hi, i32 %lo) {34; CHECK-LABEL: test_xrstor6435; CHECK: movl %edx, %eax36; CHECK: movl %esi, %edx37; CHECK: xrstor64 (%rdi)38 call void @llvm.x86.xrstor64(ptr %ptr, i32 %hi, i32 %lo)39 ret void;40}41declare void @llvm.x86.xrstor64(ptr, i32, i32)42