Home | History | Annotate | Download | only in X86
      1 ; RUN: llc -mtriple=x86_64-apple-darwin -mcpu=corei7 -disable-fp-elim -filetype=obj %s -o - | llvm-objdump -d - | FileCheck %s
      2 ; RUN: llc -mtriple=x86_64-apple-darwin -mcpu=corei7 -disable-fp-elim -filetype=asm %s -o - | llvm-mc -triple=x86_64-apple-darwin -mcpu=corei7 -filetype=obj - | llvm-objdump -d - | FileCheck %s
      3 
      4 define void @nop_test() {
      5 entry:
      6 ; CHECK:  0: 55
      7 ; CHECK:  1: 48 89 e5
      8 
      9 ; CHECK:  4: 90
     10 ; CHECK:  5: 66 90
     11 ; CHECK:  7: 0f 1f 00
     12 ; CHECK:  a: 0f 1f 40 08
     13 ; CHECK:  e: 0f 1f 44 00 08
     14 ; CHECK: 13: 66 0f 1f 44 00 08
     15 ; CHECK: 19: 0f 1f 80 00 02 00 00
     16 ; CHECK: 20: 0f 1f 84 00 00 02 00 00
     17 ; CHECK: 28: 66 0f 1f 84 00 00 02 00 00
     18 ; CHECK: 31: 2e 66 0f 1f 84 00 00 02 00 00
     19 ; CHECK: 3b: 66 2e 66 0f 1f 84 00 00 02 00 00
     20 ; CHECK: 46: 66 66 2e 66 0f 1f 84 00 00 02 00 00
     21 ; CHECK: 52: 66 66 66 2e 66 0f 1f 84 00 00 02 00 00
     22 ; CHECK: 5f: 66 66 66 66 2e 66 0f 1f 84 00 00 02 00 00
     23 ; CHECK: 6d: 66 66 66 66 66 2e 66 0f 1f 84 00 00 02 00 00
     24 
     25 ; CHECK: 7c: 5d
     26 ; CHECK: 7d: c3
     27 
     28   tail call void (i64, i32, ...) @llvm.experimental.stackmap(i64  0, i32  0)
     29   tail call void (i64, i32, ...) @llvm.experimental.stackmap(i64  1, i32  1)
     30   tail call void (i64, i32, ...) @llvm.experimental.stackmap(i64  2, i32  2)
     31   tail call void (i64, i32, ...) @llvm.experimental.stackmap(i64  3, i32  3)
     32   tail call void (i64, i32, ...) @llvm.experimental.stackmap(i64  4, i32  4)
     33   tail call void (i64, i32, ...) @llvm.experimental.stackmap(i64  5, i32  5)
     34   tail call void (i64, i32, ...) @llvm.experimental.stackmap(i64  6, i32  6)
     35   tail call void (i64, i32, ...) @llvm.experimental.stackmap(i64  7, i32  7)
     36   tail call void (i64, i32, ...) @llvm.experimental.stackmap(i64  8, i32  8)
     37   tail call void (i64, i32, ...) @llvm.experimental.stackmap(i64  9, i32  9)
     38   tail call void (i64, i32, ...) @llvm.experimental.stackmap(i64 10, i32 10)
     39   tail call void (i64, i32, ...) @llvm.experimental.stackmap(i64 11, i32 11)
     40   tail call void (i64, i32, ...) @llvm.experimental.stackmap(i64 12, i32 12)
     41   tail call void (i64, i32, ...) @llvm.experimental.stackmap(i64 13, i32 13)
     42   tail call void (i64, i32, ...) @llvm.experimental.stackmap(i64 14, i32 14)
     43   tail call void (i64, i32, ...) @llvm.experimental.stackmap(i64 15, i32 15)
     44 ; Add an extra stackmap with a zero-length shadow to thwart the shadow
     45 ; optimization. This will force all 15 bytes of the previous shadow to be
     46 ; padded with nops.
     47   tail call void (i64, i32, ...) @llvm.experimental.stackmap(i64 16, i32 0)
     48   ret void
     49 }
     50 
     51 declare void @llvm.experimental.stackmap(i64, i32, ...)
     52