brintos

brintos / llvm-project-archived public Read only

0
0
Text · 10.8 KiB · a28c2f2 Raw
260 lines · plain
1; RUN: llc -verify-machineinstrs -mcpu=pwr4 -mattr=-altivec -mtriple powerpc-ibm-aix-xcoff \2; RUN:     -xcoff-traceback-table=false < %s | FileCheck %s3; RUN: llc -verify-machineinstrs -mcpu=pwr4 -mattr=-altivec -mtriple powerpc64-ibm-aix-xcoff \4; RUN:     -xcoff-traceback-table=false < %s | FileCheck %s5; RUN: llc -verify-machineinstrs -mcpu=pwr4 -mattr=-altivec -mtriple powerpc-ibm-aix-xcoff \6; RUN:     -xcoff-traceback-table=false -filetype=obj -o %t.o < %s7; RUN: llvm-objdump -D --symbol-description %t.o | FileCheck --check-prefix=CHECKOBJ %s8; RUN: llvm-readobj -s %t.o | FileCheck --check-prefix=CHECKSYM %s9 10@ext_const = constant i32 1, section ".ext_const_sec", align 411@ext_var = global i32 1, section ".ext_var_sec", align 412@ext_zvar = global i32 0, section ".ext_zvar_sec", align 413 14define dso_local signext i32 @ext_fun() section ".ext_fun_sec" {15entry:16  %0 = load i32, ptr @ext_const, align 417  %1 = load i32, ptr @ext_var, align 418  %add = add nsw i32 %0, %119  %2 = load i32, ptr @ext_zvar, align 420  %add1 = add nsw i32 %add, %221  ret i32 %add122}23 24; CHECK:              .globl  ext_fun[DS]                     # -- Begin function ext_fun25; CHECK-NEXT:         .globl  .ext_fun26; CHECK-NEXT:         .align  427; CHECK-NEXT:         .csect ext_fun[DS]28; CHECK:              .csect .ext_fun_sec[PR],529; CHECK-NEXT: .ext_fun:30; CHECK:              .csect .ext_const_sec[RO],231; CHECK-NEXT:         .globl  ext_const32; CHECK-NEXT:         .align  233; CHECK-NEXT: ext_const:34; CHECK-NEXT:         .vbyte  4, 1                            # 0x135; CHECK-NEXT:         .csect .ext_var_sec[RW],236; CHECK-NEXT:         .globl  ext_var37; CHECK-NEXT:         .align  238; CHECK-NEXT: ext_var:39; CHECK-NEXT:         .vbyte  4, 1                            # 0x140; CHECK-NEXT:         .csect .ext_zvar_sec[RW],241; CHECK-NEXT:         .globl  ext_zvar42; CHECK-NEXT:         .align  243; CHECK-NEXT: ext_zvar:44; CHECK-NEXT:         .vbyte  4, 0                            # 0x045; CHECK-NEXT:         .toc46; CHECK-NEXT: L..C0:47; CHECK-NEXT:         .tc ext_var[TC],ext_var48; CHECK-NEXT: L..C1:49; CHECK-NEXT:         .tc ext_zvar[TC],ext_zvar50 51; CHECKOBJ:        00000000 (idx: [[#INDX:]]) .ext_fun:52; CHECKOBJ-NEXT:          0: 80 62 00 00   lwz 3, 0(2)53; CHECKOBJ-NEXT:          4: 80 82 00 04   lwz 4, 4(2)54; CHECKOBJ-NEXT:          8: 80 63 00 00   lwz 3, 0(3)55; CHECKOBJ-NEXT:          c: 80 84 00 00   lwz 4, 0(4)56; CHECKOBJ-NEXT:         10: 7c 63 22 14   add 3, 3, 457; CHECKOBJ-NEXT:         14: 38 63 00 01   addi 3, 3, 158; CHECKOBJ-NEXT:         18: 4e 80 00 20   blr59; CHECKOBJ-EMPTY:60; CHECKOBJ-NEXT:   0000001c (idx: [[#INDX+4]]) ext_const:61; CHECKOBJ-NEXT:         1c: 00 00 00 01   <unknown>62; CHECKOBJ-EMPTY:63; CHECKOBJ-NEXT:   Disassembly of section .data:64; CHECKOBJ-EMPTY:65; CHECKOBJ-NEXT:   00000020 (idx: [[#INDX+8]]) ext_var:66; CHECKOBJ-NEXT:         20: 00 00 00 01   <unknown>67; CHECKOBJ-EMPTY:68; CHECKOBJ-NEXT:   00000024 (idx: [[#INDX+12]]) ext_zvar:69; CHECKOBJ-NEXT:         24: 00 00 00 00   <unknown>70; CHECKOBJ-EMPTY:71; CHECKOBJ-NEXT:   00000028 (idx: [[#INDX+14]]) ext_fun[DS]:72; CHECKOBJ-NEXT:         28: 00 00 00 00   <unknown>73; CHECKOBJ-NEXT:         2c: 00 00 00 34   <unknown>74; CHECKOBJ-NEXT:         30: 00 00 00 00   <unknown>75; CHECKOBJ-EMPTY:76; CHECKOBJ-NEXT:   00000034 (idx: [[#INDX+18]]) ext_var[TC]:77; CHECKOBJ-NEXT:         34: 00 00 00 20   <unknown>78; CHECKOBJ-EMPTY:79; CHECKOBJ-NEXT:   00000038 (idx: [[#INDX+20]]) ext_zvar[TC]:80; CHECKOBJ-NEXT:         38: 00 00 00 24   <unknown>81 82; CHECKSYM:       Symbol {{[{][[:space:]] *}}Index: [[#INDX:]]{{[[:space:]] *}}Name: .ext_fun_sec83; CHECKSYM-NEXT:      Value (RelocatableAddress): 0x084; CHECKSYM-NEXT:      Section: .text85; CHECKSYM-NEXT:      Type: 0x086; CHECKSYM-NEXT:      StorageClass: C_HIDEXT (0x6B)87; CHECKSYM-NEXT:      NumberOfAuxEntries: 188; CHECKSYM-NEXT:      CSECT Auxiliary Entry {89; CHECKSYM-NEXT:        Index: [[#INDX+1]]90; CHECKSYM-NEXT:        SectionLen: 2891; CHECKSYM-NEXT:        ParameterHashIndex: 0x092; CHECKSYM-NEXT:        TypeChkSectNum: 0x093; CHECKSYM-NEXT:        SymbolAlignmentLog2: 594; CHECKSYM-NEXT:        SymbolType: XTY_SD (0x1)95; CHECKSYM-NEXT:        StorageMappingClass: XMC_PR (0x0)96; CHECKSYM-NEXT:        StabInfoIndex: 0x097; CHECKSYM-NEXT:        StabSectNum: 0x098; CHECKSYM-NEXT:      }99; CHECKSYM-NEXT:    }100; CHECKSYM-NEXT:    Symbol {101; CHECKSYM-NEXT:      Index: [[#INDX+2]]102; CHECKSYM-NEXT:      Name: .ext_fun103; CHECKSYM-NEXT:      Value (RelocatableAddress): 0x0104; CHECKSYM-NEXT:      Section: .text105; CHECKSYM-NEXT:      Type: 0x0106; CHECKSYM-NEXT:      StorageClass: C_EXT (0x2)107; CHECKSYM-NEXT:      NumberOfAuxEntries: 1108; CHECKSYM-NEXT:      CSECT Auxiliary Entry {109; CHECKSYM-NEXT:        Index: [[#INDX+3]]110; CHECKSYM-NEXT:        ContainingCsectSymbolIndex: [[#INDX]]111; CHECKSYM-NEXT:        ParameterHashIndex: 0x0112; CHECKSYM-NEXT:        TypeChkSectNum: 0x0113; CHECKSYM-NEXT:        SymbolAlignmentLog2: 0114; CHECKSYM-NEXT:        SymbolType: XTY_LD (0x2)115; CHECKSYM-NEXT:        StorageMappingClass: XMC_PR (0x0)116; CHECKSYM-NEXT:        StabInfoIndex: 0x0117; CHECKSYM-NEXT:        StabSectNum: 0x0118; CHECKSYM-NEXT:      }119; CHECKSYM-NEXT:    }120; CHECKSYM-NEXT:    Symbol {121; CHECKSYM-NEXT:      Index: [[#INDX+4]]122; CHECKSYM-NEXT:      Name: .ext_const_sec123; CHECKSYM-NEXT:      Value (RelocatableAddress): 0x1C124; CHECKSYM-NEXT:      Section: .text125; CHECKSYM-NEXT:      Type: 0x0126; CHECKSYM-NEXT:      StorageClass: C_HIDEXT (0x6B)127; CHECKSYM-NEXT:      NumberOfAuxEntries: 1128; CHECKSYM-NEXT:      CSECT Auxiliary Entry {129; CHECKSYM-NEXT:        Index: [[#INDX+5]]130; CHECKSYM-NEXT:        SectionLen: 4131; CHECKSYM-NEXT:        ParameterHashIndex: 0x0132; CHECKSYM-NEXT:        TypeChkSectNum: 0x0133; CHECKSYM-NEXT:        SymbolAlignmentLog2: 2134; CHECKSYM-NEXT:        SymbolType: XTY_SD (0x1)135; CHECKSYM-NEXT:        StorageMappingClass: XMC_RO (0x1)136; CHECKSYM-NEXT:        StabInfoIndex: 0x0137; CHECKSYM-NEXT:        StabSectNum: 0x0138; CHECKSYM-NEXT:      }139; CHECKSYM-NEXT:    }140; CHECKSYM-NEXT:    Symbol {141; CHECKSYM-NEXT:      Index: [[#INDX+6]]142; CHECKSYM-NEXT:      Name: ext_const143; CHECKSYM-NEXT:      Value (RelocatableAddress): 0x1C144; CHECKSYM-NEXT:      Section: .text145; CHECKSYM-NEXT:      Type: 0x0146; CHECKSYM-NEXT:      StorageClass: C_EXT (0x2)147; CHECKSYM-NEXT:      NumberOfAuxEntries: 1148; CHECKSYM-NEXT:      CSECT Auxiliary Entry {149; CHECKSYM-NEXT:        Index: [[#INDX+7]]150; CHECKSYM-NEXT:        ContainingCsectSymbolIndex: [[#INDX+4]]151; CHECKSYM-NEXT:        ParameterHashIndex: 0x0152; CHECKSYM-NEXT:        TypeChkSectNum: 0x0153; CHECKSYM-NEXT:        SymbolAlignmentLog2: 0154; CHECKSYM-NEXT:        SymbolType: XTY_LD (0x2)155; CHECKSYM-NEXT:        StorageMappingClass: XMC_RO (0x1)156; CHECKSYM-NEXT:        StabInfoIndex: 0x0157; CHECKSYM-NEXT:        StabSectNum: 0x0158; CHECKSYM-NEXT:      }159; CHECKSYM-NEXT:    }160; CHECKSYM-NEXT:    Symbol {161; CHECKSYM-NEXT:      Index: [[#INDX+8]]162; CHECKSYM-NEXT:      Name: .ext_var_sec163; CHECKSYM-NEXT:      Value (RelocatableAddress): 0x20164; CHECKSYM-NEXT:      Section: .data165; CHECKSYM-NEXT:      Type: 0x0166; CHECKSYM-NEXT:      StorageClass: C_HIDEXT (0x6B)167; CHECKSYM-NEXT:      NumberOfAuxEntries: 1168; CHECKSYM-NEXT:      CSECT Auxiliary Entry {169; CHECKSYM-NEXT:        Index: [[#INDX+9]]170; CHECKSYM-NEXT:        SectionLen: 4171; CHECKSYM-NEXT:        ParameterHashIndex: 0x0172; CHECKSYM-NEXT:        TypeChkSectNum: 0x0173; CHECKSYM-NEXT:        SymbolAlignmentLog2: 2174; CHECKSYM-NEXT:        SymbolType: XTY_SD (0x1)175; CHECKSYM-NEXT:        StorageMappingClass: XMC_RW (0x5)176; CHECKSYM-NEXT:        StabInfoIndex: 0x0177; CHECKSYM-NEXT:        StabSectNum: 0x0178; CHECKSYM-NEXT:      }179; CHECKSYM-NEXT:    }180; CHECKSYM-NEXT:    Symbol {181; CHECKSYM-NEXT:      Index: [[#INDX+10]]182; CHECKSYM-NEXT:      Name: ext_var183; CHECKSYM-NEXT:      Value (RelocatableAddress): 0x20184; CHECKSYM-NEXT:      Section: .data185; CHECKSYM-NEXT:      Type: 0x0186; CHECKSYM-NEXT:      StorageClass: C_EXT (0x2)187; CHECKSYM-NEXT:      NumberOfAuxEntries: 1188; CHECKSYM-NEXT:      CSECT Auxiliary Entry {189; CHECKSYM-NEXT:        Index: [[#INDX+11]]190; CHECKSYM-NEXT:        ContainingCsectSymbolIndex: [[#INDX+8]]191; CHECKSYM-NEXT:        ParameterHashIndex: 0x0192; CHECKSYM-NEXT:        TypeChkSectNum: 0x0193; CHECKSYM-NEXT:        SymbolAlignmentLog2: 0194; CHECKSYM-NEXT:        SymbolType: XTY_LD (0x2)195; CHECKSYM-NEXT:        StorageMappingClass: XMC_RW (0x5)196; CHECKSYM-NEXT:        StabInfoIndex: 0x0197; CHECKSYM-NEXT:        StabSectNum: 0x0198; CHECKSYM-NEXT:      }199; CHECKSYM-NEXT:    }200; CHECKSYM-NEXT:    Symbol {201; CHECKSYM-NEXT:      Index: [[#INDX+12]]202; CHECKSYM-NEXT:      Name: .ext_zvar_sec203; CHECKSYM-NEXT:      Value (RelocatableAddress): 0x24204; CHECKSYM-NEXT:      Section: .data205; CHECKSYM-NEXT:      Type: 0x0206; CHECKSYM-NEXT:      StorageClass: C_HIDEXT (0x6B)207; CHECKSYM-NEXT:      NumberOfAuxEntries: 1208; CHECKSYM-NEXT:      CSECT Auxiliary Entry {209; CHECKSYM-NEXT:        Index: [[#INDX+13]]210; CHECKSYM-NEXT:        SectionLen: 4211; CHECKSYM-NEXT:        ParameterHashIndex: 0x0212; CHECKSYM-NEXT:        TypeChkSectNum: 0x0213; CHECKSYM-NEXT:        SymbolAlignmentLog2: 2214; CHECKSYM-NEXT:        SymbolType: XTY_SD (0x1)215; CHECKSYM-NEXT:        StorageMappingClass: XMC_RW (0x5)216; CHECKSYM-NEXT:        StabInfoIndex: 0x0217; CHECKSYM-NEXT:        StabSectNum: 0x0218; CHECKSYM-NEXT:      }219; CHECKSYM-NEXT:    }220; CHECKSYM-NEXT:    Symbol {221; CHECKSYM-NEXT:      Index: [[#INDX+14]]222; CHECKSYM-NEXT:      Name: ext_zvar223; CHECKSYM-NEXT:      Value (RelocatableAddress): 0x24224; CHECKSYM-NEXT:      Section: .data225; CHECKSYM-NEXT:      Type: 0x0226; CHECKSYM-NEXT:      StorageClass: C_EXT (0x2)227; CHECKSYM-NEXT:      NumberOfAuxEntries: 1228; CHECKSYM-NEXT:      CSECT Auxiliary Entry {229; CHECKSYM-NEXT:        Index: [[#INDX+15]]230; CHECKSYM-NEXT:        ContainingCsectSymbolIndex: [[#INDX+12]]231; CHECKSYM-NEXT:        ParameterHashIndex: 0x0232; CHECKSYM-NEXT:        TypeChkSectNum: 0x0233; CHECKSYM-NEXT:        SymbolAlignmentLog2: 0234; CHECKSYM-NEXT:        SymbolType: XTY_LD (0x2)235; CHECKSYM-NEXT:        StorageMappingClass: XMC_RW (0x5)236; CHECKSYM-NEXT:        StabInfoIndex: 0x0237; CHECKSYM-NEXT:        StabSectNum: 0x0238; CHECKSYM-NEXT:      }239; CHECKSYM-NEXT:    }240; CHECKSYM-NEXT:    Symbol {241; CHECKSYM-NEXT:      Index: [[#INDX+16]]242; CHECKSYM-NEXT:      Name: ext_fun243; CHECKSYM-NEXT:      Value (RelocatableAddress): 0x28244; CHECKSYM-NEXT:      Section: .data245; CHECKSYM-NEXT:      Type: 0x0246; CHECKSYM-NEXT:      StorageClass: C_EXT (0x2)247; CHECKSYM-NEXT:      NumberOfAuxEntries: 1248; CHECKSYM-NEXT:      CSECT Auxiliary Entry {249; CHECKSYM-NEXT:        Index: [[#INDX+17]]250; CHECKSYM-NEXT:        SectionLen: 12251; CHECKSYM-NEXT:        ParameterHashIndex: 0x0252; CHECKSYM-NEXT:        TypeChkSectNum: 0x0253; CHECKSYM-NEXT:        SymbolAlignmentLog2: 2254; CHECKSYM-NEXT:        SymbolType: XTY_SD (0x1)255; CHECKSYM-NEXT:        StorageMappingClass: XMC_DS (0xA)256; CHECKSYM-NEXT:        StabInfoIndex: 0x0257; CHECKSYM-NEXT:        StabSectNum: 0x0258; CHECKSYM-NEXT:      }259; CHECKSYM-NEXT:    }260