 func plusOneP1() -> P1 {}
 
 // CHECK-LABEL: sil hidden @_TF19protocol_extensions38test_open_existential_semantics_opaqueFTPS_2P1_PS0___T_
-// GUARANTEED-LABEL: sil hidden @_TF19protocol_extensions38test_open_existential_semantics_opaqueFTPS_2P1_PS0___T_
 func test_open_existential_semantics_opaque(guaranteed: P1,
                                             var immediate: P1) {
   // CHECK: [[IMMEDIATE_BOX:%.*]] = alloc_box $P1
-  // GUARANTEED: [[IMMEDIATE_BOX:%.*]] = alloc_box $P1
-
   // CHECK: [[VALUE:%.*]] = open_existential_addr %0
   // CHECK: [[METHOD:%.*]] = function_ref
   // CHECK: apply [[METHOD]]<{{.*}}>([[VALUE]])
 
-  // GUARANTEED: [[VALUE:%.*]] = open_existential_addr %0
-  // GUARANTEED: [[METHOD:%.*]] = function_ref
-  // GUARANTEED: apply [[METHOD]]<{{.*}}>([[VALUE]])
   guaranteed.f1()
   
   // -- Need a guaranteed copy because it's immutable

  // CHECK: apply [[METHOD]]<{{.*}}>([[VALUE]])
  // CHECK-NOT: strong_release [[VALUE]]
  // CHECK-NOT: strong_release %0

  // GUARANTEED-NOT: strong_retain %0
  // GUARANTEED: [[VALUE:%.*]] = open_existential_ref %0
  // GUARANTEED: [[METHOD:%.*]] = function_ref
  // GUARANTEED: apply [[METHOD]]<{{.*}}>([[VALUE]])
  // GUARANTEED-NOT: strong_release [[VALUE]]
  // GUARANTEED-NOT: strong_release %0
  guaranteed.f1()

  // CHECK: [[IMMEDIATE:%.*]] = load [[IMMEDIATE_BOX]]

  // CHECK: apply [[METHOD]]<{{.*}}>([[VALUE]])
  // CHECK: deinit_existential_addr [[IMMEDIATE]]
  // CHECK: dealloc_stack [[IMMEDIATE]]
  immediate.f1()

  // CHECK: [[PLUS_ONE:%.*]] = alloc_stack $P1
