x86-store-gv-addr.ll 815 Bytes
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
; RUN: llc < %s -mtriple=x86_64-apple-darwin -relocation-model=static | FileCheck %s --check-prefix=x86_64-darwin
; RUN: llc < %s -mtriple=x86_64-pc-linux-gnu -relocation-model=static | FileCheck %s --check-prefix=x86_64-linux

@v = external global i32, align 8
@v_addr = external global i32*, align 8

define void @t() nounwind optsize {
; x86_64-darwin-LABEL: t:
; x86_64-darwin:       ## %bb.0:
; x86_64-darwin-NEXT:    movq _v@{{.*}}(%rip), %rax
; x86_64-darwin-NEXT:    movq _v_addr@{{.*}}(%rip), %rcx
; x86_64-darwin-NEXT:    movq %rax, (%rcx)
; x86_64-darwin-NEXT:    ud2
;
; x86_64-linux-LABEL: t:
; x86_64-linux:       # %bb.0:
; x86_64-linux-NEXT:    movq $v, {{.*}}(%rip)
	store i32* @v, i32** @v_addr, align 8
	unreachable
}