Merging r258471:
[oota-llvm.git] / test / CodeGen / AArch64 / inline-asm-globaladdress.ll
1 ; RUN: llc < %s -mtriple aarch64-gnu-linux | FileCheck %s
2 ; RUN: llc < %s -mtriple arm64-apple-darwin | FileCheck %s
3
4 target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128"
5
6 ; CHECK-LABEL: test_inlineasm_globaladdress:
7 ; CHECK: b {{_?}}test_symbol
8 define void @test_inlineasm_globaladdress() {
9   call void asm sideeffect "b $0", "i"(void ()* @test_symbol)
10   ret void
11 }
12
13 ; CHECK-LABEL: test_inlineasm_globaladdress_offset:
14 ; CHECK: b {{_?}}test_symbol+4
15 define void @test_inlineasm_globaladdress_offset() {
16   call void asm sideeffect "b $0", "i"(void ()* bitcast (i8* getelementptr (i8, i8* bitcast (void ()* @test_symbol to i8*), i64 4) to void ()*))
17   ret void
18 }
19
20 declare void @test_symbol()