; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
; Check that -mgpopt doesn't crash on unsized externals
; RUN: llc -mtriple=mips64-unknown-freebsd -mattr=+noabicalls -target-abi n64 -mgpopt -o - %s | FileCheck %s

%struct.a = type opaque

@b = external global %struct.a, align 1

; Function Attrs: norecurse nounwind readnone
define %struct.a* @d() {
; CHECK-LABEL: d:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    lui $1, %highest(b)
; CHECK-NEXT:    daddiu $1, $1, %higher(b)
; CHECK-NEXT:    dsll $1, $1, 16
; CHECK-NEXT:    daddiu $1, $1, %hi(b)
; CHECK-NEXT:    dsll $1, $1, 16
; CHECK-NEXT:    jr $ra
; CHECK-NEXT:    daddiu $2, $1, %lo(b)
entry:
  ret %struct.a* @b
}
