]> granicus.if.org Git - llvm/commitdiff
[InstCombine] add another test for gep inbounds; NFC
authorSanjay Patel <spatel@rotateright.com>
Wed, 9 Oct 2019 17:52:26 +0000 (17:52 +0000)
committerSanjay Patel <spatel@rotateright.com>
Wed, 9 Oct 2019 17:52:26 +0000 (17:52 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@374190 91177308-0d34-0410-b5e6-96231b3b80d8

test/Transforms/InstCombine/load-bitcast-vec.ll

index cb1b224e0609138425f0db765d5043babf391479..4874f2f5f420f68a76dc2e00234f3d55eebc8f9e 100644 (file)
@@ -89,6 +89,17 @@ define float @matching_scalar_smallest_deref_or_null(<4 x float>* dereferenceabl
   ret float %r
 }
 
+define float @matching_scalar_smallest_deref_addrspace(<4 x float> addrspace(4)* dereferenceable(1) %p) {
+; CHECK-LABEL: @matching_scalar_smallest_deref_addrspace(
+; CHECK-NEXT:    [[BC:%.*]] = getelementptr inbounds <4 x float>, <4 x float> addrspace(4)* [[P:%.*]], i64 0, i64 0
+; CHECK-NEXT:    [[R:%.*]] = load float, float addrspace(4)* [[BC]], align 16
+; CHECK-NEXT:    ret float [[R]]
+;
+  %bc = bitcast <4 x float> addrspace(4)* %p to float addrspace(4)*
+  %r = load float, float addrspace(4)* %bc, align 16
+  ret float %r
+}
+
 ; TODO: Is a null pointer inbounds in any address space?
 
 define float @matching_scalar_smallest_deref_or_null_addrspace(<4 x float> addrspace(4)* dereferenceable_or_null(1) %p) {