brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.0 KiB · 58a9277 Raw
83 lines · plain
1# RUN: llc -mtriple=i386-linux-gnu -run-pass=instruction-select -verify-machineinstrs %s -o - | FileCheck %s --check-prefix=CHECK --check-prefix=X32ALL --check-prefix=X322# RUN: llc -mtriple=x86_64-linux-gnux32 -run-pass=instruction-select -verify-machineinstrs %s -o - | FileCheck %s --check-prefix=CHECK --check-prefix=X32ALL --check-prefix=X32ABI3 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# X32:                 registers:28# X32-NEXT:              - { id: 0, class: gr32, preferred-register: '', flags: [   ] }29# X32-NEXT:              - { id: 1, class: gr32, preferred-register: '', flags: [   ] }30#31# X32ABI:              registers:32# X32ABI-NEXT:           - { id: 0, class: low32_addr_access, preferred-register: '', flags: [   ] }33# X32ABI-NEXT:           - { id: 1, class: gr32, preferred-register: '', flags: [   ] }34registers:35  - { id: 0, class: gpr, preferred-register: '' }36  - { id: 1, class: gpr, preferred-register: '' }37# X32:                     %0:gr32 = IMPLICIT_DEF38# X32-NEXT:                %1:gr32 = LEA32r $noreg, 1, $noreg, @g_int, $noreg39# X32-NEXT:                MOV32mr %0, 1, $noreg, 0, $noreg, %1 :: (store (p0) into `ptr undef`)40# X32-NEXT:                RET 041#42# X32ABI:                  %0:low32_addr_access = IMPLICIT_DEF43# X32ABI-NEXT:             %1:gr32 = LEA64_32r $noreg, 1, $noreg, @g_int, $noreg44# X32ABI-NEXT:             MOV32mr %0, 1, $noreg, 0, $noreg, %1 :: (store (p0) into `ptr undef`)45# X32ABI-NEXT:             RET 046body:             |47  bb.1.entry:48    liveins: $rdi49 50    %0(p0) = IMPLICIT_DEF51    %1(p0) = G_GLOBAL_VALUE @g_int52    G_STORE %1(p0), %0(p0) :: (store (p0) into `ptr undef`)53    RET 054 55...56---57name:            test_global_valv58# CHECK-LABEL: name:  test_global_valv59alignment:       1660legalized:       true61regBankSelected: true62# X32ALL:              registers:63# X32ALL-NEXT:           - { id: 0, class: gr32, preferred-register: '', flags: [   ] }64# X32ALL-NEXT:           - { id: 1, class: gpr, preferred-register: '', flags: [   ] }65registers:66  - { id: 0, class: gpr, preferred-register: '' }67  - { id: 1, class: gpr, preferred-register: '' }68# X32:                     %0:gr32 = MOV32rm $noreg, 1, $noreg, @g_int, $noreg :: (load (s32) from @g_int)69# X32-NEXT:                $eax = COPY %070# X32-NEXT:                RET 0, implicit $eax71#72# X32ABI:                  %0:gr32 = MOV32rm $noreg, 1, $noreg, @g_int, $noreg :: (load (s32) from @g_int)73# X32ABI-NEXT:             $eax = COPY %074# X32ABI-NEXT:             RET 0, implicit $eax75body:             |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