1# Test that inline assembly get the right size value so that a branch across 2# a block containing them gets relaxed. 3 4# RUN: %python %s | llc -mtriple=s390x-linux-gnu -mcpu=z196 -enable-post-misched=false \ 5# RUN: | FileCheck %s 6 7# Construct: 8# 9# entry: 10# branch to block 11# 12# block: 13# sequence of call asm 14# unconditional branch to block 15# 16# exit: 17# ret void 18 19# CHECK-LABEL: f1 20# CHECK: jg 21# CHECK-NEXT: .Lfunc_end0: 22 23from __future__ import print_function 24 25num = 11000 26 27print("define void @f1() {") 28print("entry:") 29print(" br label %block") 30print("") 31print("block:") 32 33for i in range(num): 34 print( 35 ' tail call i64 asm "lang\\09$0,$2,$1\\0A", "=d,=*Q,d,*Q"(i32* elementtype(i32) undef, i32 undef, i32* elementtype(i32) undef)' 36 ) 37 38print(" br label %block") 39 40print("") 41print("exit:") 42print(" ret void") 43print("}") 44