|
1 | 1 | // RUN: %clangxx -fsycl-device-only -Xclang -fsycl-is-device -emit-llvm %s -S -o %t.ll -I %sycl_include -Wno-sycl-strict -Xclang -verify-ignore-unexpected=note,warning -Xclang -disable-llvm-passes |
2 | | -// RUN: FileCheck %s --input-file %t.ll |
| 2 | +// RUN: FileCheck %s --input-file %t.ll --check-prefixes=CHECK,CHECK-DISABLE |
| 3 | +// RUN: %clangxx -fsycl-device-only -Xclang -fsycl-is-device -emit-llvm %s -S -o %t.ll -I %sycl_include -Wno-sycl-strict -Xclang -verify-ignore-unexpected=note,warning -Xclang -disable-llvm-passes -D__ENABLE_USM_ADDR_SPACE__ |
| 4 | +// RUN: FileCheck %s --input-file %t.ll --check-prefixes=CHECK,CHECK-ENABLE |
3 | 5 | // |
4 | 6 | // Check the address space of the pointer in multi_ptr class |
5 | 7 | // |
6 | | -// CHECK: %[[DEVPTR_T:.*]] = type { i8 addrspace(5)* } |
7 | | -// CHECK: %[[HOSTPTR_T:.*]] = type { i8 addrspace(6)* } |
| 8 | +// CHECK-DISABLE: %[[DEVPTR_T:.*]] = type { i8 addrspace(1)* } |
| 9 | +// CHECK-DISABLE: %[[HOSTPTR_T:.*]] = type { i8 addrspace(1)* } |
| 10 | +// CHECK-ENABLE: %[[DEVPTR_T:.*]] = type { i8 addrspace(5)* } |
| 11 | +// CHECK-ENABLE: %[[HOSTPTR_T:.*]] = type { i8 addrspace(6)* } |
8 | 12 | // |
9 | 13 | // CHECK-LABEL: define {{.*}} spir_func i8 addrspace(4)* @{{.*}}multi_ptr{{.*}} |
10 | 14 | // CHECK: %[[M_PTR:.*]] = getelementptr inbounds %[[DEVPTR_T]] |
11 | | -// CHECK-NEXT: %[[DEVLOAD:[0-9]+]] = load i8 addrspace(5)*, i8 addrspace(5)* addrspace(4)* %[[M_PTR]] |
12 | | -// CHECK-NEXT: %[[DEVCAST:[0-9]+]] = addrspacecast i8 addrspace(5)* %[[DEVLOAD]] to i8 addrspace(4)* |
| 15 | +// CHECK-DISABLE-NEXT: %[[DEVLOAD:[0-9]+]] = load i8 addrspace(1)*, i8 addrspace(1)* addrspace(4)* %[[M_PTR]] |
| 16 | +// CHECK-DISABLE-NEXT: %[[DEVCAST:[0-9]+]] = addrspacecast i8 addrspace(1)* %[[DEVLOAD]] to i8 addrspace(4)* |
| 17 | +// CHECK-ENABLE-NEXT: %[[DEVLOAD:[0-9]+]] = load i8 addrspace(5)*, i8 addrspace(5)* addrspace(4)* %[[M_PTR]] |
| 18 | +// CHECK-ENABLE-NEXT: %[[DEVCAST:[0-9]+]] = addrspacecast i8 addrspace(5)* %[[DEVLOAD]] to i8 addrspace(4)* |
13 | 19 | // ret i8 addrspace(4)* %[[DEVCAST]] |
14 | 20 | // |
15 | 21 | // CHECK-LABEL: define {{.*}} spir_func i8 addrspace(4)* @{{.*}}multi_ptr{{.*}} |
16 | 22 | // CHECK: %[[M_PTR]] = getelementptr inbounds %[[HOSTPTR_T]] |
17 | | -// CHECK-NEXT: %[[HOSTLOAD:[0-9]+]] = load i8 addrspace(6)*, i8 addrspace(6)* addrspace(4)* %[[M_PTR]] |
18 | | -// CHECK-NEXT: %[[HOSTCAST:[0-9]+]] = addrspacecast i8 addrspace(6)* %[[HOSTLOAD]] to i8 addrspace(4)* |
| 23 | +// CHECK-DISABLE-NEXT: %[[HOSTLOAD:[0-9]+]] = load i8 addrspace(1)*, i8 addrspace(1)* addrspace(4)* %[[M_PTR]] |
| 24 | +// CHECK-DISABLE-NEXT: %[[HOSTCAST:[0-9]+]] = addrspacecast i8 addrspace(1)* %[[HOSTLOAD]] to i8 addrspace(4)* |
| 25 | +// CHECK-ENABLE-NEXT: %[[HOSTLOAD:[0-9]+]] = load i8 addrspace(6)*, i8 addrspace(6)* addrspace(4)* %[[M_PTR]] |
| 26 | +// CHECK-ENABLE-NEXT: %[[HOSTCAST:[0-9]+]] = addrspacecast i8 addrspace(6)* %[[HOSTLOAD]] to i8 addrspace(4)* |
19 | 27 | // ret i8 addrspace(4)* %[[HOSTCAST]] |
20 | 28 |
|
21 | 29 | #include <CL/sycl.hpp> |
|
0 commit comments