mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-14 11:32:34 +00:00
AVX-512: fixed extended load to 512-bit register
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@237537 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
84b93666b3
commit
a0eb803376
@ -14022,8 +14022,8 @@ static SDValue LowerExtendedLoad(SDValue Op, const X86Subtarget *Subtarget,
|
||||
"Can only lower sext loads with a single scalar load!");
|
||||
|
||||
unsigned loadRegZize = RegSz;
|
||||
if (Ext == ISD::SEXTLOAD && RegSz == 256)
|
||||
loadRegZize /= 2;
|
||||
if (Ext == ISD::SEXTLOAD && RegSz >= 256)
|
||||
loadRegZize = 128;
|
||||
|
||||
// Represent our vector as a sequence of elements which are the
|
||||
// largest scalar that we can load.
|
||||
|
@ -193,3 +193,13 @@ define <8 x i64> @sext_8i1_8i64(<8 x i32> %a1, <8 x i32> %a2) nounwind {
|
||||
%y = sext <8 x i1> %x to <8 x i64>
|
||||
ret <8 x i64> %y
|
||||
}
|
||||
|
||||
; CHECK-LABEL: @extload_v8i64
|
||||
; CHECK: vpmovsxbq
|
||||
define void @extload_v8i64(<8 x i8>* %a, <8 x i64>* %res) {
|
||||
%sign_load = load <8 x i8>, <8 x i8>* %a
|
||||
%c = sext <8 x i8> %sign_load to <8 x i64>
|
||||
store <8 x i64> %c, <8 x i64>* %res
|
||||
ret void
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user