brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.6 KiB · d12db76 Raw
31 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 52; RUN: opt -S -mtriple=nvptx64-nvidia-cuda -passes=infer-address-spaces %s | FileCheck %s3 4target datalayout = "e-i64:64-v16:16-v32:32-n16:32:64"5 6%struct.bar = type { float, ptr }7 8@var1 = local_unnamed_addr addrspace(3) externally_initialized global %struct.bar poison, align 89 10define void @bug31948(float %a, ptr nocapture readnone %x, ptr nocapture readnone %y) local_unnamed_addr #0 {11; CHECK-LABEL: define void @bug31948(12; CHECK-SAME: float [[A:%.*]], ptr readnone captures(none) [[X:%.*]], ptr readnone captures(none) [[Y:%.*]]) local_unnamed_addr #[[ATTR0:[0-9]+]] {13; CHECK-NEXT:  [[ENTRY:.*:]]14; CHECK-NEXT:    [[TMP:%.*]] = load ptr, ptr addrspace(3) getelementptr ([[STRUCT_BAR:%.*]], ptr addrspace(3) @var1, i64 0, i32 1), align 815; CHECK-NEXT:    [[TMP1:%.*]] = load float, ptr [[TMP]], align 416; CHECK-NEXT:    [[CONV1:%.*]] = fadd float [[TMP1]], 1.000000e+0017; CHECK-NEXT:    store float [[CONV1]], ptr [[TMP]], align 418; CHECK-NEXT:    store i32 32, ptr addrspace(3) getelementptr ([[STRUCT_BAR]], ptr addrspace(3) @var1, i64 0, i32 1), align 419; CHECK-NEXT:    ret void20;21entry:22  %tmp = load ptr, ptr getelementptr (%struct.bar, ptr addrspacecast (ptr addrspace(3) @var1 to ptr), i64 0, i32 1), align 823  %tmp1 = load float, ptr %tmp, align 424  %conv1 = fadd float %tmp1, 1.000000e+0025  store float %conv1, ptr %tmp, align 426  store i32 32, ptr getelementptr (%struct.bar, ptr addrspacecast (ptr addrspace(3) @var1 to ptr), i64 0, i32 1), align 427  ret void28}29 30attributes #0 = { norecurse nounwind }31