Displaying 6 results from an estimated 6 matches for "hlsmask".
2009 Apr 01
2
[LLVMdev] Shuffle combine
Hi Stefanus,
Thanks for the info. I still think it's a bug though. Take for example a
case where the vectors each have four elements. The values in Mask[] can
range from 0 to 7, while HLSMask only has 4 elements. So LHSMask[Mask[i]]
can go out of bounds, no?
Cheers,
Nicolas
From: llvmdev-bounces at cs.uiuc.edu [mailto:llvmdev-bounces at cs.uiuc.edu] On
Behalf Of Stefanus Du Toit
Sent: woensdag 1 april 2009 16:31
To: LLVM Developers Mailing List
Subject: Re: [LLVMdev] Shuffle...
2009 Apr 02
2
[LLVMdev] Shuffle combine
...rs Mailing List
Subject: Re: [LLVMdev] Shuffle combine
On 1-Apr-09, at 12:42 PM, Nicolas Capens wrote:
Hi Stefanus,
Thanks for the info. I still think it's a bug though. Take for example a
case where the vectors each have four elements. The values in Mask[] can
range from 0 to 7, while HLSMask only has 4 elements. So LHSMask[Mask[i]]
can go out of bounds, no?
Good point! One easy way to fix this would be to use:
if (Mask[i] >= e) {
instead. The code could also be improved to consider the new mask equal to
lhsmask/mask in places where they both refer to undefined elements....
2009 Apr 01
0
[LLVMdev] Shuffle combine
On 1-Apr-09, at 12:42 PM, Nicolas Capens wrote:
> Hi Stefanus,
>
> Thanks for the info. I still think it’s a bug though. Take for
> example a case where the vectors each have four elements. The values
> in Mask[] can range from 0 to 7, while HLSMask only has 4 elements.
> So LHSMask[Mask[i]] can go out of bounds, no?
Good point! One easy way to fix this would be to use:
if (Mask[i] >= e) {
instead. The code could also be improved to consider the new mask
equal to lhsmask/mask in places where they both refer to undefined
elements...
2009 Apr 03
0
[LLVMdev] Shuffle combine
...e: [LLVMdev] Shuffle combine
>
> On 1-Apr-09, at 12:42 PM, Nicolas Capens wrote:
> Hi Stefanus,
>
> Thanks for the info. I still think it’s a bug though. Take for
> example a case where the vectors each have four elements. The values
> in Mask[] can range from 0 to 7, while HLSMask only has 4 elements.
> So LHSMask[Mask[i]] can go out of bounds, no?
>
> Good point! One easy way to fix this would be to use:
>
> if (Mask[i] >= e) {
>
> instead. The code could also be improved to consider the new mask
> equal to lhsmask/mask in places where they bo...
2009 Apr 01
0
[LLVMdev] Shuffle combine
Hi Nicolas,
On 1-Apr-09, at 7:34 AM, Nicolas Capens wrote:
> I’m having some trouble understanding the following lines in
> InstructionCombining.cpp, which possibly contain a bug:
>
> if (Mask[i] >= 2*e)
> NewMask.push_back(2*e);
> else
> NewMask.push_back(LHSMask[Mask[i]]);
>
> When Mask[i] is bigger than the size of LHSMask it reads out of
> bounds
2009 Apr 01
2
[LLVMdev] Shuffle combine
Hi all,
I'm having some trouble understanding the following lines in
InstructionCombining.cpp, which possibly contain a bug:
if (Mask[i] >= 2*e)
NewMask.push_back(2*e);
else
NewMask.push_back(LHSMask[Mask[i]]);
When Mask[i] is bigger than the size of LHSMask it reads out of bounds on
that last line. I believe the first line is there to try to prevent that but
then it