brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.3 KiB · dbd2662 Raw
36 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 52; RUN: opt -S -passes=infer-address-spaces %s | FileCheck %s3 4target triple = "nvptx64-nvidia-cuda"5 6 7define ptx_kernel i32 @test_kernel(ptr %a, ptr byval(i32) %b) {8; CHECK-LABEL: define ptx_kernel i32 @test_kernel(9; CHECK-SAME: ptr [[A:%.*]], ptr byval(i32) [[B:%.*]]) {10; CHECK-NEXT:    [[TMP1:%.*]] = addrspacecast ptr [[A]] to ptr addrspace(1)11; CHECK-NEXT:    [[V1:%.*]] = load i32, ptr addrspace(1) [[TMP1]], align 412; CHECK-NEXT:    [[V2:%.*]] = load i32, ptr [[B]], align 413; CHECK-NEXT:    [[SUM:%.*]] = add i32 [[V1]], [[V2]]14; CHECK-NEXT:    ret i32 [[SUM]]15;16  %v1 = load i32, ptr %a17  %v2 = load i32, ptr %b18  %sum = add i32 %v1, %v219  ret i32 %sum20}21 22define i32 @test_device(ptr %a, ptr byval(i32) %b) {23; CHECK-LABEL: define i32 @test_device(24; CHECK-SAME: ptr [[A:%.*]], ptr byval(i32) [[B:%.*]]) {25; CHECK-NEXT:    [[TMP1:%.*]] = addrspacecast ptr [[B]] to ptr addrspace(5)26; CHECK-NEXT:    [[V1:%.*]] = load i32, ptr [[A]], align 427; CHECK-NEXT:    [[V2:%.*]] = load i32, ptr addrspace(5) [[TMP1]], align 428; CHECK-NEXT:    [[SUM:%.*]] = add i32 [[V1]], [[V2]]29; CHECK-NEXT:    ret i32 [[SUM]]30;31  %v1 = load i32, ptr %a32  %v2 = load i32, ptr %b33  %sum = add i32 %v1, %v234  ret i32 %sum35}36