1 ; RUN: llc -mtriple=aarch64-none-linux-gnu -verify-machineinstrs < %s | FileCheck %s 2 3 @addr = global i8* null 4 5 define void @test_blockaddress() { 6 ; CHECK: test_blockaddress: 7 store volatile i8* blockaddress(@test_blockaddress, %block), i8** @addr 8 %val = load volatile i8** @addr 9 indirectbr i8* %val, [label %block] 10 ; CHECK: adrp [[DEST_HI:x[0-9]+]], [[DEST_LBL:.Ltmp[0-9]+]] 11 ; CHECK: add [[DEST:x[0-9]+]], [[DEST_HI]], #:lo12:[[DEST_LBL]] 12 ; CHECK: str [[DEST]], 13 ; CHECK: ldr [[NEWDEST:x[0-9]+]] 14 ; CHECK: br [[NEWDEST]] 15 16 block: 17 ret void 18 } 19