mirror of
https://github.com/RPCS3/llvm.git
synced 2026-01-31 01:25:19 +01:00
LangRef for BitCast requires that "The bit sizes of value and the destination type, ty2, must be identical". Currently verifier allows BitCast of pointer to vector of pointers so that the sizes are different. This change fixes that. Reviewers: arsenm Reviewed By: arsenm Subscribers: llvm-commits, wdng Differential Revision: https://reviews.llvm.org/D50886 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@340249 91177308-0d34-0410-b5e6-96231b3b80d8
15 lines
476 B
LLVM
15 lines
476 B
LLVM
; RUN: llvm-as -disable-output %s
|
|
|
|
target datalayout = "e-p:32:32:32-p1:16:16:16-p2:32:32:32-i1:8:32-i8:8:32-i16:16:32-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:32:64-v128:32:128-a0:0:32-n8:16:32"
|
|
|
|
define <1 x i32*> @vector_legal_bitcast_pointer_to_vector_of_pointers(i64* %a) {
|
|
%b = bitcast i64* %a to <1 x i32*>
|
|
ret <1 x i32*> %b
|
|
}
|
|
|
|
define i64* @vector_legal_bitcast_vector_of_pointers_to_pointer(<1 x i32*> %a) {
|
|
%b = bitcast <1 x i32*> %a to i64*
|
|
ret i64* %b
|
|
}
|
|
|