| # RUN: llvm-mc -triple=wasm64-unknown-unknown < %s | FileCheck %s | 
 | # RUN: llvm-mc -triple=wasm64-unknown-unknown -filetype=obj -o %t.o < %s | 
 | # RUN: obj2yaml %t.o | FileCheck %s --check-prefix=CHECK-OBJ --match-full-lines | 
 |  | 
 | .globaltype __tls_base, i64 | 
 |  | 
 | tls_store: | 
 |   .functype tls_store (i32) -> () | 
 |   # CHECK: global.get __tls_base | 
 |   # CHECK-NEXT: i64.const tls1@TLSREL | 
 |   # CHECK-NEXT: i64.add | 
 |   # CHECK-NEXT: local.get 0 | 
 |   # CHECK-NEXT: i32.store 0 | 
 |   global.get __tls_base | 
 |   i64.const tls1@TLSREL | 
 |   i64.add | 
 |   local.get 0 | 
 |   i32.store 0 | 
 |   end_function | 
 |  | 
 | .section .tls.foo,"T",@ | 
 | # CHECK: .tls.foo,"T",@ | 
 | tls1: | 
 |   .int32 42 | 
 |   .size tls1, 4 | 
 |  | 
 | .section custom_tls,"T",@ | 
 | # CHECK: custom_tls,"T",@ | 
 | tls2: | 
 |   .int32 43 | 
 |   .size tls2, 4 | 
 |  | 
 | #      CHECK-OBJ:  - Type:            CODE | 
 | # CHECK-OBJ-NEXT:    Relocations: | 
 | # CHECK-OBJ-NEXT:      - Type:            R_WASM_GLOBAL_INDEX_LEB | 
 | # CHECK-OBJ-NEXT:        Index:           1 | 
 | # CHECK-OBJ-NEXT:        Offset:          0x4 | 
 | # CHECK-OBJ-NEXT:      - Type:            R_WASM_MEMORY_ADDR_TLS_SLEB64 | 
 | # CHECK-OBJ-NEXT:        Index:           2 | 
 | # CHECK-OBJ-NEXT:        Offset:          0xA | 
 |  | 
 | #      CHECK-OBJ:  - Type:            CUSTOM | 
 | # CHECK-OBJ-NEXT:    Name:            linking | 
 | # CHECK-OBJ-NEXT:    Version:         2 | 
 | # CHECK-OBJ-NEXT:    SymbolTable: | 
 | # CHECK-OBJ-NEXT:      - Index:           0 | 
 | # CHECK-OBJ-NEXT:        Kind:            FUNCTION | 
 | # CHECK-OBJ-NEXT:        Name:            tls_store | 
 | # CHECK-OBJ-NEXT:        Flags:           [ BINDING_LOCAL ] | 
 | # CHECK-OBJ-NEXT:        Function:        0 | 
 | # CHECK-OBJ-NEXT:      - Index:           1 | 
 | # CHECK-OBJ-NEXT:        Kind:            GLOBAL | 
 | # CHECK-OBJ-NEXT:        Name:            __tls_base | 
 | # CHECK-OBJ-NEXT:        Flags:           [ UNDEFINED ] | 
 | # CHECK-OBJ-NEXT:        Global:          0 | 
 | # CHECK-OBJ-NEXT:      - Index:           2 | 
 | # CHECK-OBJ-NEXT:        Kind:            DATA | 
 | # CHECK-OBJ-NEXT:        Name:            tls1 | 
 | # CHECK-OBJ-NEXT:        Flags:           [ BINDING_LOCAL, TLS ] | 
 | # CHECK-OBJ-NEXT:        Segment:         0 | 
 | # CHECK-OBJ-NEXT:        Size:            4 | 
 | # CHECK-OBJ-NEXT:      - Index:           3 | 
 | # CHECK-OBJ-NEXT:        Kind:            DATA | 
 | # CHECK-OBJ-NEXT:        Name:            tls2 | 
 | # CHECK-OBJ-NEXT:        Flags:           [ BINDING_LOCAL, TLS ] | 
 | # CHECK-OBJ-NEXT:        Segment:         1 | 
 | # CHECK-OBJ-NEXT:        Size:            4 | 
 | # CHECK-OBJ-NEXT:    SegmentInfo: | 
 | # CHECK-OBJ-NEXT:      - Index:           0 | 
 | # CHECK-OBJ-NEXT:        Name:            .tls.foo | 
 | # CHECK-OBJ-NEXT:        Alignment:       0 | 
 | # CHECK-OBJ-NEXT:        Flags:           [ TLS ] | 
 | # CHECK-OBJ-NEXT:      - Index:           1 | 
 | # CHECK-OBJ-NEXT:        Name:            custom_tls | 
 | # CHECK-OBJ-NEXT:        Alignment:       0 | 
 | # CHECK-OBJ-NEXT:        Flags:           [ TLS ] |