mirror of
https://github.com/RPCSX/llvm.git
synced 2024-11-30 15:10:33 +00:00
79e3fb53d6
different number of elements. Bitcasts were passing with vectors of pointers with different number of elements since the number of elements was checking SrcTy->getVectorNumElements() == SrcTy->getVectorNumElements() which isn't helpful. The addrspacecast was also wrong, but that case at least is caught by the verifier. Refactor bitcast and addrspacecast handling in castIsValid to be more readable and fix this problem. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@199821 91177308-0d34-0410-b5e6-96231b3b80d8
8 lines
264 B
LLVM
8 lines
264 B
LLVM
; RUN: not llvm-as < %s 2>&1 | FileCheck %s
|
|
|
|
; CHECK: invalid cast opcode for cast from '<4 x i32*>' to '<2 x i32*>'
|
|
define <2 x i32*> @illegal_vector_pointer_bitcast_num_elements(<4 x i32*> %c) {
|
|
%bc = bitcast <4 x i32*> %c to <2 x i32*>
|
|
ret <2 x i32*> %bc
|
|
}
|