[ARM] Adjust how NEON shifts are lowered
[llvm-core.git] / test / CodeGen / X86 / rdpmc.ll
blobf1258a77ea0a20c0d6139060c3575e97f2aada5a
1 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2 ; RUN: llc < %s -mtriple=i686-unknown-unknown -mcpu=generic | FileCheck %s --check-prefix=X86
3 ; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mcpu=generic | FileCheck %s --check-prefix=X64
5 ; Verify that we correctly lower the "Read Performance-Monitoring Counters"
6 ; x86 builtin.
8 define i64 @test_builtin_read_pmc(i32 %ID) {
9 ; X86-LABEL: test_builtin_read_pmc:
10 ; X86:       # %bb.0:
11 ; X86-NEXT:    movl {{[0-9]+}}(%esp), %ecx
12 ; X86-NEXT:    rdpmc
13 ; X86-NEXT:    retl
15 ; X64-LABEL: test_builtin_read_pmc:
16 ; X64:       # %bb.0:
17 ; X64-NEXT:    movl %edi, %ecx
18 ; X64-NEXT:    rdpmc
19 ; X64-NEXT:    shlq $32, %rdx
20 ; X64-NEXT:    orq %rdx, %rax
21 ; X64-NEXT:    retq
22   %1 = tail call i64 @llvm.x86.rdpmc(i32 %ID)
23   ret i64 %1
25 declare i64 @llvm.x86.rdpmc(i32 %ID)