1*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -mtriple=x86_64-apple-darwin -mcpu=knl --show-mc-encoding -verify-machineinstrs | FileCheck %s 2*9880d681SAndroid Build Coastguard Workerdeclare i32 @llvm.x86.rdpkru() 3*9880d681SAndroid Build Coastguard Workerdeclare void @llvm.x86.wrpkru(i32) 4*9880d681SAndroid Build Coastguard Worker 5*9880d681SAndroid Build Coastguard Workerdefine void @test_x86_wrpkru(i32 %src) { 6*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_x86_wrpkru: 7*9880d681SAndroid Build Coastguard Worker; CHECK: ## BB#0: 8*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: xorl %ecx, %ecx 9*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: xorl %edx, %edx 10*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: movl %edi, %eax 11*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: wrpkru 12*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: retq 13*9880d681SAndroid Build Coastguard Worker call void @llvm.x86.wrpkru(i32 %src) 14*9880d681SAndroid Build Coastguard Worker ret void 15*9880d681SAndroid Build Coastguard Worker} 16*9880d681SAndroid Build Coastguard Worker 17*9880d681SAndroid Build Coastguard Workerdefine i32 @test_x86_rdpkru() { 18*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_x86_rdpkru: 19*9880d681SAndroid Build Coastguard Worker; CHECK: ## BB#0: 20*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: xorl %ecx, %ecx 21*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: rdpkru 22*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: retq 23*9880d681SAndroid Build Coastguard Worker %res = call i32 @llvm.x86.rdpkru() 24*9880d681SAndroid Build Coastguard Worker ret i32 %res 25*9880d681SAndroid Build Coastguard Worker} 26