23 lines
775 B
LLVM
23 lines
775 B
LLVM
; RUN: not llc -mtriple=x86_64-linux-gnu -o - %s 2>&1 | FileCheck %s
|
|
|
|
; Test that the blockaddress with X, i, or s constraint is printed as an
|
|
; immediate (.Ltmp0).
|
|
; Test that blockaddress with n constraint is an error.
|
|
define void @test1() {
|
|
; CHECK: error: constraint 'n' expects an integer constant expression
|
|
; CHECK-LABEL: test1:
|
|
; CHECK: # %bb.0: # %entry
|
|
; CHECK-NEXT: .Ltmp0: # Block address taken
|
|
; CHECK-NEXT: # %bb.1: # %b
|
|
; CHECK-NEXT: #APP
|
|
; CHECK-NEXT: # .Ltmp0 .Ltmp0 .Ltmp0
|
|
; CHECK-NEXT: #NO_APP
|
|
; CHECK-NEXT: retq
|
|
entry:
|
|
br label %b
|
|
b:
|
|
call void asm "# $0 $1 $2", "X,i,s"(ptr blockaddress(@test1, %b), ptr blockaddress(@test1, %b), ptr blockaddress(@test1, %b))
|
|
call void asm "# $0", "n"(ptr blockaddress(@test1, %b))
|
|
ret void
|
|
}
|