Home | History | Annotate | Download | only in ARM
      1 ; RUN: llc < %s -mtriple=armv7-eabi -mcpu=cortex-a8 | FileCheck %s
      2 ; RUN: llc < %s -march=thumb -mtriple=thumbv7-eabi -mcpu=cortex-a8 | FileCheck %s
      3 
      4 define void @coproc() nounwind {
      5 entry:
      6   ; CHECK: mrc
      7   %0 = tail call i32 @llvm.arm.mrc(i32 7, i32 1, i32 1, i32 1, i32 4) nounwind
      8   ; CHECK: mcr
      9   tail call void @llvm.arm.mcr(i32 7, i32 1, i32 %0, i32 1, i32 1, i32 4) nounwind
     10   ; CHECK: mrc2
     11   %1 = tail call i32 @llvm.arm.mrc2(i32 7, i32 1, i32 1, i32 1, i32 4) nounwind
     12   ; CHECK: mcr2
     13   tail call void @llvm.arm.mcr2(i32 7, i32 1, i32 %1, i32 1, i32 1, i32 4) nounwind
     14   ; CHECK: mcrr
     15   tail call void @llvm.arm.mcrr(i32 7, i32 1, i32 %0, i32 %1, i32 1) nounwind
     16   ; CHECK: mcrr2
     17   tail call void @llvm.arm.mcrr2(i32 7, i32 1, i32 %0, i32 %1, i32 1) nounwind
     18   ; CHECK: cdp
     19   tail call void @llvm.arm.cdp(i32 7, i32 3, i32 1, i32 1, i32 1, i32 5) nounwind
     20   ; CHECK: cdp2
     21   tail call void @llvm.arm.cdp2(i32 7, i32 3, i32 1, i32 1, i32 1, i32 5) nounwind
     22   ret void
     23 }
     24 
     25 declare void @llvm.arm.cdp2(i32, i32, i32, i32, i32, i32) nounwind
     26 
     27 declare void @llvm.arm.cdp(i32, i32, i32, i32, i32, i32) nounwind
     28 
     29 declare void @llvm.arm.mcrr2(i32, i32, i32, i32, i32) nounwind
     30 
     31 declare void @llvm.arm.mcrr(i32, i32, i32, i32, i32) nounwind
     32 
     33 declare void @llvm.arm.mcr2(i32, i32, i32, i32, i32, i32) nounwind
     34 
     35 declare i32 @llvm.arm.mrc2(i32, i32, i32, i32, i32) nounwind
     36 
     37 declare void @llvm.arm.mcr(i32, i32, i32, i32, i32, i32) nounwind
     38 
     39 declare i32 @llvm.arm.mrc(i32, i32, i32, i32, i32) nounwind
     40