# 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
...
