[llvm-commits] [FIX+regression-test] PR13617: LLVM+Clang emits movw instrucionts with -march=armv6zk
Evan Cheng
evan.cheng at apple.com
Tue Sep 18 15:03:29 PDT 2012
Sorry, I completely missed your patch. I've just commit the exact same fix (r164169).
Evan
On Sep 10, 2012, at 12:54 AM, Stepan Dyatkovskiy <STPWORLD at narod.ru> wrote:
> ping, patch link:
> http://lists.cs.uiuc.edu/pipermail/llvm-commits/attachments/20120907/0ad12de5/attachment.bin
> Stepan Dyatkovskiy wrote:
>> Reattached.
>> -Stepan.
>> Bill Wendling wrote:
>>> ENOPATCH.
>>>
>>> -bw
>>>
>>> On Sep 5, 2012, at 3:13 AM, Stepan Dyatkovskiy <STPWORLD at narod.ru> wrote:
>>>
>>>> ping.
>>>> Stepan Dyatkovskiy wrote:
>>>>> ping...
>>>>> Stepan Dyatkovskiy wrote:
>>>>>> ping.
>>>>>> Stepan Dyatkovskiy wrote:
>>>>>>> Hi all!
>>>>>>>
>>>>>>> The bug is fired when dag-to-dag isel meets 'add' instruction with
>>>>>>> second operand that is negative number less than -256. E.g.:
>>>>>>> add %var, -1000
>>>>>>>
>>>>>>> ARM dag-to-dag instruction selector matches the pattern that emits
>>>>>>> (sub %var (MOVi16 Rd, 1000))
>>>>>>>
>>>>>>> After fast TableGen learning, I found that it ignores instruction
>>>>>>> predicates for patterns (ARMPat, ARMV6Pat and so on) while generating
>>>>>>> MatcherTable. So it ignores restrictions defined for MOVi16
>>>>>>> instruction
>>>>>>> (ARMv6t2 and higher).
>>>>>>>
>>>>>>> I also found that for several patterns this behaviour compensated by
>>>>>>> adding 'Requires' predicate explicitly. So, I did the same in this
>>>>>>> patch. Please find the patch in attachment for review.
>>>>>>>
>>>>>>> -Stepan.
>>>>>>
>>>>>
>>>>
>>>> _______________________________________________
>>>> llvm-commits mailing list
>>>> llvm-commits at cs.uiuc.edu
>>>> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>>>
>>
>>
>>
>> _______________________________________________
>> llvm-commits mailing list
>> llvm-commits at cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
More information about the llvm-commits
mailing list