1; RUN: llc -verify-machineinstrs -mtriple powerpc-ibm-aix-xcoff -mcpu=pwr4 \
2; RUN:     -mattr=-altivec < %s | \
3; RUN:   FileCheck %s
4
5; RUN: llc -verify-machineinstrs -mtriple powerpc64-ibm-aix-xcoff -mcpu=pwr4 \
6; RUN:     -mattr=-altivec < %s | \
7; RUN:   FileCheck %s
8
9; RUN: llc -verify-machineinstrs -mtriple powerpc-ibm-aix-xcoff -mcpu=pwr4 \
10; RUN:     -mattr=-altivec -filetype=obj -o %t.o < %s
11; RUN: llvm-readobj --symbols %t.o | \
12; RUN:   FileCheck --check-prefix=XCOFF32 %s
13
14; RUN: not --crash llc -verify-machineinstrs -mtriple powerpc64-ibm-aix-xcoff \
15; RUN:     -mcpu=pwr4 -mattr=-altivec -filetype=obj -o %t.o 2>&1 < %s | \
16; RUN:   FileCheck --check-prefix=XCOFF64 %s
17; XCOFF64: LLVM ERROR: 64-bit XCOFF object files are not supported yet.
18
19@_ZN3Foo1aE = available_externally constant i32 -1
20
21; CHECK: .extern  _ZN3Foo1aE[UA]
22
23; XCOFF32:          Index: [[#Index:]]{{.*}}{{[[:space:]] *}}Name: _ZN3Foo1aE
24; XCOFF32-NEXT:     Value (RelocatableAddress): 0x0
25; XCOFF32-NEXT:     Section: N_UNDEF
26; XCOFF32-NEXT:     Type: 0x0
27; XCOFF32-NEXT:     StorageClass: C_EXT (0x2)
28; XCOFF32-NEXT:     NumberOfAuxEntries: 1
29; XCOFF32-NEXT:     CSECT Auxiliary Entry {
30; XCOFF32-NEXT:       Index: [[#Index+1]]
31; XCOFF32-NEXT:       SectionLen: 0
32; XCOFF32-NEXT:       ParameterHashIndex: 0x0
33; XCOFF32-NEXT:       TypeChkSectNum: 0x0
34; XCOFF32-NEXT:       SymbolAlignmentLog2: 0
35; XCOFF32-NEXT:       SymbolType: XTY_ER (0x0)
36; XCOFF32-NEXT:       StorageMappingClass: XMC_UA (0x4)
37; XCOFF32-NEXT:       StabInfoIndex: 0x0
38; XCOFF32-NEXT:       StabSectNum: 0x0
39; XCOFF32-NEXT:     }
40