llvm-for-llvmta/test/CodeGen/SystemZ/Large/branch-range-13.py

42 lines
791 B
Python

# Test that inline assembly get the right size value so that a branch across
# a block containing them gets relaxed.
# RUN: python %s | llc -mtriple=s390x-linux-gnu -mcpu=z196 -enable-post-misched=false \
# RUN: | FileCheck %s
# Construct:
#
# entry:
# branch to block
#
# block:
# sequence of call asm
# unconditional branch to block
#
# exit:
# ret void
# CHECK-LABEL: f1
# CHECK: jg
# CHECK-NEXT: .Lfunc_end0:
from __future__ import print_function
num = 11000
print('define void @f1() {')
print('entry:')
print(' br label %block')
print('')
print('block:')
for i in range(num):
print(' tail call i64 asm "lang\\09$0,$2,$1\\0A", "=d,=*Q,d,*Q"(i32* undef, i32 undef, i32* undef)')
print(' br label %block')
print('')
print('exit:')
print(' ret void')
print('}')