1 ; RUN: llc < %s -mtriple=s390x-linux-gnu | FileCheck --check-prefixes=CHECK,NOVECTOR %s
2 ; RUN: llc < %s -mtriple=s390x-linux-gnu -mcpu=z15 | FileCheck --check-prefixes=CHECK,VECTOR %s
3 ; RUN: llc < %s -mtriple=s390x-linux-gnu -mcpu=z15 -mattr=+soft-float | FileCheck --check-prefixes=CHECK,NOVECTOR %s
6 define signext i32 @foo() "function-instrument"="xray-always" {
7 ; CHECK-LABEL: .Lxray_sled_0:
8 ; CHECK: j .Ltmp[[#l:]]
11 ; NOVECTOR: brasl %r14, __xray_FunctionEntry@PLT
12 ; VECTOR: brasl %r14, __xray_FunctionEntryVec@PLT
15 ; CHECK-LABEL: .Lxray_sled_1:
19 ; NOVECtOR: j __xray_FunctionExit@PLT
20 ; VECTOR: j __xray_FunctionExitVec@PLT
23 ; CHECK: .section xray_instr_map,"ao",@progbits,foo
24 ; CHECK: .Lxray_sleds_start0:
25 ; CHECK: [[TMP1:.Ltmp[0-9]+]]:
26 ; CHECK: .quad .Lxray_sled_0-[[TMP1]]
27 ; CHECK: .quad .Lfunc_begin0-([[TMP1]]+8)
32 ; CHECK: [[TMP2:.Ltmp[0-9]+]]:
33 ; CHECK: .quad .Lxray_sled_1-[[TMP2]]
34 ; CHECK: .quad .Lfunc_begin0-([[TMP2]]+8)
39 ; CHECK: .Lxray_sleds_end0:
40 ; CHECK: .section xray_fn_idx,"ao",@progbits,foo
42 ; CHECK: .Lxray_fn_idx0:
43 ; CHECK: .quad .Lxray_sleds_start0-.Lxray_fn_idx0