brintos

brintos / llvm-project-archived public Read only

0
0
Text · 11.8 KiB · ccdcb52 Raw
302 lines · plain
1; RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx700 -filetype=obj -o - < %s | llvm-readelf --notes - | FileCheck --check-prefix=CHECK %s2; RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx803 -filetype=obj -o - < %s | llvm-readelf --notes - | FileCheck --check-prefix=CHECK %s3; RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx900 -filetype=obj -o - < %s | llvm-readelf --notes - | FileCheck --check-prefix=CHECK %s4 5; CHECK:              ---6; CHECK:      amdhsa.kernels:7 8; CHECK:        - .args:9; CHECK-NEXT:       - .address_space:  global10; CHECK-NEXT:         .name:           r11; CHECK-NEXT:         .offset:         012; CHECK-NEXT:         .size:           813; CHECK-NEXT:         .value_kind:     global_buffer14; CHECK-NEXT:       - .address_space:  global15; CHECK-NEXT:         .name:           a16; CHECK-NEXT:         .offset:         817; CHECK-NEXT:         .size:           818; CHECK-NEXT:         .value_kind:     global_buffer19; CHECK-NEXT:       - .address_space:  global20; CHECK-NEXT:         .name:           b21; CHECK-NEXT:         .offset:         1622; CHECK-NEXT:         .size:           823; CHECK-NEXT:         .value_kind:     global_buffer24; CHECK:          .name:           test025; CHECK:          .symbol:         test0.kd26define amdgpu_kernel void @test0(27    ptr addrspace(1) %r,28    ptr addrspace(1) %a,29    ptr addrspace(1) %b) {30entry:31  %a.val = load half, ptr addrspace(1) %a32  %b.val = load half, ptr addrspace(1) %b33  %r.val = fadd half %a.val, %b.val34  store half %r.val, ptr addrspace(1) %r35  ret void36}37 38; CHECK:        - .args:39; CHECK-NEXT:       - .address_space:  global40; CHECK-NEXT:         .name:           r41; CHECK-NEXT:         .offset:         042; CHECK-NEXT:         .size:           843; CHECK-NEXT:         .value_kind:     global_buffer44; CHECK-NEXT:       - .address_space:  global45; CHECK-NEXT:         .name:           a46; CHECK-NEXT:         .offset:         847; CHECK-NEXT:         .size:           848; CHECK-NEXT:         .value_kind:     global_buffer49; CHECK-NEXT:       - .address_space:  global50; CHECK-NEXT:         .name:           b51; CHECK-NEXT:         .offset:         1652; CHECK-NEXT:         .size:           853; CHECK-NEXT:         .value_kind:     global_buffer54; CHECK-NEXT:       - .offset:         2455; CHECK-NEXT:         .size:           856; CHECK-NEXT:         .value_kind:     hidden_global_offset_x57; CHECK:          .name:           test858; CHECK:          .symbol:         test8.kd59define amdgpu_kernel void @test8(60    ptr addrspace(1) %r,61    ptr addrspace(1) %a,62    ptr addrspace(1) %b) #0 {63entry:64  %a.val = load half, ptr addrspace(1) %a65  %b.val = load half, ptr addrspace(1) %b66  %r.val = fadd half %a.val, %b.val67  store half %r.val, ptr addrspace(1) %r68  ret void69}70 71; CHECK:        - .args:72; CHECK-NEXT:       - .address_space:  global73; CHECK-NEXT:         .name:           r74; CHECK-NEXT:         .offset:         075; CHECK-NEXT:         .size:           876; CHECK-NEXT:         .value_kind:     global_buffer77; CHECK-NEXT:       - .address_space:  global78; CHECK-NEXT:         .name:           a79; CHECK-NEXT:         .offset:         880; CHECK-NEXT:         .size:           881; CHECK-NEXT:         .value_kind:     global_buffer82; CHECK-NEXT:       - .address_space:  global83; CHECK-NEXT:         .name:           b84; CHECK-NEXT:         .offset:         1685; CHECK-NEXT:         .size:           886; CHECK-NEXT:         .value_kind:     global_buffer87; CHECK-NEXT:       - .offset:         2488; CHECK-NEXT:         .size:           889; CHECK-NEXT:         .value_kind:     hidden_global_offset_x90; CHECK-NEXT:       - .offset:         3291; CHECK-NEXT:         .size:           892; CHECK-NEXT:         .value_kind:     hidden_global_offset_y93; CHECK:          .name:           test1694; CHECK:          .symbol:         test16.kd95define amdgpu_kernel void @test16(96    ptr addrspace(1) %r,97    ptr addrspace(1) %a,98    ptr addrspace(1) %b) #1 {99entry:100  %a.val = load half, ptr addrspace(1) %a101  %b.val = load half, ptr addrspace(1) %b102  %r.val = fadd half %a.val, %b.val103  store half %r.val, ptr addrspace(1) %r104  ret void105}106 107; CHECK:        - .args:108; CHECK-NEXT:       - .address_space:  global109; CHECK-NEXT:         .name:           r110; CHECK-NEXT:         .offset:         0111; CHECK-NEXT:         .size:           8112; CHECK-NEXT:         .value_kind:     global_buffer113; CHECK-NEXT:       - .address_space:  global114; CHECK-NEXT:         .name:           a115; CHECK-NEXT:         .offset:         8116; CHECK-NEXT:         .size:           8117; CHECK-NEXT:         .value_kind:     global_buffer118; CHECK-NEXT:       - .address_space:  global119; CHECK-NEXT:         .name:           b120; CHECK-NEXT:         .offset:         16121; CHECK-NEXT:         .size:           8122; CHECK-NEXT:         .value_kind:     global_buffer123; CHECK-NEXT:       - .offset:         24124; CHECK-NEXT:         .size:           8125; CHECK-NEXT:         .value_kind:     hidden_global_offset_x126; CHECK-NEXT:       - .offset:         32127; CHECK-NEXT:         .size:           8128; CHECK-NEXT:         .value_kind:     hidden_global_offset_y129; CHECK-NEXT:       - .offset:         40130; CHECK-NEXT:         .size:           8131; CHECK-NEXT:         .value_kind:     hidden_global_offset_z132; CHECK:          .name:           test24133; CHECK:          .symbol:         test24.kd134define amdgpu_kernel void @test24(135    ptr addrspace(1) %r,136    ptr addrspace(1) %a,137    ptr addrspace(1) %b) #2 {138entry:139  %a.val = load half, ptr addrspace(1) %a140  %b.val = load half, ptr addrspace(1) %b141  %r.val = fadd half %a.val, %b.val142  store half %r.val, ptr addrspace(1) %r143  ret void144}145 146; CHECK:        - .args:147; CHECK-NEXT:       - .address_space:  global148; CHECK-NEXT:         .name:           r149; CHECK-NEXT:         .offset:         0150; CHECK-NEXT:         .size:           8151; CHECK-NEXT:         .value_kind:     global_buffer152; CHECK-NEXT:       - .address_space:  global153; CHECK-NEXT:         .name:           a154; CHECK-NEXT:         .offset:         8155; CHECK-NEXT:         .size:           8156; CHECK-NEXT:         .value_kind:     global_buffer157; CHECK-NEXT:       - .address_space:  global158; CHECK-NEXT:         .name:           b159; CHECK-NEXT:         .offset:         16160; CHECK-NEXT:         .size:           8161; CHECK-NEXT:         .value_kind:     global_buffer162; CHECK-NEXT:       - .offset:         24163; CHECK-NEXT:         .size:           8164; CHECK-NEXT:         .value_kind:     hidden_global_offset_x165; CHECK-NEXT:       - .offset:         32166; CHECK-NEXT:         .size:           8167; CHECK-NEXT:         .value_kind:     hidden_global_offset_y168; CHECK-NEXT:       - .offset:         40169; CHECK-NEXT:         .size:           8170; CHECK-NEXT:         .value_kind:     hidden_global_offset_z171; CHECK-NEXT:       - .offset:         48172; CHECK-NEXT:         .size:           8173; CHECK-NEXT:         .value_kind:     hidden_hostcall_buffer174; CHECK:          .name:           test32175; CHECK:          .symbol:         test32.kd176define amdgpu_kernel void @test32(177    ptr addrspace(1) %r,178    ptr addrspace(1) %a,179    ptr addrspace(1) %b) #3 {180entry:181  %a.val = load half, ptr addrspace(1) %a182  %b.val = load half, ptr addrspace(1) %b183  %r.val = fadd half %a.val, %b.val184  store half %r.val, ptr addrspace(1) %r185  ret void186}187 188; CHECK:        - .args:189; CHECK-NEXT:       - .address_space:  global190; CHECK-NEXT:         .name:           r191; CHECK-NEXT:         .offset:         0192; CHECK-NEXT:         .size:           8193; CHECK-NEXT:         .value_kind:     global_buffer194; CHECK-NEXT:       - .address_space:  global195; CHECK-NEXT:         .name:           a196; CHECK-NEXT:         .offset:         8197; CHECK-NEXT:         .size:           8198; CHECK-NEXT:         .value_kind:     global_buffer199; CHECK-NEXT:       - .address_space:  global200; CHECK-NEXT:         .name:           b201; CHECK-NEXT:         .offset:         16202; CHECK-NEXT:         .size:           8203; CHECK-NEXT:         .value_kind:     global_buffer204; CHECK-NEXT:       - .offset:         24205; CHECK-NEXT:         .size:           8206; CHECK-NEXT:         .value_kind:     hidden_global_offset_x207; CHECK-NEXT:       - .offset:         32208; CHECK-NEXT:         .size:           8209; CHECK-NEXT:         .value_kind:     hidden_global_offset_y210; CHECK-NEXT:       - .offset:         40211; CHECK-NEXT:         .size:           8212; CHECK-NEXT:         .value_kind:     hidden_global_offset_z213; CHECK-NEXT:       - .offset:         48214; CHECK-NEXT:         .size:           8215; CHECK-NEXT:         .value_kind:     hidden_hostcall_buffer216; CHECK-NEXT:       - .offset:         56217; CHECK-NEXT:         .size:           8218; CHECK-NEXT:         .value_kind:     hidden_default_queue219; CHECK-NEXT:       - .offset:         64220; CHECK-NEXT:         .size:           8221; CHECK-NEXT:         .value_kind:     hidden_completion_action222; CHECK:          .name:           test48223; CHECK:          .symbol:         test48.kd224define amdgpu_kernel void @test48(225    ptr addrspace(1) %r,226    ptr addrspace(1) %a,227    ptr addrspace(1) %b) #4 {228entry:229  %a.val = load half, ptr addrspace(1) %a230  %b.val = load half, ptr addrspace(1) %b231  %r.val = fadd half %a.val, %b.val232  store half %r.val, ptr addrspace(1) %r233  ret void234}235 236; CHECK:        - .args:237; CHECK-NEXT:       - .address_space:  global238; CHECK-NEXT:         .name:           r239; CHECK-NEXT:         .offset:         0240; CHECK-NEXT:         .size:           8241; CHECK-NEXT:         .value_kind:     global_buffer242; CHECK-NEXT:       - .address_space:  global243; CHECK-NEXT:         .name:           a244; CHECK-NEXT:         .offset:         8245; CHECK-NEXT:         .size:           8246; CHECK-NEXT:         .value_kind:     global_buffer247; CHECK-NEXT:       - .address_space:  global248; CHECK-NEXT:         .name:           b249; CHECK-NEXT:         .offset:         16250; CHECK-NEXT:         .size:           8251; CHECK-NEXT:         .value_kind:     global_buffer252; CHECK-NEXT:       - .offset:         24253; CHECK-NEXT:         .size:           8254; CHECK-NEXT:         .value_kind:     hidden_global_offset_x255; CHECK-NEXT:       - .offset:         32256; CHECK-NEXT:         .size:           8257; CHECK-NEXT:         .value_kind:     hidden_global_offset_y258; CHECK-NEXT:       - .offset:         40259; CHECK-NEXT:         .size:           8260; CHECK-NEXT:         .value_kind:     hidden_global_offset_z261; CHECK-NEXT:       - .offset:         48262; CHECK-NEXT:         .size:           8263; CHECK-NEXT:         .value_kind:     hidden_hostcall_buffer264; CHECK-NEXT:       - .offset:         56265; CHECK-NEXT:         .size:           8266; CHECK-NEXT:         .value_kind:     hidden_default_queue267; CHECK-NEXT:       - .offset:         64268; CHECK-NEXT:         .size:           8269; CHECK-NEXT:         .value_kind:     hidden_completion_action270; CHECK-NEXT:       - .offset:         72271; CHECK-NEXT:         .size:           8272; CHECK-NEXT:         .value_kind:     hidden_multigrid_sync_arg273; CHECK:          .name:           test56274; CHECK:          .symbol:         test56.kd275define amdgpu_kernel void @test56(276    ptr addrspace(1) %r,277    ptr addrspace(1) %a,278    ptr addrspace(1) %b) #5 {279entry:280  %a.val = load half, ptr addrspace(1) %a281  %b.val = load half, ptr addrspace(1) %b282  %r.val = fadd half %a.val, %b.val283  store half %r.val, ptr addrspace(1) %r284  ret void285}286 287; CHECK:  amdhsa.version:288; CHECK-NEXT: - 1289; CHECK-NEXT: - 1290 291; We don't have a use of llvm.amdgcn.implicitarg.ptr, so optnone to292; avoid optimizing out the implicit argument allocation.293attributes #0 = { optnone noinline "amdgpu-implicitarg-num-bytes"="8" }294attributes #1 = { optnone noinline "amdgpu-implicitarg-num-bytes"="16" }295attributes #2 = { optnone noinline "amdgpu-implicitarg-num-bytes"="24" }296attributes #3 = { optnone noinline "amdgpu-implicitarg-num-bytes"="32" }297attributes #4 = { optnone noinline "amdgpu-implicitarg-num-bytes"="48" }298attributes #5 = { optnone noinline "amdgpu-implicitarg-num-bytes"="56" }299 300!llvm.module.flags = !{!0}301!0 = !{i32 1, !"amdhsa_code_object_version", i32 400}302