# RUN: llc -march=x86-64 -run-pass none -o - %s | FileCheck %s
# This test ensures that the MIR parser parses the external symbol machine
# operands correctly.

--- |
  @__stack_chk_guard = external global i8*

  define i32 @test(i32 %n) #0 {
  entry:
    %StackGuardSlot = alloca i8*
    %StackGuard = load i8*, i8** @__stack_chk_guard
    call void @llvm.stackprotector(i8* %StackGuard, i8** %StackGuardSlot)
    %a = alloca [128 x i32], align 16
    %idxprom = sext i32 %n to i64
    %arrayidx = getelementptr inbounds [128 x i32], [128 x i32]* %a, i64 0, i64 %idxprom
    %0 = load i32, i32* %arrayidx, align 4
    call void @llvm.stackprotectorcheck(i8** @__stack_chk_guard)
    ret i32 %0
  }

  declare void @llvm.stackprotector(i8*, i8**) #1

  declare void @llvm.stackprotectorcheck(i8**) #1

  attributes #0 = { ssp "stack-protector-buffer-size"="8" }
  attributes #1 = { nounwind }

...
---
name:            test
tracksRegLiveness: true
body: |
  bb.0.entry:
    successors: %bb.1.entry, %bb.2.entry
    liveins: $edi

    $rsp = SUB64ri32 $rsp, 520, implicit-def $eflags
    $rcx = LOAD_STACK_GUARD
    MOV64mr $rsp, 1, _, 512, _, $rcx
    $rax = MOVSX64rr32 $edi
    $eax = MOV32rm $rsp, 4, $rax, 0, _
    CMP64rm $rcx, $rsp, 1, _, 512, _, implicit-def $eflags
    JNE_1 %bb.2.entry, implicit $eflags

  bb.1.entry:
    liveins: $eax

    $rsp = ADD64ri32 $rsp, 520, implicit-def $eflags
    RETQ $eax

  bb.2.entry:
    ; CHECK:      CALL64pcrel32 &__stack_chk_fail,
    ; CHECK-NEXT: CALL64pcrel32 &__stack_chk_fail.09-_,
    ; CHECK-NEXT: CALL64pcrel32 &"__stack_chk_fail$",
    ; CHECK-NEXT: CALL64pcrel32 &"$Quoted \09 External symbol \11 ",
    ; CHECK-NEXT: CALL64pcrel32 &__stack_chk_fail + 2,
    ; CHECK-NEXT: CALL64pcrel32 &" check stack - 20" - 20,
    CALL64pcrel32 &__stack_chk_fail, csr_64, implicit $rsp, implicit-def $rsp
    CALL64pcrel32 &__stack_chk_fail.09-_, csr_64, implicit $rsp, implicit-def $rsp
    CALL64pcrel32 &__stack_chk_fail$, csr_64, implicit $rsp, implicit-def $rsp
    CALL64pcrel32 &"$Quoted \09 External symbol \11 ", csr_64, implicit $rsp, implicit-def $rsp
    CALL64pcrel32 &__stack_chk_fail + 2, csr_64, implicit $rsp, implicit-def $rsp
    CALL64pcrel32 &" check stack - 20" - 20, csr_64, implicit $rsp, implicit-def $rsp
...
