mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-12-05 10:17:36 +00:00
Probably not a good idea to convert a single vector load into a memcpy. We
don't do this now, but add a test case to prevent this from happening in the future. Additional test for rdar://9892684 llvm-svn: 145879
This commit is contained in:
parent
c3c8c0eddd
commit
7096fea51c
@ -1371,6 +1371,8 @@ Value *llvm::isBytewiseValue(Value *V) {
|
||||
return Val;
|
||||
}
|
||||
|
||||
// FIXME: Vector types (e.g., <4 x i32> <i32 -1, i32 -1, i32 -1, i32 -1>).
|
||||
|
||||
// Conceptually, we could handle things like:
|
||||
// %a = zext i8 %X to i16
|
||||
// %b = shl i16 %a, 8
|
||||
|
@ -236,3 +236,15 @@ define void @test7(i32* nocapture %c) nounwind optsize {
|
||||
; CHECK: call void @llvm.memset.p0i8.i64(i8* %5, i8 -1, i64 20, i32 4, i1 false)
|
||||
ret void
|
||||
}
|
||||
|
||||
%struct.test8 = type { [4 x i32] }
|
||||
|
||||
define void @test8() {
|
||||
entry:
|
||||
%memtmp = alloca %struct.test8, align 16
|
||||
%0 = bitcast %struct.test8* %memtmp to <4 x i32>*
|
||||
store <4 x i32> <i32 -1, i32 -1, i32 -1, i32 -1>, <4 x i32>* %0, align 16
|
||||
ret void
|
||||
; CHECK: @test8
|
||||
; CHECK: store <4 x i32> <i32 -1, i32 -1, i32 -1, i32 -1>, <4 x i32>* %0, align 16
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user