xref: /llvm-project/llvm/test/CodeGen/X86/align-branch-boundary-default.ll (revision 0b91e78a719065c67b33bf82b0cde3d4ecfe3b7d)
1*0b91e78aSSam McCall; RUN: llc -verify-machineinstrs -O3 -mtriple=x86_64-unknown-unknown -mcpu=skylake -filetype=obj < %s | llvm-objdump -d --no-show-raw-insn - | FileCheck %s
20c29d3ffSPhilip Reames
30c29d3ffSPhilip Reames; TODO: At the moment, autopadding for SKX102 is not the default, but
40c29d3ffSPhilip Reames; eventually we'd like ti to be for the integrated assembler (only).
50c29d3ffSPhilip Reames
60c29d3ffSPhilip Reamestarget datalayout = "e-i64:64-f80:128-n8:16:32:64-S128"
70c29d3ffSPhilip Reamestarget triple = "x86_64-pc-linux-gnu"
80c29d3ffSPhilip Reames
90c29d3ffSPhilip Reamesdefine void @test(i1 %c) {
100c29d3ffSPhilip Reames; CHECK: 0: pushq
110c29d3ffSPhilip Reames; CHECK-NEXT: 1: movl
120c29d3ffSPhilip Reames; CHECK-NEXT: 3: callq
130c29d3ffSPhilip Reames; CHECK-NEXT: 8: callq
140c29d3ffSPhilip Reames; CHECK-NEXT: d: callq
150c29d3ffSPhilip Reames; CHECK-NEXT: 12: callq
160c29d3ffSPhilip Reames; CHECK-NEXT: 17: callq
170c29d3ffSPhilip Reames; TODO: want a nop here
180c29d3ffSPhilip Reames; CHECK-NEXT: 1c: testb
190c29d3ffSPhilip Reames; CHECK-NEXT: 1f: je
200c29d3ffSPhilip Reamesentry:
210c29d3ffSPhilip Reames  call void @foo()
220c29d3ffSPhilip Reames  call void @foo()
230c29d3ffSPhilip Reames  call void @foo()
240c29d3ffSPhilip Reames  call void @foo()
250c29d3ffSPhilip Reames  call void @foo()
260c29d3ffSPhilip Reames  br i1 %c, label %taken, label %untaken
270c29d3ffSPhilip Reames
280c29d3ffSPhilip Reamestaken:
290c29d3ffSPhilip Reames  call void @foo()
300c29d3ffSPhilip Reames  ret void
310c29d3ffSPhilip Reamesuntaken:
320c29d3ffSPhilip Reames  call void @bar()
330c29d3ffSPhilip Reames  ret void
340c29d3ffSPhilip Reames}
350c29d3ffSPhilip Reames
360c29d3ffSPhilip Reamesdeclare void @foo()
370c29d3ffSPhilip Reamesdeclare void @bar()
38