mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-25 12:12:47 +01:00
2c81cfa081
If a masked loads is not added to the chain, it should not reset the chain's root. This fixes the remaining part of PR28515. llvm-svn: 275340
17 lines
633 B
LLVM
17 lines
633 B
LLVM
; RUN: llc < %s -mtriple=x86_64-unknown-linux-gnu -mattr=+avx2 | FileCheck %s
|
|
|
|
@0 = private constant [8 x i32] zeroinitializer
|
|
|
|
; CHECK-LABEL: foo:
|
|
; CHECK: movl %esi, (%rdi)
|
|
; CHECK-NEXT: retq
|
|
define void @foo(i32* %p, i32 %v, <8 x i1> %mask) {
|
|
store i32 %v, i32* %p
|
|
%wide.masked.load = call <8 x i32> @llvm.masked.load.v8i32.p0v8i32(<8 x i32>* bitcast (i32* getelementptr ([8 x i32], [8 x i32]* @0, i64 0, i64 0) to <8 x i32>*), i32 4, <8 x i1> %mask, <8 x i32> undef)
|
|
ret void
|
|
}
|
|
|
|
declare <8 x i32> @llvm.masked.load.v8i32.p0v8i32(<8 x i32>*, i32, <8 x i1>, <8 x i32>) #0
|
|
|
|
attributes #0 = { argmemonly nounwind readonly }
|