Home | History | Annotate | Download | only in X86
      1 ; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+xsave | FileCheck %s
      2 
      3 define void @test_xsave(i8* %ptr, i32 %hi, i32 %lo) {
      4 ; CHECK-LABEL: test_xsave
      5 ; CHECK: movl  %edx, %eax
      6 ; CHECK: movl  %esi, %edx
      7 ; CHECK: xsave (%rdi)
      8   call void @llvm.x86.xsave(i8* %ptr, i32 %hi, i32 %lo)
      9   ret void;
     10 }
     11 declare void @llvm.x86.xsave(i8*, i32, i32)
     12 
     13 define void @test_xsave64(i8* %ptr, i32 %hi, i32 %lo) {
     14 ; CHECK-LABEL: test_xsave64
     15 ; CHECK: movl    %edx, %eax
     16 ; CHECK: movl    %esi, %edx
     17 ; CHECK: xsave64 (%rdi)
     18   call void @llvm.x86.xsave64(i8* %ptr, i32 %hi, i32 %lo)
     19   ret void;
     20 }
     21 declare void @llvm.x86.xsave64(i8*, i32, i32)
     22 
     23 define void @test_xrstor(i8* %ptr, i32 %hi, i32 %lo) {
     24 ; CHECK-LABEL: test_xrstor
     25 ; CHECK: movl   %edx, %eax
     26 ; CHECK: movl   %esi, %edx
     27 ; CHECK: xrstor (%rdi)
     28   call void @llvm.x86.xrstor(i8* %ptr, i32 %hi, i32 %lo)
     29   ret void;
     30 }
     31 declare void @llvm.x86.xrstor(i8*, i32, i32)
     32 
     33 define void @test_xrstor64(i8* %ptr, i32 %hi, i32 %lo) {
     34 ; CHECK-LABEL: test_xrstor64
     35 ; CHECK: movl     %edx, %eax
     36 ; CHECK: movl     %esi, %edx
     37 ; CHECK: xrstor64 (%rdi)
     38   call void @llvm.x86.xrstor64(i8* %ptr, i32 %hi, i32 %lo)
     39   ret void;
     40 }
     41 declare void @llvm.x86.xrstor64(i8*, i32, i32)
     42