Skip to content

Commit b2ef745

Browse files
jgu222igcbot
authored andcommitted
Fixed wrong execLaneMask when execSize is 32
Fixed getExecLaneMask(), which gaves 0 when execSize=32. The correct way is to do shift in 64 bits and cast the result to 32bit.
1 parent 1d2d0cf commit b2ef745

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

visa/G4_IR.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7348,7 +7348,7 @@ void G4_INST::setImplAccDst(G4_DstRegRegion* opnd)
73487348
// will have 0xFF00, which lane 8-15
73497349
unsigned G4_INST::getExecLaneMask() const
73507350
{
7351-
unsigned maskbits = (1 << getExecSize()) - 1;
7351+
unsigned maskbits = (unsigned)(((uint64_t)1 << getExecSize()) - 1);
73527352
unsigned chanOffset = getMaskOffset();
73537353
return (maskbits << chanOffset);
73547354
}

0 commit comments

Comments
 (0)