; RUN: llc < %s -mtriple=i686-unknown-unknown -mattr=+xsave | FileCheck %s | |
; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+xsave | FileCheck %s --check-prefix=CHECK64 | |
define i64 @test_xgetbv(i32 %in) { | |
; CHECK-LABEL: test_xgetbv | |
; CHECK: movl 4(%esp), %ecx | |
; CHECK: xgetbv | |
; CHECK: ret | |
; CHECK64-LABEL: test_xgetbv | |
; CHECK64: movl %edi, %ecx | |
; CHECK64: xgetbv | |
; CHECK64: shlq $32, %rdx | |
; CHECK64: orq %rdx, %rax | |
; CHECK64: ret | |
%1 = call i64 @llvm.x86.xgetbv(i32 %in) | |
ret i64 %1; | |
} | |
declare i64 @llvm.x86.xgetbv(i32) |