Home | History | Annotate | Download | only in X86
      1 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
      2 ; RUN: llc < %s -mtriple=x86_64-unknown-unknown -print-schedule -mcpu=x86-64 -mattr=+rdpid | FileCheck %s --check-prefix=CHECK --check-prefix=GENERIC
      3 ; RUN: llc < %s -mtriple=x86_64-unknown-unknown -print-schedule -mcpu=icelake-client | FileCheck %s --check-prefix=CHECK --check-prefix=ICELAKE
      4 ; RUN: llc < %s -mtriple=x86_64-unknown-unknown -print-schedule -mcpu=icelake-server | FileCheck %s --check-prefix=CHECK --check-prefix=ICELAKE
      5 
      6 define i32 @test_rdpid() {
      7 ; GENERIC-LABEL: test_rdpid:
      8 ; GENERIC:       # %bb.0:
      9 ; GENERIC-NEXT:    rdpid %rax # sched: [100:0.33]
     10 ; GENERIC-NEXT:    # kill: def $eax killed $eax killed $rax
     11 ; GENERIC-NEXT:    retq # sched: [1:1.00]
     12 ;
     13 ; ICELAKE-LABEL: test_rdpid:
     14 ; ICELAKE:       # %bb.0:
     15 ; ICELAKE-NEXT:    rdpid %rax # sched: [100:0.25]
     16 ; ICELAKE-NEXT:    # kill: def $eax killed $eax killed $rax
     17 ; ICELAKE-NEXT:    retq # sched: [7:1.00]
     18   %1 = tail call i32 @llvm.x86.rdpid()
     19   ret i32 %1
     20 }
     21 declare i32 @llvm.x86.rdpid()
     22