1*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -mtriple=i686-unknown-unknown -mattr=+xsave | FileCheck %s 2*9880d681SAndroid Build Coastguard Worker 3*9880d681SAndroid Build Coastguard Workerdefine void @test_xsave(i8* %ptr, i32 %hi, i32 %lo) { 4*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_xsave 5*9880d681SAndroid Build Coastguard Worker; CHECK: movl 8(%esp), %edx 6*9880d681SAndroid Build Coastguard Worker; CHECK: movl 12(%esp), %eax 7*9880d681SAndroid Build Coastguard Worker; CHECK: movl 4(%esp), %ecx 8*9880d681SAndroid Build Coastguard Worker; CHECK: xsave (%ecx) 9*9880d681SAndroid Build Coastguard Worker call void @llvm.x86.xsave(i8* %ptr, i32 %hi, i32 %lo) 10*9880d681SAndroid Build Coastguard Worker ret void; 11*9880d681SAndroid Build Coastguard Worker} 12*9880d681SAndroid Build Coastguard Workerdeclare void @llvm.x86.xsave(i8*, i32, i32) 13*9880d681SAndroid Build Coastguard Worker 14*9880d681SAndroid Build Coastguard Workerdefine void @test_xrstor(i8* %ptr, i32 %hi, i32 %lo) { 15*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_xrstor 16*9880d681SAndroid Build Coastguard Worker; CHECK: movl 8(%esp), %edx 17*9880d681SAndroid Build Coastguard Worker; CHECK: movl 12(%esp), %eax 18*9880d681SAndroid Build Coastguard Worker; CHECK: movl 4(%esp), %ecx 19*9880d681SAndroid Build Coastguard Worker; CHECK: xrstor (%ecx) 20*9880d681SAndroid Build Coastguard Worker call void @llvm.x86.xrstor(i8* %ptr, i32 %hi, i32 %lo) 21*9880d681SAndroid Build Coastguard Worker ret void; 22*9880d681SAndroid Build Coastguard Worker} 23*9880d681SAndroid Build Coastguard Workerdeclare void @llvm.x86.xrstor(i8*, i32, i32) 24