xref: /llvm-project/llvm/test/CodeGen/X86/align-branch-boundary-default.ll (revision 0b91e78a719065c67b33bf82b0cde3d4ecfe3b7d)
1; RUN: llc -verify-machineinstrs -O3 -mtriple=x86_64-unknown-unknown -mcpu=skylake -filetype=obj < %s | llvm-objdump -d --no-show-raw-insn - | FileCheck %s
2
3; TODO: At the moment, autopadding for SKX102 is not the default, but
4; eventually we'd like ti to be for the integrated assembler (only).
5
6target datalayout = "e-i64:64-f80:128-n8:16:32:64-S128"
7target triple = "x86_64-pc-linux-gnu"
8
9define void @test(i1 %c) {
10; CHECK: 0: pushq
11; CHECK-NEXT: 1: movl
12; CHECK-NEXT: 3: callq
13; CHECK-NEXT: 8: callq
14; CHECK-NEXT: d: callq
15; CHECK-NEXT: 12: callq
16; CHECK-NEXT: 17: callq
17; TODO: want a nop here
18; CHECK-NEXT: 1c: testb
19; CHECK-NEXT: 1f: je
20entry:
21  call void @foo()
22  call void @foo()
23  call void @foo()
24  call void @foo()
25  call void @foo()
26  br i1 %c, label %taken, label %untaken
27
28taken:
29  call void @foo()
30  ret void
31untaken:
32  call void @bar()
33  ret void
34}
35
36declare void @foo()
37declare void @bar()
38