search for: m_apint

Displaying 8 results from an estimated 8 matches for "m_apint".

Did you mean: apint
2016 Jul 20
2
Hitting assertion failure related to vectorization + instcombine
...ne 1. Running pass 'Function Pass Manager' on module '<stdin>'. 2. Running pass 'Combine redundant instructions' on function '@strsave' --- Looking at the code, the issue is with this line: if (TrueVal == X && match(FalseVal, m_And(m_Specific(X), m_APInt(C))) && *Y == ~*C) In this case Y is a 128-bit APInt, and so is the value that C is extracted from, but the m_APInt matcher has code that calls getSplatValue() if the matched expression has vector type. So C ends up as an 8-bit value, triggering the assertion failure on the call to...
2016 Jul 20
2
Hitting assertion failure related to vectorization + instcombine
...e '<stdin>'. >> 2. Running pass 'Combine redundant instructions' on function '@strsave' >> >> --- >> >> Looking at the code, the issue is with this line: >> >> if (TrueVal == X && match(FalseVal, m_And(m_Specific(X), m_APInt(C))) && >> *Y == ~*C) >> >> In this case Y is a 128-bit APInt, and so is the value that C is >> extracted from, but the m_APInt matcher has code that calls getSplatValue() >> if the matched expression has vector type. So C ends up as an 8-bit value, &gt...
2016 Jul 22
2
Hitting assertion failure related to vectorization + instcombine
...pass 'Combine redundant instructions' on function '@strsave' >>>> >>>> --- >>>> >>>> Looking at the code, the issue is with this line: >>>> >>>> if (TrueVal == X && match(FalseVal, m_And(m_Specific(X), m_APInt(C))) >>>> && >>>> *Y == ~*C) >>>> >>>> In this case Y is a 128-bit APInt, and so is the value that C is >>>> extracted from, but the m_APInt matcher has code that calls getSplatValue() >>>> if the matched expres...
2016 Jul 25
2
Hitting assertion failure related to vectorization + instcombine
...;> >>>> >> >>>> --- >> >>>> >> >>>> Looking at the code, the issue is with this line: >> >>>> >> >>>> if (TrueVal == X && match(FalseVal, m_And(m_Specific(X), >> >>>> m_APInt(C))) >> >>>> && >> >>>> *Y == ~*C) >> >>>> >> >>>> In this case Y is a 128-bit APInt, and so is the value that C is >> >>>> extracted from, but the m_APInt matcher has code that calls >>...
2016 Jul 27
0
Hitting assertion failure related to vectorization + instcombine
...gt;>> >>>> --- >>> >>>> >>> >>>> Looking at the code, the issue is with this line: >>> >>>> >>> >>>> if (TrueVal == X && match(FalseVal, m_And(m_Specific(X), >>> >>>> m_APInt(C))) >>> >>>> && >>> >>>> *Y == ~*C) >>> >>>> >>> >>>> In this case Y is a 128-bit APInt, and so is the value that C is >>> >>>> extracted from, but the m_APInt matcher has code...
2016 Jul 28
1
Hitting assertion failure related to vectorization + instcombine
...gt; --- > >>> >>>> > >>> >>>> Looking at the code, the issue is with this line: > >>> >>>> > >>> >>>> if (TrueVal == X && match(FalseVal, m_And(m_Specific(X), > >>> >>>> m_APInt(C))) > >>> >>>> && > >>> >>>> *Y == ~*C) > >>> >>>> > >>> >>>> In this case Y is a 128-bit APInt, and so is the value that C is > >>> >>>> extracted from, but the...
2017 Mar 30
2
InstructionSimplify: adding a hook for shufflevector instructions
...e) and we're converting target-specific vector source to generic vector IR whenever possible, it makes sense to add these kinds of optimizations. One frequently visible sign of scalar privilege in instcombine is the use of "m_ConstantInt". In many cases, this can be converted to "m_APInt" without much effort, and the transform will auto-magically apply to splat vector constants too. --------------------------------------------------------------------- Intel Israel (74) Limited This e-mail and any attachments may contain confidential material for the sole use of the intende...
2017 Mar 30
2
InstructionSimplify: adding a hook for shufflevector instructions
As Sanjay noted in D31426<https://reviews.llvm.org/D31426#712701>, InstructionSimplify is missing the following simplification: This function: define <4 x i32> @splat_operand(<4 x i32> %x) { %splat = shufflevector <4 x i32> %x, <4 x i32> undef, <4 x i32> zeroinitializer %shuf = shufflevector <4 x i32> %splat, <4 x i32> undef, <4 x i32>