brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.2 KiB · 4f4d72a Raw
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