[PowerPC] PR16512 - Support TLS call sequences in the asm parser
[oota-llvm.git] / test / MC / X86 / AlignedBundling / relax-in-bundle-group.s
1 # RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - \
2 # RUN:   | llvm-objdump -disassemble - | FileCheck %s
3
4 # Test that instructions inside bundle-locked groups are relaxed even if their
5 # fixup is short enough not to warrant relaxation on its own.
6
7   .text
8 foo:
9   .bundle_align_mode 4
10   pushq   %rbp
11
12   movl    %edi, %ebx
13   callq   bar
14   movl    %eax, %r14d
15   imull   $17, %ebx, %ebp
16   movl    %ebx, %edi
17   callq   bar
18   cmpl    %r14d, %ebp
19   .bundle_lock
20
21   jle     .L_ELSE
22 # This group would've started at 0x18 and is too long, so a chunky NOP padding
23 # is inserted to push it to 0x20.
24 # CHECK: 18: {{[a-f0-9 ]+}} nopl
25
26 # The long encoding for JLE should be used here even though its target is close
27 # CHECK-NEXT: 20: 0f 8e
28
29   addl    %ebp, %eax
30
31   jmp     .L_RET
32 # Same for the JMP
33 # CHECK: 28: e9
34
35   .bundle_unlock
36
37 .L_ELSE:
38   imull   %ebx, %eax
39 .L_RET:
40
41   popq    %rbx
42