brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.8 KiB · 6938569 Raw
83 lines · plain
1# RUN: llc -mtriple=x86_64-linux-gnu                          -run-pass=instruction-select -verify-machineinstrs %s -o - | FileCheck %s --check-prefix=CHECK --check-prefix=X64ALL --check-prefix=X642# RUN: llc -mtriple=x86_64-apple-darwin -relocation-model=pic -run-pass=instruction-select -verify-machineinstrs %s -o - | FileCheck %s --check-prefix=CHECK --check-prefix=X64ALL --check-prefix=X64_DARWIN_PIC3 4--- |5 6  @g_int = dso_local global i32 0, align 47 8  define dso_local void @test_global_ptrv() {9  entry:10    store ptr @g_int, ptr undef11    ret void12  }13 14  define dso_local i32 @test_global_valv() {15  entry:16    %0 = load i32, ptr @g_int, align 417    ret i32 %018  }19 20...21---22name:            test_global_ptrv23# CHECK-LABEL: name:  test_global_ptrv24alignment:       1625legalized:       true26regBankSelected: true27# X64ALL:              registers:28# X64ALL-NEXT:           - { id: 0, class: gr64, preferred-register: '', flags: [   ] }29# X64ALL-NEXT:           - { id: 1, class: gr64, preferred-register: '', flags: [   ] }30#31registers:32  - { id: 0, class: gpr, preferred-register: '' }33  - { id: 1, class: gpr, preferred-register: '' }34# X64:                     %0:gr64 = IMPLICIT_DEF35# X64-NEXT:                %1:gr64 = LEA64r $noreg, 1, $noreg, @g_int, $noreg36# X64-NEXT:                MOV64mr %0, 1, $noreg, 0, $noreg, %1 :: (store (p0) into `ptr undef`)37# X64-NEXT:                RET 038#39# X64_DARWIN_PIC:          %0:gr64 = IMPLICIT_DEF40# X64_DARWIN_PIC-NEXT:     %1:gr64 = LEA64r $rip, 1, $noreg, @g_int, $noreg41# X64_DARWIN_PIC-NEXT:     MOV64mr %0, 1, $noreg, 0, $noreg, %1 :: (store (p0) into `ptr undef`)42# X64_DARWIN_PIC-NEXT:     RET 043#44body:             |45  bb.1.entry:46    liveins: $rdi47 48    %0(p0) = IMPLICIT_DEF49    %1(p0) = G_GLOBAL_VALUE @g_int50    G_STORE %1(p0), %0(p0) :: (store (p0) into `ptr undef`)51    RET 052 53...54---55name:            test_global_valv56# CHECK-LABEL: name:  test_global_valv57alignment:       1658legalized:       true59regBankSelected: true60# X64ALL:              registers:61# X64ALL-NEXT:           - { id: 0, class: gr32, preferred-register: '', flags: [   ] }62# X64ALL-NEXT:           - { id: 1, class: gpr, preferred-register: '', flags: [   ] }63#64registers:65  - { id: 0, class: gpr, preferred-register: '' }66  - { id: 1, class: gpr, preferred-register: '' }67# X64:                     %0:gr32 = MOV32rm $noreg, 1, $noreg, @g_int, $noreg :: (load (s32) from @g_int)68# X64-NEXT:                $eax = COPY %069# X64-NEXT:                RET 0, implicit $eax70#71# X64_DARWIN_PIC:          %0:gr32 = MOV32rm $rip, 1, $noreg, @g_int, $noreg :: (load (s32) from @g_int)72# X64_DARWIN_PIC-NEXT:     $eax = COPY %073# X64_DARWIN_PIC-NEXT:     RET 0, implicit $eax74#75body:             |76  bb.1.entry:77    %1(p0) = G_GLOBAL_VALUE @g_int78    %0(s32) = G_LOAD %1(p0) :: (load (s32) from @g_int)79    $eax = COPY %0(s32)80    RET 0, implicit $eax81 82...83