[Piglit] [PATCH 07/10] cl: Add test for negative index + small offset for private

Matt Arsenault arsenm2 at gmail.com
Tue Dec 6 19:05:54 UTC 2016


> On Dec 6, 2016, at 11:04, Jan Vesely <jan.vesely at rutgers.edu> wrote:
> 
> On Tue, 2016-12-06 at 10:52 -0800, Matt Arsenault wrote:
>>> On Dec 5, 2016, at 12:42, Jan Vesely <jan.vesely at rutgers.edu> wrote:
>>> 
>>> On Mon, 2016-12-05 at 09:48 -0800, arsenm2 at gmail.com <mailto:arsenm2 at gmail.com> wrote:
>>>> From: Matt Arsenault <arsenm2 at gmail.com>
>>>> 
>>>> ---
>>>> .../execute/negative-private-base-pointer.cl       | 120 +++++++++++++++++++++
>>>> 1 file changed, 120 insertions(+)
>>>> create mode 100644 tests/cl/program/execute/negative-private-base-pointer.cl
>>>> 
>>>> diff --git a/tests/cl/program/execute/negative-private-base-pointer.cl b/tests/cl/program/execute/negative-private-base-pointer.cl
>>>> new file mode 100644
>>>> index 0000000..7ee528b
>>>> --- /dev/null
>>>> +++ b/tests/cl/program/execute/negative-private-base-pointer.cl
>>>> @@ -0,0 +1,120 @@
>>>> +/*!
>>>> +[config]
>>>> +name: negative private buffer base index
>>>> +clc_version_min: 10
>>>> +dimensions: 1
>>>> +
>>>> +[test]
>>>> +kernel_name: read_write_private_base_plus_offset
>>>> +name: negative base private index
>>>> +global_size: 1 0 0
>>>> +
>>>> +arg_out: 0 buffer int[16]  \
>>>> +  0xab       \
>>>> +  0xbc       \
>>>> +  0xabcd     \
>>>> +  0xdead     \
>>>> +             \
>>>> +  0xcafe     \
>>>> +  0xf00d     \
>>>> +  0xababfeed \
>>>> +  0xca00fe   \
>>>> +             \
>>>> +  0xb00feed  \
>>>> +  0xca00fe   \
>>>> +  0xfeedbeef \
>>>> +  0xfe       \
>>>> +             \
>>>> +  0xbe00fe   \
>>>> +  0xabcdef   \
>>>> +  0xbeef     \
>>>> +  0xde
>>>> +
>>>> +
>>>> +arg_in: 1 buffer int[16] \
>>>> +    -1 \
>>>> +    -1 \
>>>> +    -4 \
>>>> +    -4 \
>>>> +       \
>>>> +    -3 \
>>>> +    -4 \
>>>> +    -2 \
>>>> +  -115 \
>>>> +       \
>>>> +  -109 \
>>>> + -1015 \
>>>> + -1011 \
>>>> + -1020 \
>>>> +       \
>>>> + -1014 \
>>>> +  -137 \
>>>> +  -151 \
>>>> +   -40
>>>> +
>>>> +!*/
>>>> +
>>>> +#if 0
>>>> +  0xab   \
>>>> +  0xbc   \
>>>> +  0xf00d \
>>>> +  0xdead \
>>>> +  0xcafe \
>>>> +  0xabcd \
>>>> +  0xababfeed \
>>>> +  0xca00fe   \
>>>> +  0xb00feed  \
>>>> +  0xca00fe   \
>>>> +  0xfeedbeef \
>>>> +  0xfe       \
>>>> +  0xbe00fe   \
>>>> +  0xabcdef   \
>>>> +  0xbeef     \
>>>> +  0xde
>>>> +#endif
>>>> +
>>>> +kernel void read_write_private_base_plus_offset(global int* out, global int* in)
>>>> +{
>>>> +    volatile int alloca[16];
>>> 
>>> does this need to be volatile?
>>> 
>>> other than that:
>>> Reviewed-by: Jan Vesely <jan.vesely at rutgers.edu <mailto:jan.vesely at rutgers.edu>>
>>> 
>>> Jan
>> 
>> Yes, otherwise the private memory access will be trivially optimized
>> out defeating the point of the test
> 
> I don't get the trivial part. what would that be optimized to? the
> indices are using values from input buffer (therefore unknown), so it
> cannot directly match the constants to corresponding position in out
> buffer.
> 
> Jan

This could be replaced with a series of selects or hit the move to LDS optimization 

-Matt


More information about the Piglit mailing list