1*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+xsave,+xsaves | FileCheck %s 2*9880d681SAndroid Build Coastguard Worker 3*9880d681SAndroid Build Coastguard Workerdefine void @test_xsaves(i8* %ptr, i32 %hi, i32 %lo) { 4*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_xsaves 5*9880d681SAndroid Build Coastguard Worker; CHECK: movl %edx, %eax 6*9880d681SAndroid Build Coastguard Worker; CHECK: movl %esi, %edx 7*9880d681SAndroid Build Coastguard Worker; CHECK: xsaves (%rdi) 8*9880d681SAndroid Build Coastguard Worker call void @llvm.x86.xsaves(i8* %ptr, i32 %hi, i32 %lo) 9*9880d681SAndroid Build Coastguard Worker ret void; 10*9880d681SAndroid Build Coastguard Worker} 11*9880d681SAndroid Build Coastguard Workerdeclare void @llvm.x86.xsaves(i8*, i32, i32) 12*9880d681SAndroid Build Coastguard Worker 13*9880d681SAndroid Build Coastguard Workerdefine void @test_xsaves64(i8* %ptr, i32 %hi, i32 %lo) { 14*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_xsaves64 15*9880d681SAndroid Build Coastguard Worker; CHECK: movl %edx, %eax 16*9880d681SAndroid Build Coastguard Worker; CHECK: movl %esi, %edx 17*9880d681SAndroid Build Coastguard Worker; CHECK: xsaves64 (%rdi) 18*9880d681SAndroid Build Coastguard Worker call void @llvm.x86.xsaves64(i8* %ptr, i32 %hi, i32 %lo) 19*9880d681SAndroid Build Coastguard Worker ret void; 20*9880d681SAndroid Build Coastguard Worker} 21*9880d681SAndroid Build Coastguard Workerdeclare void @llvm.x86.xsaves64(i8*, i32, i32) 22*9880d681SAndroid Build Coastguard Worker 23*9880d681SAndroid Build Coastguard Workerdefine void @test_xrstors(i8* %ptr, i32 %hi, i32 %lo) { 24*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_xrstors 25*9880d681SAndroid Build Coastguard Worker; CHECK: movl %edx, %eax 26*9880d681SAndroid Build Coastguard Worker; CHECK: movl %esi, %edx 27*9880d681SAndroid Build Coastguard Worker; CHECK: xrstors (%rdi) 28*9880d681SAndroid Build Coastguard Worker call void @llvm.x86.xrstors(i8* %ptr, i32 %hi, i32 %lo) 29*9880d681SAndroid Build Coastguard Worker ret void; 30*9880d681SAndroid Build Coastguard Worker} 31*9880d681SAndroid Build Coastguard Workerdeclare void @llvm.x86.xrstors(i8*, i32, i32) 32*9880d681SAndroid Build Coastguard Worker 33*9880d681SAndroid Build Coastguard Workerdefine void @test_xrstors64(i8* %ptr, i32 %hi, i32 %lo) { 34*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_xrstors64 35*9880d681SAndroid Build Coastguard Worker; CHECK: movl %edx, %eax 36*9880d681SAndroid Build Coastguard Worker; CHECK: movl %esi, %edx 37*9880d681SAndroid Build Coastguard Worker; CHECK: xrstors64 (%rdi) 38*9880d681SAndroid Build Coastguard Worker call void @llvm.x86.xrstors64(i8* %ptr, i32 %hi, i32 %lo) 39*9880d681SAndroid Build Coastguard Worker ret void; 40*9880d681SAndroid Build Coastguard Worker} 41*9880d681SAndroid Build Coastguard Workerdeclare void @llvm.x86.xrstors64(i8*, i32, i32) 42