| ; 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) |