[PATCH] R600/SI: Fix f64 inline immediates

Matt Arsenault arsenm2 at gmail.com
Fri Feb 13 11:07:10 PST 2015


> On Feb 13, 2015, at 7:35 AM, Tom Stellard <tom at stellard.net> wrote:
> 
> On Thu, Feb 12, 2015 at 06:15:52PM -0800, Matt Arsenault wrote:
>> 
>>> On Feb 6, 2015, at 10:53 AM, Matt Arsenault <arsenm2 at gmail.com <mailto:arsenm2 at gmail.com>> wrote:
>>> 
>>>> 
>>>> On Jan 31, 2015, at 3:46 PM, Matt Arsenault <arsenm2 at gmail.com <mailto:arsenm2 at gmail.com> <mailto:arsenm2 at gmail.com <mailto:arsenm2 at gmail.com>>> wrote:
>>>> 
>>>> 
>>>>> On Dec 12, 2014, at 2:54 PM, Matt Arsenault <arsenm2 at gmail.com <mailto:arsenm2 at gmail.com> <mailto:arsenm2 at gmail.com <mailto:arsenm2 at gmail.com>>> wrote:
>>>>> 
>>>>> 
>>>>>> On Dec 11, 2014, at 9:36 PM, Tom Stellard <tom at stellard.net <mailto:tom at stellard.net> <mailto:tom at stellard.net <mailto:tom at stellard.net>>> wrote:
>>>>>> 
>>>>>> On Thu, Dec 11, 2014 at 06:40:06PM -0500, Matt Arsenault wrote:
>>>>>>> 
>>>>>>>> On Dec 11, 2014, at 6:15 PM, Tom Stellard <tom at stellard.net <mailto:tom at stellard.net> <mailto:tom at stellard.net <mailto:tom at stellard.net>>> wrote:
>>>>>>>> 
>>>>>>>> On Tue, Nov 25, 2014 at 01:04:06PM -0500, Matt Arsenault wrote:
>>>>>>>>> 
>>>>>>>>>> On Nov 21, 2014, at 1:51 PM, Matt Arsenault <arsenm2 at gmail.com <mailto:arsenm2 at gmail.com> <mailto:arsenm2 at gmail.com <mailto:arsenm2 at gmail.com>>> wrote:
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>>> On Nov 16, 2014, at 4:34 AM, Matt Arsenault <arsenm2 at gmail.com <mailto:arsenm2 at gmail.com> <mailto:arsenm2 at gmail.com <mailto:arsenm2 at gmail.com>>> wrote:
>>>>>>>>>>> 
>>>>>>>>>>> 
>>>>>>>>>>>> On Nov 3, 2014, at 3:59 PM, Matt Arsenault <arsenm2 at gmail.com <mailto:arsenm2 at gmail.com> <mailto:arsenm2 at gmail.com <mailto:arsenm2 at gmail.com>>> wrote:
>>>>>>>>>>>> 
>>>>>>>>>>>> 
>>>>>>>>>>>>> On Oct 17, 2014, at 1:52 PM, Matt Arsenault <arsenm2 at gmail.com <mailto:arsenm2 at gmail.com> <mailto:arsenm2 at gmail.com <mailto:arsenm2 at gmail.com>>> wrote:
>>>>>>>>>>>>> 
>>>>>>>>>>>>> 
>>>>>>>>>>>>> On Oct 10, 2014, at 2:08 PM, Matt Arsenault <arsenm2 at gmail.com <mailto:arsenm2 at gmail.com> <mailto:arsenm2 at gmail.com <mailto:arsenm2 at gmail.com>>> wrote:
>>>>>>>>>>>>> 
>>>>>>>>>>>>>> Hi,
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>> These allows using double inline immediates which before were split into 2 moves to materialize these
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>> <0001-R600-SI-Don-t-verify-constant-bus-usage-of-flag-ops.patch><0002-R600-SI-Fix-f64-inline-immediates.patch><0003-R600-SI-Allow-f64-inline-immediates-in-i64-operands.patch>
>>>>>>>>>>>>> 
>>>>>>>>>>>>> 
>>>>>>>>>>>>> ping
>>>>>>>>>>>> 
>>>>>>>>>>>> ping
>>>>>>>>>>> 
>>>>>>>>>>> Updated patches
>>>>>>>>>>> 
>>>>>>>>>>> 
>>>>>>>>>>> <0001-R600-SI-Don-t-verify-constant-bus-usage-of-flag-ops.patch><0002-R600-SI-Fix-f64-inline-immediates.patch><0003-R600-SI-Allow-f64-inline-immediates-in-i64-operands.patch>
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> ping
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> Updated patches after SIFoldOperands
>>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> The first 2 patches LGTM.  Could you rebase the other two so I can test
>>>>>>>> them.
>>>>>>>> 
>>>>>>>> -Tom
>>>>>>>> 
>>>>>>>> 
>>>>>>>>> _______________________________________________
>>>>>>>>> llvm-commits mailing list
>>>>>>>>> llvm-commits at cs.uiuc.edu <mailto:llvm-commits at cs.uiuc.edu> <mailto:llvm-commits at cs.uiuc.edu <mailto:llvm-commits at cs.uiuc.edu>> <mailto:llvm-commits at cs.uiuc.edu <mailto:llvm-commits at cs.uiuc.edu> <mailto:llvm-commits at cs.uiuc.edu <mailto:llvm-commits at cs.uiuc.edu>>>
>>>>>>>>> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits <http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits> <http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits <http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits>> <http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits <http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits><http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits <http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits>>>
>>>>>>> 
>>>>>>> r224078-r224079 for the first two.
>>>>>>> 
>>>>>>> Rebased second two:
>>>>>> 
>>>>>> Patch 1: LGTM
>>>>>> 
>>>>>> Patch 2 breaks the encoding of immediates:
>>>>>> 
>>>>>>       v_mov_b32_e32 v3, 0x41100000    ; 7E0602FF 00000000
>>>>>>       v_mov_b32_e32 v2, 0x40c00000    ; 7E0402FF 00000000
>>>>>>       v_mov_b32_e32 v1, 0x40400000    ; 7E0202FF 00000000
>>>>>> 
>>>>>> 
>>>>>> -Tom
>>>>> 
>>>>> 
>>>>> I’m not seeing this?:
>>>>> 
>>>>> define void @store_literal(i32 addrspace(1)* %out) {
>>>>>  store i32 u0x41100000, i32 addrspace(1)* %out
>>>>>  ret void
>>>>> }
>>>>> 
>>>>> -show-mc-encoding says
>>>>> v_mov_b32_e32 v0, 0x41100000    ; encoding: [0xff,0x02,0x00,0x7e,0x00,0x00,0x10,0x41]
>>>>> 
>>>> 
>>>> 
>>>> Updated patches
>>>> 
>>>> <0001-R600-SI-Remove-unnecessary-check-for-fpimm.patch>
>>>> <0002-R600-SI-Allow-f64-inline-immediates-in-i64-operands.patch>
>>>> <0003-R600-SI-Remove-handling-of-fpimm.patch>
>>>> 
>>>> 
>>> 
>>> 
>> 
>> Updated patches that stop the encoder from assuming that inline integer immediate were sign extended to 64-bit. When immediates are split and generally handled other places, the upper bits of the constants are ignored.
>> 
> 
> 
> LGTM for all 3 patches.
> 
> -Tom


r229034, r229134, r229135 plus some test changes

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150213/275b8277/attachment.html>


More information about the llvm-commits mailing list