Skip to content

Commit c8fd4de

Browse files
committed
Use new popToAPSInt and rename variables for clarity
1 parent 5e32918 commit c8fd4de

File tree

1 file changed

+12
-14
lines changed

1 file changed

+12
-14
lines changed

clang/lib/AST/ByteCode/InterpBuiltin.cpp

Lines changed: 12 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -2919,40 +2919,38 @@ static bool interp__builtin_x86_insert_subvector(InterpState &S, CodePtr OpPC,
29192919
unsigned ID) {
29202920
assert(Call->getNumArgs() == 3);
29212921

2922-
PrimType ImmPT = *S.getContext().classify(Call->getArg(2));
2923-
APSInt ImmAPS = popToAPSInt(S.Stk, ImmPT);
2922+
APSInt ImmAPS = popToAPSInt(S, Call->getArg(2));
29242923
uint64_t Index = ImmAPS.getZExtValue();
29252924

29262925
const Pointer &SubVec = S.Stk.pop<Pointer>();
29272926
if (!SubVec.getFieldDesc()->isPrimitiveArray())
29282927
return false;
29292928

2930-
const Pointer &DstVec = S.Stk.pop<Pointer>();
2931-
if (!DstVec.getFieldDesc()->isPrimitiveArray())
2929+
const Pointer &BaseVec = S.Stk.pop<Pointer>();
2930+
if (!BaseVec.getFieldDesc()->isPrimitiveArray())
29322931
return false;
29332932

2934-
const Pointer &Result = S.Stk.peek<Pointer>();
2933+
const Pointer &Dst = S.Stk.peek<Pointer>();
29352934

2936-
unsigned DstElements = DstVec.getNumElems();
2935+
unsigned BaseElements = BaseVec.getNumElems();
29372936
unsigned SubElements = SubVec.getNumElems();
29382937

2939-
assert(SubElements != 0 && DstElements != 0 && (DstElements % SubElements) == 0);
2938+
assert(SubElements != 0 && BaseElements != 0 && (BaseElements % SubElements) == 0);
29402939

2941-
unsigned NumLanes = DstElements / SubElements;
2940+
unsigned NumLanes = BaseElements / SubElements;
29422941
unsigned Lane = static_cast<unsigned>(Index % NumLanes);
29432942
unsigned InsertPos = Lane * SubElements;
29442943

2945-
PrimType ElemPT = DstVec.getFieldDesc()->getPrimType();
2944+
PrimType ElemPT = BaseVec.getFieldDesc()->getPrimType();
29462945

29472946
TYPE_SWITCH(ElemPT, {
2948-
for (unsigned I = 0; I != DstElements; ++I)
2949-
Result.elem<T>(I) = DstVec.elem<T>(I);
2950-
2947+
for (unsigned I = 0; I != BaseElements; ++I)
2948+
Dst.elem<T>(I) = BaseVec.elem<T>(I);
29512949
for (unsigned I = 0; I != SubElements; ++I)
2952-
Result.elem<T>(InsertPos + I) = SubVec.elem<T>(I);
2950+
Dst.elem<T>(InsertPos + I) = SubVec.elem<T>(I);
29532951
});
29542952

2955-
Result.initializeAllElements();
2953+
Dst.initializeAllElements();
29562954

29572955
return true;
29582956
}

0 commit comments

Comments
 (0)