1*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -mtriple=x86_64-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 %edx, %eax 6*9880d681SAndroid Build Coastguard Worker; CHECK: movl %esi, %edx 7*9880d681SAndroid Build Coastguard Worker; CHECK: xsave (%rdi) 8*9880d681SAndroid Build Coastguard Worker call void @llvm.x86.xsave(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.xsave(i8*, i32, i32) 12*9880d681SAndroid Build Coastguard Worker 13*9880d681SAndroid Build Coastguard Workerdefine void @test_xsave64(i8* %ptr, i32 %hi, i32 %lo) { 14*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_xsave64 15*9880d681SAndroid Build Coastguard Worker; CHECK: movl %edx, %eax 16*9880d681SAndroid Build Coastguard Worker; CHECK: movl %esi, %edx 17*9880d681SAndroid Build Coastguard Worker; CHECK: xsave64 (%rdi) 18*9880d681SAndroid Build Coastguard Worker call void @llvm.x86.xsave64(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.xsave64(i8*, i32, i32) 22*9880d681SAndroid Build Coastguard Worker 23*9880d681SAndroid Build Coastguard Workerdefine void @test_xrstor(i8* %ptr, i32 %hi, i32 %lo) { 24*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_xrstor 25*9880d681SAndroid Build Coastguard Worker; CHECK: movl %edx, %eax 26*9880d681SAndroid Build Coastguard Worker; CHECK: movl %esi, %edx 27*9880d681SAndroid Build Coastguard Worker; CHECK: xrstor (%rdi) 28*9880d681SAndroid Build Coastguard Worker call void @llvm.x86.xrstor(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.xrstor(i8*, i32, i32) 32*9880d681SAndroid Build Coastguard Worker 33*9880d681SAndroid Build Coastguard Workerdefine void @test_xrstor64(i8* %ptr, i32 %hi, i32 %lo) { 34*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_xrstor64 35*9880d681SAndroid Build Coastguard Worker; CHECK: movl %edx, %eax 36*9880d681SAndroid Build Coastguard Worker; CHECK: movl %esi, %edx 37*9880d681SAndroid Build Coastguard Worker; CHECK: xrstor64 (%rdi) 38*9880d681SAndroid Build Coastguard Worker call void @llvm.x86.xrstor64(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.xrstor64(i8*, i32, i32) 42