brintos

brintos / llvm-project-archived public Read only

0
0
Text · 6.7 KiB · e49aeef Raw
196 lines · plain
1; RUN: llc -mcpu=ppc -mtriple powerpc-ibm-aix-xcoff < %s | FileCheck %s --check-prefix CHECK2; RUN: llc -mcpu=ppc -mtriple powerpc64-ibm-aix-xcoff < %s | FileCheck %s --check-prefix CHECK3 4; RUN: llc -filetype=obj  -mcpu=ppc -mtriple powerpc-ibm-aix-xcoff -verify-machineinstrs < %s -o %t32.o5; RUN: llvm-readobj %t32.o --syms --relocs | FileCheck %s -D#NFA=2 --check-prefix=OBJ326; RUN: llvm-objdump %t32.o -dr | FileCheck %s --check-prefix=DIS327 8; RUN: llc -filetype=obj -mcpu=ppc64 -mtriple powerpc64-ibm-aix-xcoff -verify-machineinstrs < %s -o %t64.o9; RUN: llvm-readobj %t64.o --syms --relocs | FileCheck %s -D#NFA=2 --check-prefix=OBJ6410; RUN: llvm-objdump %t64.o -dr | FileCheck %s --check-prefix=DIS6411 12@i1 = external constant i32 #013@i2 = constant ptr @i1 #014 15define i32 @read() {16  %1  = load i32, ptr @i1, align 417  ret i32 %118}19 20define ptr @retptr() {21  ret ptr @i222}23 24attributes #0 = { "toc-data" }25 26; CHECK:       .read:27; CHECK:        la 3, i1[TD](2)28 29; CHECK:       .retptr:30; CHECK:        la 3, i2[TD](2)31 32; CHECK-DAG:   .toc33; CHECK:         .extern i1[TD]34; CHECK:         .csect i2[TD]35 36; OBJ32:      Relocations [37; OBJ32-NEXT:   Section (index: 1) .text {38; OBJ32-NEXT:     0x2 R_TOC i1([[#NFA+1]]) 0xF39; OBJ32-NEXT:     0x26 R_TOC i2([[#NFA+15]]) 0xF40; OBJ32-NEXT:   }41; OBJ32-NEXT:   Section (index: 2) .data {42; OBJ32-NEXT:     0x44 R_POS .read([[#NFA+5]]) 0x1F43; OBJ32-NEXT:     0x48 R_POS TOC([[#NFA+13]]) 0x1F44; OBJ32-NEXT:     0x50 R_POS .retptr([[#NFA+7]]) 0x1F45; OBJ32-NEXT:     0x54 R_POS TOC([[#NFA+13]]) 0x1F46; OBJ32-NEXT:     0x5C R_POS i1([[#NFA+1]]) 0x1F47; OBJ32-NEXT:   }48; OBJ32-NEXT: ]49 50; OBJ32:      Symbol {51; OBJ32:        Index: [[#NFA+1]]52; OBJ32-NEXT:   Name: i153; OBJ32-NEXT:   Value (RelocatableAddress): 0x054; OBJ32-NEXT:   Section: N_UNDEF55; OBJ32-NEXT:   Type: 0x056; OBJ32-NEXT:   StorageClass: C_EXT (0x2)57; OBJ32-NEXT:   NumberOfAuxEntries: 158; OBJ32-NEXT:   CSECT Auxiliary Entry {59; OBJ32-NEXT:     Index: [[#NFA+2]]60; OBJ32-NEXT:     SectionLen: 061; OBJ32-NEXT:     ParameterHashIndex: 0x062; OBJ32-NEXT:     TypeChkSectNum: 0x063; OBJ32-NEXT:     SymbolAlignmentLog2: 064; OBJ32-NEXT:     SymbolType: XTY_ER (0x0)65; OBJ32-NEXT:     StorageMappingClass: XMC_TD (0x10)66; OBJ32-NEXT:     StabInfoIndex: 0x067; OBJ32-NEXT:     StabSectNum: 0x068; OBJ32-NEXT:   }69; OBJ32-NEXT: }70; OBJ32:      Symbol {71; OBJ32:        Index: [[#NFA+13]]72; OBJ32-NEXT:   Name: TOC73; OBJ32-NEXT:   Value (RelocatableAddress): 0x5C74; OBJ32-NEXT:   Section: .data75; OBJ32-NEXT:   Type: 0x076; OBJ32-NEXT:   StorageClass: C_HIDEXT (0x6B)77; OBJ32-NEXT:   NumberOfAuxEntries: 178; OBJ32-NEXT:   CSECT Auxiliary Entry {79; OBJ32-NEXT:     Index: [[#NFA+14]]80; OBJ32-NEXT:     SectionLen: 081; OBJ32-NEXT:     ParameterHashIndex: 0x082; OBJ32-NEXT:     TypeChkSectNum: 0x083; OBJ32-NEXT:     SymbolAlignmentLog2: 284; OBJ32-NEXT:     SymbolType: XTY_SD (0x1)85; OBJ32-NEXT:     StorageMappingClass: XMC_TC0 (0xF)86; OBJ32-NEXT:     StabInfoIndex: 0x087; OBJ32-NEXT:     StabSectNum: 0x088; OBJ32-NEXT:   }89; OBJ32-NEXT: }90; OBJ32:      Symbol {91; OBJ32:        Index: [[#NFA+15]]92; OBJ32-NEXT:   Name: i293; OBJ32-NEXT:   Value (RelocatableAddress): 0x5C94; OBJ32-NEXT:   Section: .data95; OBJ32-NEXT:   Type: 0x096; OBJ32-NEXT:   StorageClass: C_EXT (0x2)97; OBJ32-NEXT:   NumberOfAuxEntries: 198; OBJ32-NEXT:   CSECT Auxiliary Entry {99; OBJ32-NEXT:     Index: [[#NFA+16]]100; OBJ32-NEXT:     SectionLen: 4101; OBJ32-NEXT:     ParameterHashIndex: 0x0102; OBJ32-NEXT:     TypeChkSectNum: 0x0103; OBJ32-NEXT:     SymbolAlignmentLog2: 2104; OBJ32-NEXT:     SymbolType: XTY_SD (0x1)105; OBJ32-NEXT:     StorageMappingClass: XMC_TD (0x10)106; OBJ32-NEXT:     StabInfoIndex: 0x0107; OBJ32-NEXT:     StabSectNum: 0x0108; OBJ32-NEXT:   }109; OBJ32-NEXT: }110 111; OBJ64:      Relocations [112; OBJ64-NEXT:   Section (index: 1) .text {113; OBJ64-NEXT:     0x2 R_TOC i1([[#NFA+1]]) 0xF114; OBJ64-NEXT:     0x26 R_TOC i2([[#NFA+15]]) 0xF115; OBJ64-NEXT:   }116; OBJ64-NEXT:   Section (index: 2) .data {117; OBJ64-NEXT:     0x48 R_POS .read([[#NFA+5]]) 0x3F118; OBJ64-NEXT:     0x50 R_POS TOC([[#NFA+13]]) 0x3F119; OBJ64-NEXT:     0x60 R_POS .retptr([[#NFA+7]]) 0x3F120; OBJ64-NEXT:     0x68 R_POS TOC([[#NFA+13]]) 0x3F121; OBJ64-NEXT:     0x78 R_POS i1([[#NFA+1]]) 0x3F122; OBJ64-NEXT:   }123; OBJ64-NEXT: ]124 125; OBJ64:      Symbol {126; OBJ64:        Index: [[#NFA+1]]127; OBJ64-NEXT:   Name: i1128; OBJ64-NEXT:   Value (RelocatableAddress): 0x0129; OBJ64-NEXT:   Section: N_UNDEF130; OBJ64-NEXT:   Type: 0x0131; OBJ64-NEXT:   StorageClass: C_EXT (0x2)132; OBJ64-NEXT:   NumberOfAuxEntries: 1133; OBJ64-NEXT:   CSECT Auxiliary Entry {134; OBJ64-NEXT:     Index: [[#NFA+2]]135; OBJ64-NEXT:     SectionLen: 0136; OBJ64-NEXT:     ParameterHashIndex: 0x0137; OBJ64-NEXT:     TypeChkSectNum: 0x0138; OBJ64-NEXT:     SymbolAlignmentLog2: 0139; OBJ64-NEXT:     SymbolType: XTY_ER (0x0)140; OBJ64-NEXT:     StorageMappingClass: XMC_TD (0x10)141; OBJ64-NEXT:     Auxiliary Type: AUX_CSECT (0xFB)142; OBJ64-NEXT:   }143; OBJ64-NEXT: }144; OBJ64:      Symbol {145; OBJ64:        Index: [[#NFA+13]]146; OBJ64-NEXT:   Name: TOC147; OBJ64-NEXT:   Value (RelocatableAddress): 0x78148; OBJ64-NEXT:   Section: .data149; OBJ64-NEXT:   Type: 0x0150; OBJ64-NEXT:   StorageClass: C_HIDEXT (0x6B)151; OBJ64-NEXT:   NumberOfAuxEntries: 1152; OBJ64-NEXT:   CSECT Auxiliary Entry {153; OBJ64-NEXT:     Index: [[#NFA+14]]154; OBJ64-NEXT:     SectionLen: 0155; OBJ64-NEXT:     ParameterHashIndex: 0x0156; OBJ64-NEXT:     TypeChkSectNum: 0x0157; OBJ64-NEXT:     SymbolAlignmentLog2: 2158; OBJ64-NEXT:     SymbolType: XTY_SD (0x1)159; OBJ64-NEXT:     StorageMappingClass: XMC_TC0 (0xF)160; OBJ64-NEXT:     Auxiliary Type: AUX_CSECT (0xFB)161; OBJ64-NEXT:   }162; OBJ64-NEXT: }163; OBJ64:      Symbol {164; OBJ64:        Index: [[#NFA+15]]165; OBJ64-NEXT:   Name: i2166; OBJ64-NEXT:   Value (RelocatableAddress): 0x78167; OBJ64-NEXT:   Section: .data168; OBJ64-NEXT:   Type: 0x0169; OBJ64-NEXT:   StorageClass: C_EXT (0x2)170; OBJ64-NEXT:   NumberOfAuxEntries: 1171; OBJ64-NEXT:   CSECT Auxiliary Entry {172; OBJ64-NEXT:     Index: [[#NFA+16]]173; OBJ64-NEXT:     SectionLen: 8174; OBJ64-NEXT:     ParameterHashIndex: 0x0175; OBJ64-NEXT:     TypeChkSectNum: 0x0176; OBJ64-NEXT:     SymbolAlignmentLog2: 3177; OBJ64-NEXT:     SymbolType: XTY_SD (0x1)178; OBJ64-NEXT:     StorageMappingClass: XMC_TD (0x10)179; OBJ64-NEXT:     Auxiliary Type: AUX_CSECT (0xFB)180; OBJ64-NEXT:   }181; OBJ64-NEXT: }182 183; DIS32:      00000000 <.read>:184; DIS32-NEXT:        0: 38 62 00 00  	addi 3, 2, 0185; DIS32-NEXT:                         00000002:  R_TOC	i1186; DIS32:      00000024 <.retptr>:187; DIS32-NEXT:       24: 38 62 00 00  	addi 3, 2, 0188; DIS32-NEXT:                         00000026:  R_TOC	i2189 190; DIS64:      0000000000000000 <.read>:191; DIS64-NEXT:        0: 38 62 00 00  	addi 3, 2, 0192; DIS64-NEXT:                         0000000000000002:  R_TOC	i1193; DIS64:      0000000000000024 <.retptr>:194; DIS64-NEXT:       24: 38 62 00 00  	addi 3, 2, 0195; DIS64-NEXT:                         0000000000000026:  R_TOC	i2196