Home | History | Annotate | Download | only in AArch64
      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