brintos

brintos / llvm-project-archived public Read only

0
0
Text · 12.7 KiB · 19c623c Raw
338 lines · plain
1; RUN: llc -verify-machineinstrs -mcpu=pwr4 -mattr=-altivec -mtriple powerpc-ibm-aix-xcoff \2; RUN:     -data-sections -xcoff-traceback-table=false < %s | \3; RUN:   FileCheck --check-prefixes=CHECK,CHECK32 %s4; RUN: llc -verify-machineinstrs -mcpu=pwr4 -mattr=-altivec -mtriple powerpc64-ibm-aix-xcoff -data-sections < %s | \5; RUN:   FileCheck --check-prefixes=CHECK,CHECK64 %s6; RUN: llc -verify-machineinstrs -mcpu=pwr4 -mattr=-altivec -mtriple powerpc-ibm-aix-xcoff \7; RUN:     -filetype=obj -data-sections -xcoff-traceback-table=false -o %t.o < %s8; RUN: llvm-objdump -D --symbol-description %t.o | FileCheck -D#NFA=2 --check-prefix=CHECKOBJ %s9; RUN: llvm-readobj -s %t.o | FileCheck --check-prefix=CHECKSYM %s10 11;; Test to see if the default is correct for -data-sections on AIX.12; RUN: llc -verify-machineinstrs -mcpu=pwr4 -mattr=-altivec -mtriple powerpc-ibm-aix-xcoff \13; RUN:     -xcoff-traceback-table=false < %s | \14; RUN:   FileCheck --check-prefixes=CHECK,CHECK32 %s15; RUN: llc -verify-machineinstrs -mcpu=pwr4 -mattr=-altivec -mtriple powerpc64-ibm-aix-xcoff < %s | \16; RUN:   FileCheck --check-prefixes=CHECK,CHECK64 %s17; RUN: llc -verify-machineinstrs -mcpu=pwr4 -mattr=-altivec -mtriple powerpc-ibm-aix-xcoff \18; RUN:     -xcoff-traceback-table=false -filetype=obj -o %t.o < %s19; RUN: llvm-objdump -D --symbol-description %t.o | FileCheck -D#NFA=2 --check-prefix=CHECKOBJ %s20; RUN: llvm-readobj -s %t.o | FileCheck --check-prefix=CHECKSYM %s21 22;; Test to see if the default is correct for -data-sections on AIX.23; RUN: llc -verify-machineinstrs -mcpu=pwr4 -mattr=-altivec -mtriple powerpc-ibm-aix-xcoff \24; RUN:     -xcoff-traceback-table=false < %s | \25; RUN:   FileCheck --check-prefixes=CHECK,CHECK32 %s26; RUN: llc -verify-machineinstrs -mcpu=pwr4 -mattr=-altivec -mtriple powerpc64-ibm-aix-xcoff \27; RUN:     -xcoff-traceback-table=false < %s | \28; RUN:   FileCheck --check-prefixes=CHECK,CHECK64 %s29; RUN: llc -verify-machineinstrs -mcpu=pwr4 -mattr=-altivec -mtriple powerpc-ibm-aix-xcoff \30; RUN:     -xcoff-traceback-table=false -filetype=obj -o %t.o < %s31; RUN: llvm-objdump -D --symbol-description %t.o | FileCheck -D#NFA=2 --check-prefix=CHECKOBJ %s32; RUN: llvm-readobj -s %t.o | FileCheck --check-prefix=CHECKSYM %s33 34@ivar = local_unnamed_addr global i32 35, align 435@const_ivar = constant i32 35, align 436 37@a = common global i32 0, align 438@f = common local_unnamed_addr global i32 0, align 439 40@.str = private unnamed_addr constant [9 x i8] c"abcdefgh\00", align 141@p = global ptr @.str, align 442 43define i8 @foo() {44entry:45  %0 = load ptr, ptr @p, align 446  %1 = load i8, ptr %0, align 147  ret i8 %148}49 50define i32 @bar() {51entry:52  %0 = load i32, ptr @ivar, align 453  %1 = load i32, ptr @const_ivar, align 454  %add = add nsw i32 %0, %155  %2 = load i32, ptr @a, align 456  %add1 = add nsw i32 %add, %257  %3 = load i32, ptr @f, align 458  %add2 = add nsw i32 %add1, %359  ret i32 %add260}61 62 63; CHECK:              .csect ivar[RW],264; CHECK-NEXT:         .globl  ivar[RW]65; CHECK-NEXT:         .align  266; CHECK-NEXT:         .vbyte  4, 35                           # 0x2367; CHECK-NEXT:         .csect const_ivar[RO],268; CHECK-NEXT:         .globl  const_ivar[RO]69; CHECK-NEXT:         .align  270; CHECK-NEXT:         .vbyte  4, 35                           # 0x2371; CHECK-NEXT:         .comm   a[RW],4,272; CHECK-NEXT:         .comm   f[RW],4,273; CHECK-NEXT:         .csect L...str[RO],274; CHECK-NEXT:         .string "abcdefgh"75; CHECK32:            .csect p[RW],276; CHECK32-NEXT:       .globl  p[RW]77; CHECK32-NEXT:       .align  278; CHECK32-NEXT:       .vbyte  4, L...str[RO]79; CHECK64:            .csect p[RW],380; CHECK64-NEXT:       .globl  p[RW]81; CHECK64-NEXT:       .align  382; CHECK64-NEXT:       .vbyte  8, L...str[RO]83; CHECK:              .toc84; CHECK-NEXT: L..C0:85; CHECK-NEXT:         .tc p[TC],p[RW]86; CHECK-NEXT: L..C1:87; CHECK-NEXT:         .tc ivar[TC],ivar[RW]88; CHECK-NEXT: L..C2:89; CHECK-NEXT:         .tc a[TC],a[RW]90; CHECK-NEXT: L..C3:91; CHECK-NEXT:         .tc f[TC],f[RW]92 93; CHECKOBJ:        00000038 (idx: [[#NFA+7]]) const_ivar[RO]:94; CHECKOBJ-NEXT:         38: 00 00 00 23   <unknown>95; CHECKOBJ-EMPTY:96; CHECKOBJ-NEXT:   0000003c (idx: [[#NFA+9]]) L...str[RO]:97; CHECKOBJ-NEXT:         3c: 61 62 63 6498; CHECKOBJ-NEXT:         40: 65 66 67 6899; CHECKOBJ-NEXT:         44: 00 00 00 00   <unknown>100; CHECKOBJ-EMPTY:101; CHECKOBJ-NEXT:   Disassembly of section .data:102; CHECKOBJ-EMPTY:103; CHECKOBJ-NEXT:   00000048 (idx: [[#NFA+11]]) ivar[RW]:104; CHECKOBJ-NEXT:         48: 00 00 00 23   <unknown>105; CHECKOBJ-EMPTY:106; CHECKOBJ-NEXT:   0000004c (idx: [[#NFA+13]]) p[RW]:107; CHECKOBJ-NEXT:         4c: 00 00 00 3c   <unknown>108; CHECKOBJ-EMPTY:109; CHECKOBJ-NEXT:   00000050 (idx: [[#NFA+15]]) foo[DS]:110; CHECKOBJ-NEXT:         50: 00 00 00 00   <unknown>111; CHECKOBJ-NEXT:         54: 00 00 00 68   <unknown>112; CHECKOBJ-NEXT:         58: 00 00 00 00   <unknown>113; CHECKOBJ-EMPTY:114; CHECKOBJ-NEXT:   0000005c (idx: [[#NFA+17]]) bar[DS]:115; CHECKOBJ-NEXT:         5c: 00 00 00 10   <unknown>116; CHECKOBJ-NEXT:         60: 00 00 00 68   <unknown>117; CHECKOBJ-NEXT:         64: 00 00 00 00   <unknown>118; CHECKOBJ-EMPTY:119; CHECKOBJ-NEXT:   00000068 (idx: [[#NFA+21]]) p[TC]:120; CHECKOBJ-NEXT:         68: 00 00 00 4c   <unknown>121; CHECKOBJ-EMPTY:122; CHECKOBJ-NEXT:   0000006c (idx: [[#NFA+23]]) ivar[TC]:123; CHECKOBJ-NEXT:         6c: 00 00 00 48   <unknown>124; CHECKOBJ-EMPTY:125; CHECKOBJ-NEXT:   00000070 (idx: [[#NFA+25]]) a[TC]:126; CHECKOBJ-NEXT:         70: 00 00 00 78   <unknown>127; CHECKOBJ-EMPTY:128; CHECKOBJ-NEXT:   00000074 (idx: [[#NFA+27]]) f[TC]:129; CHECKOBJ-NEXT:         74: 00 00 00 7c   <unknown>130; CHECKOBJ-EMPTY:131; CHECKOBJ-NEXT:   Disassembly of section .bss:132; CHECKOBJ-EMPTY:133; CHECKOBJ-NEXT:   00000078 (idx: [[#NFA+29]]) a[RW]:134; CHECKOBJ-NEXT:   ...135; CHECKOBJ-EMPTY:136; CHECKOBJ-NEXT:   0000007c (idx: [[#NFA+31]]) f[RW]:137; CHECKOBJ-NEXT:   ...138 139 140; CHECKSYM:    Symbol {141; CHECKSYM:      Name: const_ivar142; CHECKSYM:      Value (RelocatableAddress): 0x38143; CHECKSYM:      Section: .text144; CHECKSYM:      Type: 0x0145; CHECKSYM:      StorageClass: C_EXT (0x2)146; CHECKSYM:      NumberOfAuxEntries: 1147; CHECKSYM:      CSECT Auxiliary Entry {148; CHECKSYM:        SectionLen: 4149; CHECKSYM:        ParameterHashIndex: 0x0150; CHECKSYM:        TypeChkSectNum: 0x0151; CHECKSYM:        SymbolAlignmentLog2: 2152; CHECKSYM:        SymbolType: XTY_SD (0x1)153; CHECKSYM:        StorageMappingClass: XMC_RO (0x1)154; CHECKSYM:        StabInfoIndex: 0x0155; CHECKSYM:        StabSectNum: 0x0156; CHECKSYM:      }157; CHECKSYM:    }158; CHECKSYM:    Symbol {159; CHECKSYM:      Name: L...str160; CHECKSYM:      Value (RelocatableAddress): 0x3C161; CHECKSYM:      Section: .text162; CHECKSYM:      Type: 0x0163; CHECKSYM:      StorageClass: C_HIDEXT (0x6B)164; CHECKSYM:      NumberOfAuxEntries: 1165; CHECKSYM:      CSECT Auxiliary Entry {166; CHECKSYM:        SectionLen: 9167; CHECKSYM:        ParameterHashIndex: 0x0168; CHECKSYM:        TypeChkSectNum: 0x0169; CHECKSYM:        SymbolAlignmentLog2: 2170; CHECKSYM:        SymbolType: XTY_SD (0x1)171; CHECKSYM:        StorageMappingClass: XMC_RO (0x1)172; CHECKSYM:        StabInfoIndex: 0x0173; CHECKSYM:        StabSectNum: 0x0174; CHECKSYM:      }175; CHECKSYM:    }176; CHECKSYM:    Symbol {177; CHECKSYM:      Name: ivar178; CHECKSYM:      Value (RelocatableAddress): 0x48179; CHECKSYM:      Section: .data180; CHECKSYM:      Type: 0x0181; CHECKSYM:      StorageClass: C_EXT (0x2)182; CHECKSYM:      NumberOfAuxEntries: 1183; CHECKSYM:      CSECT Auxiliary Entry {184; CHECKSYM:        SectionLen: 4185; CHECKSYM:        ParameterHashIndex: 0x0186; CHECKSYM:        TypeChkSectNum: 0x0187; CHECKSYM:        SymbolAlignmentLog2: 2188; CHECKSYM:        SymbolType: XTY_SD (0x1)189; CHECKSYM:        StorageMappingClass: XMC_RW (0x5)190; CHECKSYM:        StabInfoIndex: 0x0191; CHECKSYM:        StabSectNum: 0x0192; CHECKSYM:      }193; CHECKSYM:    }194; CHECKSYM:    Symbol {195; CHECKSYM:      Name: p196; CHECKSYM:      Value (RelocatableAddress): 0x4C197; CHECKSYM:      Section: .data198; CHECKSYM:      Type: 0x0199; CHECKSYM:      StorageClass: C_EXT (0x2)200; CHECKSYM:      NumberOfAuxEntries: 1201; CHECKSYM:      CSECT Auxiliary Entry {202; CHECKSYM:        SectionLen: 4203; CHECKSYM:        ParameterHashIndex: 0x0204; CHECKSYM:        TypeChkSectNum: 0x0205; CHECKSYM:        SymbolAlignmentLog2: 2206; CHECKSYM:        SymbolType: XTY_SD (0x1)207; CHECKSYM:        StorageMappingClass: XMC_RW (0x5)208; CHECKSYM:        StabInfoIndex: 0x0209; CHECKSYM:        StabSectNum: 0x0210; CHECKSYM:      }211; CHECKSYM:    }212; CHECKSYM:    Symbol {213; CHECKSYM:      Name: TOC214; CHECKSYM:      Value (RelocatableAddress): 0x68215; CHECKSYM:      Section: .data216; CHECKSYM:      Type: 0x0217; CHECKSYM:      StorageClass: C_HIDEXT (0x6B)218; CHECKSYM:      NumberOfAuxEntries: 1219; CHECKSYM:      CSECT Auxiliary Entry {220; CHECKSYM:        SectionLen: 0221; CHECKSYM:        ParameterHashIndex: 0x0222; CHECKSYM:        TypeChkSectNum: 0x0223; CHECKSYM:        SymbolAlignmentLog2: 2224; CHECKSYM:        SymbolType: XTY_SD (0x1)225; CHECKSYM:        StorageMappingClass: XMC_TC0 (0xF)226; CHECKSYM:        StabInfoIndex: 0x0227; CHECKSYM:        StabSectNum: 0x0228; CHECKSYM:      }229; CHECKSYM:    }230; CHECKSYM:    Symbol {231; CHECKSYM:      Name: p232; CHECKSYM:      Value (RelocatableAddress): 0x68233; CHECKSYM:      Section: .data234; CHECKSYM:      Type: 0x0235; CHECKSYM:      StorageClass: C_HIDEXT (0x6B)236; CHECKSYM:      NumberOfAuxEntries: 1237; CHECKSYM:      CSECT Auxiliary Entry {238; CHECKSYM:        SectionLen: 4239; CHECKSYM:        ParameterHashIndex: 0x0240; CHECKSYM:        TypeChkSectNum: 0x0241; CHECKSYM:        SymbolAlignmentLog2: 2242; CHECKSYM:        SymbolType: XTY_SD (0x1)243; CHECKSYM:        StorageMappingClass: XMC_TC (0x3)244; CHECKSYM:        StabInfoIndex: 0x0245; CHECKSYM:        StabSectNum: 0x0246; CHECKSYM:      }247; CHECKSYM:    }248; CHECKSYM:    Symbol {249; CHECKSYM:      Name: ivar250; CHECKSYM:      Value (RelocatableAddress): 0x6C251; CHECKSYM:      Section: .data252; CHECKSYM:      Type: 0x0253; CHECKSYM:      StorageClass: C_HIDEXT (0x6B)254; CHECKSYM:      NumberOfAuxEntries: 1255; CHECKSYM:      CSECT Auxiliary Entry {256; CHECKSYM:        SectionLen: 4257; CHECKSYM:        ParameterHashIndex: 0x0258; CHECKSYM:        TypeChkSectNum: 0x0259; CHECKSYM:        SymbolAlignmentLog2: 2260; CHECKSYM:        SymbolType: XTY_SD (0x1)261; CHECKSYM:        StorageMappingClass: XMC_TC (0x3)262; CHECKSYM:        StabInfoIndex: 0x0263; CHECKSYM:        StabSectNum: 0x0264; CHECKSYM:      }265; CHECKSYM:    }266; CHECKSYM:    Symbol {267; CHECKSYM:      Name: a268; CHECKSYM:      Value (RelocatableAddress): 0x70269; CHECKSYM:      Section: .data270; CHECKSYM:      Type: 0x0271; CHECKSYM:      StorageClass: C_HIDEXT (0x6B)272; CHECKSYM:      NumberOfAuxEntries: 1273; CHECKSYM:      CSECT Auxiliary Entry {274; CHECKSYM:        SectionLen: 4275; CHECKSYM:        ParameterHashIndex: 0x0276; CHECKSYM:        TypeChkSectNum: 0x0277; CHECKSYM:        SymbolAlignmentLog2: 2278; CHECKSYM:        SymbolType: XTY_SD (0x1)279; CHECKSYM:        StorageMappingClass: XMC_TC (0x3)280; CHECKSYM:        StabInfoIndex: 0x0281; CHECKSYM:        StabSectNum: 0x0282; CHECKSYM:      }283; CHECKSYM:    }284; CHECKSYM:    Symbol {285; CHECKSYM:      Name: f286; CHECKSYM:      Value (RelocatableAddress): 0x74287; CHECKSYM:      Section: .data288; CHECKSYM:      Type: 0x0289; CHECKSYM:      StorageClass: C_HIDEXT (0x6B)290; CHECKSYM:      NumberOfAuxEntries: 1291; CHECKSYM:      CSECT Auxiliary Entry {292; CHECKSYM:        SectionLen: 4293; CHECKSYM:        ParameterHashIndex: 0x0294; CHECKSYM:        TypeChkSectNum: 0x0295; CHECKSYM:        SymbolAlignmentLog2: 2296; CHECKSYM:        SymbolType: XTY_SD (0x1)297; CHECKSYM:        StorageMappingClass: XMC_TC (0x3)298; CHECKSYM:        StabInfoIndex: 0x0299; CHECKSYM:        StabSectNum: 0x0300; CHECKSYM:      }301; CHECKSYM:    }302; CHECKSYM:    Symbol {303; CHECKSYM:      Name: a304; CHECKSYM:      Value (RelocatableAddress): 0x78305; CHECKSYM:      Section: .bss306; CHECKSYM:      Type: 0x0307; CHECKSYM:      StorageClass: C_EXT (0x2)308; CHECKSYM:      NumberOfAuxEntries: 1309; CHECKSYM:      CSECT Auxiliary Entry {310; CHECKSYM:        SectionLen: 4311; CHECKSYM:        ParameterHashIndex: 0x0312; CHECKSYM:        TypeChkSectNum: 0x0313; CHECKSYM:        SymbolAlignmentLog2: 2314; CHECKSYM:        SymbolType: XTY_CM (0x3)315; CHECKSYM:        StorageMappingClass: XMC_RW (0x5)316; CHECKSYM:        StabInfoIndex: 0x0317; CHECKSYM:        StabSectNum: 0x0318; CHECKSYM:      }319; CHECKSYM:    }320; CHECKSYM:    Symbol {321; CHECKSYM:      Name: f322; CHECKSYM:      Value (RelocatableAddress): 0x7C323; CHECKSYM:      Section: .bss324; CHECKSYM:      Type: 0x0325; CHECKSYM:      StorageClass: C_EXT (0x2)326; CHECKSYM:      NumberOfAuxEntries: 1327; CHECKSYM:      CSECT Auxiliary Entry {328; CHECKSYM:        SectionLen: 4329; CHECKSYM:        ParameterHashIndex: 0x0330; CHECKSYM:        TypeChkSectNum: 0x0331; CHECKSYM:        SymbolAlignmentLog2: 2332; CHECKSYM:        SymbolType: XTY_CM (0x3)333; CHECKSYM:        StorageMappingClass: XMC_RW (0x5)334; CHECKSYM:        StabInfoIndex: 0x0335; CHECKSYM:        StabSectNum: 0x0336; CHECKSYM:      }337; CHECKSYM:    }338