45 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 52; RUN: opt -S -mtriple=amdgcn-amd-amdhsa -passes=infer-address-spaces %s | FileCheck %s3 4define <8 x i1> @load_vector_of_flat_ptr_from_constant(ptr addrspace(4) %ptr) {5; CHECK-LABEL: define <8 x i1> @load_vector_of_flat_ptr_from_constant(6; CHECK-SAME: ptr addrspace(4) [[PTR:%.*]]) {7; CHECK-NEXT: [[LD:%.*]] = load <8 x ptr>, ptr addrspace(4) [[PTR]], align 1288; CHECK-NEXT: [[TMP1:%.*]] = addrspacecast <8 x ptr> [[LD]] to <8 x ptr addrspace(1)>9; CHECK-NEXT: [[CMP:%.*]] = icmp eq <8 x ptr addrspace(1)> [[TMP1]], <ptr addrspace(1) addrspacecast (ptr null to ptr addrspace(1)), ptr addrspace(1) addrspacecast (ptr null to ptr addrspace(1)), ptr addrspace(1) addrspacecast (ptr null to ptr addrspace(1)), ptr addrspace(1) addrspacecast (ptr null to ptr addrspace(1)), ptr addrspace(1) addrspacecast (ptr null to ptr addrspace(1)), ptr addrspace(1) addrspacecast (ptr null to ptr addrspace(1)), ptr addrspace(1) addrspacecast (ptr null to ptr addrspace(1)), ptr addrspace(1) addrspacecast (ptr null to ptr addrspace(1))>10; CHECK-NEXT: ret <8 x i1> [[CMP]]11;12 %ld = load <8 x ptr>, ptr addrspace(4) %ptr, align 12813 %cmp = icmp eq <8 x ptr> %ld, zeroinitializer14 ret <8 x i1> %cmp15}16 17define <8 x i1> @load_vector_of_flat_ptr_from_global(ptr addrspace(1) %ptr) {18; CHECK-LABEL: define <8 x i1> @load_vector_of_flat_ptr_from_global(19; CHECK-SAME: ptr addrspace(1) [[PTR:%.*]]) {20; CHECK-NEXT: [[LD:%.*]] = load <8 x ptr>, ptr addrspace(1) [[PTR]], align 12821; CHECK-NEXT: [[CMP:%.*]] = icmp eq <8 x ptr> [[LD]], zeroinitializer22; CHECK-NEXT: ret <8 x i1> [[CMP]]23;24 %ld = load <8 x ptr>, ptr addrspace(1) %ptr, align 12825 %cmp = icmp eq <8 x ptr> %ld, zeroinitializer26 ret <8 x i1> %cmp27}28 29define <8 x i1> @load_vector_of_flat_ptr_from_global_invariant(ptr addrspace(1) %ptr) {30; CHECK-LABEL: define <8 x i1> @load_vector_of_flat_ptr_from_global_invariant(31; CHECK-SAME: ptr addrspace(1) [[PTR:%.*]]) {32; CHECK-NEXT: [[LD:%.*]] = load <8 x ptr>, ptr addrspace(1) [[PTR]], align 128, !invariant [[META0:![0-9]+]]33; CHECK-NEXT: [[CMP:%.*]] = icmp eq <8 x ptr> [[LD]], zeroinitializer34; CHECK-NEXT: ret <8 x i1> [[CMP]]35;36 %ld = load <8 x ptr>, ptr addrspace(1) %ptr, align 128, !invariant !037 %cmp = icmp eq <8 x ptr> %ld, zeroinitializer38 ret <8 x i1> %cmp39}40 41!0 = !{}42;.43; CHECK: [[META0]] = !{}44;.45