2018-02-05 13:45:43 +01:00
/ / RUN : not l l v m - m c - a r c h =amdgcn - s h o w - e n c o d i n g % s | F i l e C h e c k % s - - c h e c k - p r e f i x =GCN - - c h e c k - p r e f i x =SICI - - c h e c k - p r e f i x =SICIVI
/ / RUN : not l l v m - m c - a r c h =amdgcn - m c p u =tahiti - s h o w - e n c o d i n g % s | F i l e C h e c k % s - - c h e c k - p r e f i x =GCN - - c h e c k - p r e f i x =SICI - - c h e c k - p r e f i x =SICIVI
/ / RUN : not l l v m - m c - a r c h =amdgcn - m c p u =bonaire - s h o w - e n c o d i n g % s | F i l e C h e c k % s - - c h e c k - p r e f i x =GCN - - c h e c k - p r e f i x =SICI - - c h e c k - p r e f i x =SICIVI
2018-02-05 15:18:53 +01:00
/ / RUN : not l l v m - m c - a r c h =amdgcn - m c p u =fiji - s h o w - e n c o d i n g % s | F i l e C h e c k % s - - c h e c k - p r e f i x =GCN - - c h e c k - p r e f i x =SICIVI - - c h e c k - p r e f i x =VI - - c h e c k - p r e f i x =GFX89 - - c h e c k - p r e f i x =GFX8_0
/ / RUN : not l l v m - m c - a r c h =amdgcn - m c p u =gfx810 - s h o w - e n c o d i n g % s | F i l e C h e c k % s - - c h e c k - p r e f i x =GCN - - c h e c k - p r e f i x =SICIVI - - c h e c k - p r e f i x =VI - - c h e c k - p r e f i x =GFX89 - - c h e c k - p r e f i x =GFX8_1
2018-02-05 13:45:43 +01:00
/ / RUN : not l l v m - m c - a r c h =amdgcn - m c p u =gfx900 - s h o w - e n c o d i n g % s | F i l e C h e c k % s - - c h e c k - p r e f i x =GCN - - c h e c k - p r e f i x =GFX9 - - c h e c k - p r e f i x =GFX89
/ / RUN : not l l v m - m c - a r c h =amdgcn - s h o w - e n c o d i n g % s 2 > & 1 | F i l e C h e c k % s - - c h e c k - p r e f i x =NOSICI
/ / RUN : not l l v m - m c - a r c h =amdgcn - m c p u =tahiti - s h o w - e n c o d i n g % s 2 > & 1 | F i l e C h e c k % s - - c h e c k - p r e f i x =NOSICI
/ / RUN : not l l v m - m c - a r c h =amdgcn - m c p u =bonaire - s h o w - e n c o d i n g % s 2 > & 1 | F i l e C h e c k % s - - c h e c k - p r e f i x =NOSICI
2018-02-05 15:18:53 +01:00
/ / RUN : not l l v m - m c - a r c h =amdgcn - m c p u =fiji - s h o w - e n c o d i n g % s 2 > & 1 | F i l e C h e c k % s - - c h e c k - p r e f i x =NOVI - - c h e c k - p r e f i x =NOGFX8_0
/ / RUN : not l l v m - m c - a r c h =amdgcn - m c p u =gfx810 - s h o w - e n c o d i n g % s 2 > & 1 | F i l e C h e c k % s - - c h e c k - p r e f i x =NOVI - - c h e c k - p r e f i x =NOGFX8_1
2018-02-05 13:45:43 +01:00
/ / RUN : not l l v m - m c - a r c h =amdgcn - m c p u =gfx900 - s h o w - e n c o d i n g % s 2 > & 1 | F i l e C h e c k % s - - c h e c k - p r e f i x =NOGFX9
2016-02-26 10:51:05 +01:00
2018-01-19 14:49:53 +01:00
/ / = = = - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - = = = / /
/ / Image L o a d / S t o r e
/ / = = = - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - = = = / /
2016-02-26 10:51:05 +01:00
image_ l o a d v [ 4 : 6 ] , v [ 2 3 7 : 2 4 0 ] , s [ 2 8 : 3 5 ] d m a s k : 0 x7 u n o r m
2018-02-05 13:45:43 +01:00
/ / GCN : image_ l o a d v [ 4 : 6 ] , v [ 2 3 7 : 2 4 0 ] , s [ 2 8 : 3 5 ] d m a s k : 0 x7 u n o r m ; encoding: [0x00,0x17,0x00,0xf0,0xed,0x04,0x07,0x00]
2016-02-26 10:51:05 +01:00
2018-04-04 15:01:17 +02:00
image_ l o a d v4 , v23 7 , s [ 2 8 : 3 5 ]
/ / GCN : image_ l o a d v4 , v23 7 , s [ 2 8 : 3 5 ] ; encoding: [0x00,0x00,0x00,0xf0,0xed,0x04,0x07,0x00]
image_ l o a d v4 , v [ 2 3 7 : 2 3 8 ] , s [ 2 8 : 3 5 ]
/ / GCN : image_ l o a d v4 , v [ 2 3 7 : 2 3 8 ] , s [ 2 8 : 3 5 ] ; encoding: [0x00,0x00,0x00,0xf0,0xed,0x04,0x07,0x00]
image_ l o a d v4 , v [ 2 3 7 : 2 3 9 ] , s [ 2 8 : 3 5 ]
/ / GCN : image_ l o a d v4 , v [ 2 3 7 : 2 3 9 ] , s [ 2 8 : 3 5 ] ; encoding: [0x00,0x00,0x00,0xf0,0xed,0x04,0x07,0x00]
2018-01-26 17:42:51 +01:00
image_ l o a d v4 , v [ 2 3 7 : 2 4 0 ] , s [ 2 8 : 3 5 ]
2018-02-05 13:45:43 +01:00
/ / GCN : image_ l o a d v4 , v [ 2 3 7 : 2 4 0 ] , s [ 2 8 : 3 5 ] ; encoding: [0x00,0x00,0x00,0xf0,0xed,0x04,0x07,0x00]
2018-01-26 17:42:51 +01:00
image_ l o a d v [ 4 : 7 ] , v [ 2 3 7 : 2 4 0 ] , s [ 2 8 : 3 5 ] d m a s k : 0 x7 t f e
2018-02-05 13:45:43 +01:00
/ / GCN : image_ l o a d v [ 4 : 7 ] , v [ 2 3 7 : 2 4 0 ] , s [ 2 8 : 3 5 ] d m a s k : 0 x7 t f e ; encoding: [0x00,0x07,0x01,0xf0,0xed,0x04,0x07,0x00]
2018-01-26 17:42:51 +01:00
2018-01-29 15:20:42 +01:00
/ / Verify s u p p o r t o f a l l p o s s i b l e m o d i f i e r s .
/ / FIXME : This t e s t i s i n c o r r e c t b e c a u s e r12 8 a s s u m e s a 1 2 8 - b i t S R S R C .
image_ l o a d v [ 5 : 6 ] , v [ 1 : 4 ] , s [ 8 : 1 5 ] d m a s k : 0 x1 u n o r m g l c s l c r12 8 t f e l w e d a d16
2018-02-05 13:45:43 +01:00
/ / NOSICI : error : d1 6 m o d i f i e r i s n o t s u p p o r t e d o n t h i s G P U
/ / VI : image_ l o a d v [ 5 : 6 ] , v [ 1 : 4 ] , s [ 8 : 1 5 ] d m a s k : 0 x1 u n o r m g l c s l c r12 8 t f e l w e d a d16 ; encoding: [0x00,0xf1,0x03,0xf2,0x01,0x05,0x02,0x80]
/ / NOGFX9 : error : r1 2 8 m o d i f i e r i s n o t s u p p o r t e d o n t h i s G P U
2018-01-29 15:20:42 +01:00
image_ l o a d v5 , v [ 1 : 4 ] , s [ 8 : 1 5 ] d16
2018-02-05 13:45:43 +01:00
/ / NOSICI : error : d1 6 m o d i f i e r i s n o t s u p p o r t e d o n t h i s G P U
/ / GFX89 : image_ l o a d v5 , v [ 1 : 4 ] , s [ 8 : 1 5 ] d16 ; encoding: [0x00,0x00,0x00,0xf0,0x01,0x05,0x02,0x80]
image_ l o a d v5 , v [ 1 : 4 ] , s [ 8 : 1 5 ] r12 8
/ / SICIVI : image_ l o a d v5 , v [ 1 : 4 ] , s [ 8 : 1 5 ] r12 8 ; encoding: [0x00,0x80,0x00,0xf0,0x01,0x05,0x02,0x00]
/ / NOGFX9 : error : r1 2 8 m o d i f i e r i s n o t s u p p o r t e d o n t h i s G P U
2018-01-29 15:20:42 +01:00
2016-02-26 10:51:05 +01:00
image_ s t o r e v [ 1 9 3 : 1 9 5 ] , v [ 2 3 7 : 2 4 0 ] , s [ 2 8 : 3 5 ] d m a s k : 0 x7 u n o r m
2018-02-05 13:45:43 +01:00
/ / GCN : image_ s t o r e v [ 1 9 3 : 1 9 5 ] , v [ 2 3 7 : 2 4 0 ] , s [ 2 8 : 3 5 ] d m a s k : 0 x7 u n o r m ; encoding: [0x00,0x17,0x20,0xf0,0xed,0xc1,0x07,0x00]
2018-01-19 14:49:53 +01:00
2018-04-04 15:01:17 +02:00
image_ s t o r e v19 3 , v23 7 , s [ 2 8 : 3 5 ]
/ / GCN : image_ s t o r e v19 3 , v23 7 , s [ 2 8 : 3 5 ] ; encoding: [0x00,0x00,0x20,0xf0,0xed,0xc1,0x07,0x00]
image_ s t o r e v19 3 , v [ 2 3 7 : 2 3 8 ] , s [ 2 8 : 3 5 ]
/ / GCN : image_ s t o r e v19 3 , v [ 2 3 7 : 2 3 8 ] , s [ 2 8 : 3 5 ] ; encoding: [0x00,0x00,0x20,0xf0,0xed,0xc1,0x07,0x00]
image_ s t o r e v19 3 , v [ 2 3 7 : 2 3 9 ] , s [ 2 8 : 3 5 ]
/ / GCN : image_ s t o r e v19 3 , v [ 2 3 7 : 2 3 9 ] , s [ 2 8 : 3 5 ] ; encoding: [0x00,0x00,0x20,0xf0,0xed,0xc1,0x07,0x00]
2018-01-26 17:42:51 +01:00
image_ s t o r e v19 3 , v [ 2 3 7 : 2 4 0 ] , s [ 2 8 : 3 5 ]
2018-02-05 13:45:43 +01:00
/ / GCN : image_ s t o r e v19 3 , v [ 2 3 7 : 2 4 0 ] , s [ 2 8 : 3 5 ] ; encoding: [0x00,0x00,0x20,0xf0,0xed,0xc1,0x07,0x00]
2018-01-26 17:42:51 +01:00
image_ s t o r e v [ 1 9 3 : 1 9 4 ] , v [ 2 3 7 : 2 4 0 ] , s [ 2 8 : 3 5 ] t f e
2018-02-05 13:45:43 +01:00
/ / GCN : image_ s t o r e v [ 1 9 3 : 1 9 4 ] , v [ 2 3 7 : 2 4 0 ] , s [ 2 8 : 3 5 ] t f e ; encoding: [0x00,0x00,0x21,0xf0,0xed,0xc1,0x07,0x00]
2018-01-26 17:42:51 +01:00
2018-01-29 15:20:42 +01:00
/ / Verify s u p p o r t o f a l l p o s s i b l e m o d i f i e r s .
/ / FIXME : This t e s t i s i n c o r r e c t b e c a u s e r12 8 a s s u m e s a 1 2 8 - b i t S R S R C .
image_ s t o r e v5 , v [ 1 : 4 ] , s [ 8 : 1 5 ] d m a s k : 0 x1 u n o r m g l c s l c r12 8 l w e d a d16
2018-02-05 13:45:43 +01:00
/ / NOSICI : error : d1 6 m o d i f i e r i s n o t s u p p o r t e d o n t h i s G P U
/ / VI : image_ s t o r e v5 , v [ 1 : 4 ] , s [ 8 : 1 5 ] d m a s k : 0 x1 u n o r m g l c s l c r12 8 l w e d a d16 ; encoding: [0x00,0xf1,0x22,0xf2,0x01,0x05,0x02,0x80]
/ / NOGFX9 : error : r1 2 8 m o d i f i e r i s n o t s u p p o r t e d o n t h i s G P U
2018-01-29 15:20:42 +01:00
image_ s t o r e v5 , v [ 1 : 4 ] , s [ 8 : 1 5 ] d16
2018-02-05 13:45:43 +01:00
/ / NOSICI : error : d1 6 m o d i f i e r i s n o t s u p p o r t e d o n t h i s G P U
/ / GFX89 : image_ s t o r e v5 , v [ 1 : 4 ] , s [ 8 : 1 5 ] d16 ; encoding: [0x00,0x00,0x20,0xf0,0x01,0x05,0x02,0x80]
/ / FIXME : This t e s t i s i n c o r r e c t b e c a u s e r12 8 a s s u m e s a 1 2 8 - b i t S R S R C .
image_ s t o r e v5 , v [ 1 : 4 ] , s [ 8 : 1 5 ] r12 8
/ / SICIVI : image_ s t o r e v5 , v [ 1 : 4 ] , s [ 8 : 1 5 ] r12 8 ; encoding: [0x00,0x80,0x20,0xf0,0x01,0x05,0x02,0x00]
/ / NOGFX9 : error : r1 2 8 m o d i f i e r i s n o t s u p p o r t e d o n t h i s G P U
2018-01-29 15:20:42 +01:00
2018-02-05 15:18:53 +01:00
/ / = = = - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - = = = / /
/ / Image L o a d / S t o r e : d16 u n p a c k e d
/ / = = = - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - = = = / /
image_ l o a d v [ 5 : 6 ] , v [ 1 : 4 ] , s [ 8 : 1 5 ] d m a s k : 0 x3 d16
/ / NOSICI : error : d1 6 m o d i f i e r i s n o t s u p p o r t e d o n t h i s G P U
/ / GFX8_0 : image_ l o a d v [ 5 : 6 ] , v [ 1 : 4 ] , s [ 8 : 1 5 ] d m a s k : 0 x3 d16 ; encoding: [0x00,0x03,0x00,0xf0,0x01,0x05,0x02,0x80]
/ / NOGFX8_1 : error : image d a t a s i z e d o e s n o t m a t c h d m a s k a n d t f e
/ / NOGFX9 : error : image d a t a s i z e d o e s n o t m a t c h d m a s k a n d t f e
image_ l o a d v [ 5 : 7 ] , v [ 1 : 4 ] , s [ 8 : 1 5 ] d m a s k : 0 x7 d16
/ / NOSICI : error : d1 6 m o d i f i e r i s n o t s u p p o r t e d o n t h i s G P U
/ / GFX8_0 : image_ l o a d v [ 5 : 7 ] , v [ 1 : 4 ] , s [ 8 : 1 5 ] d m a s k : 0 x7 d16 ; encoding: [0x00,0x07,0x00,0xf0,0x01,0x05,0x02,0x80]
/ / NOGFX8_1 : error : image d a t a s i z e d o e s n o t m a t c h d m a s k a n d t f e
/ / NOGFX9 : error : image d a t a s i z e d o e s n o t m a t c h d m a s k a n d t f e
image_ l o a d v [ 5 : 8 ] , v [ 1 : 4 ] , s [ 8 : 1 5 ] d m a s k : 0 x f d16
/ / NOSICI : error : d1 6 m o d i f i e r i s n o t s u p p o r t e d o n t h i s G P U
/ / GFX8_0 : image_ l o a d v [ 5 : 8 ] , v [ 1 : 4 ] , s [ 8 : 1 5 ] d m a s k : 0 x f d16 ; encoding: [0x00,0x0f,0x00,0xf0,0x01,0x05,0x02,0x80]
/ / NOGFX8_1 : error : image d a t a s i z e d o e s n o t m a t c h d m a s k a n d t f e
/ / NOGFX9 : error : image d a t a s i z e d o e s n o t m a t c h d m a s k a n d t f e
image_ l o a d v [ 5 : 7 ] , v [ 1 : 4 ] , s [ 8 : 1 5 ] d m a s k : 0 x3 t f e d16
/ / NOSICI : error : d1 6 m o d i f i e r i s n o t s u p p o r t e d o n t h i s G P U
/ / GFX8_0 : image_ l o a d v [ 5 : 7 ] , v [ 1 : 4 ] , s [ 8 : 1 5 ] d m a s k : 0 x3 t f e d16 ; encoding: [0x00,0x03,0x01,0xf0,0x01,0x05,0x02,0x80]
/ / NOGFX8_1 : error : image d a t a s i z e d o e s n o t m a t c h d m a s k a n d t f e
/ / NOGFX9 : error : image d a t a s i z e d o e s n o t m a t c h d m a s k a n d t f e
image_ l o a d v [ 5 : 8 ] , v [ 1 : 4 ] , s [ 8 : 1 5 ] d m a s k : 0 x7 t f e d16
/ / NOSICI : error : d1 6 m o d i f i e r i s n o t s u p p o r t e d o n t h i s G P U
/ / GFX8_0 : image_ l o a d v [ 5 : 8 ] , v [ 1 : 4 ] , s [ 8 : 1 5 ] d m a s k : 0 x7 t f e d16 ; encoding: [0x00,0x07,0x01,0xf0,0x01,0x05,0x02,0x80]
/ / NOGFX8_1 : error : image d a t a s i z e d o e s n o t m a t c h d m a s k a n d t f e
/ / NOGFX9 : error : image d a t a s i z e d o e s n o t m a t c h d m a s k a n d t f e
/ / = = = - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - = = = / /
/ / Image L o a d / S t o r e : d16 p a c k e d
/ / = = = - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - = = = / /
image_ l o a d v5 , v [ 1 : 4 ] , s [ 8 : 1 5 ] d m a s k : 0 x3 d16
/ / NOSICI : error : d1 6 m o d i f i e r i s n o t s u p p o r t e d o n t h i s G P U
/ / NOGFX8_0 : error : image d a t a s i z e d o e s n o t m a t c h d m a s k a n d t f e
/ / GFX8_1 : image_ l o a d v5 , v [ 1 : 4 ] , s [ 8 : 1 5 ] d m a s k : 0 x3 d16 ; encoding: [0x00,0x03,0x00,0xf0,0x01,0x05,0x02,0x80]
/ / GFX9 : image_ l o a d v5 , v [ 1 : 4 ] , s [ 8 : 1 5 ] d m a s k : 0 x3 d16 ; encoding: [0x00,0x03,0x00,0xf0,0x01,0x05,0x02,0x80]
image_ l o a d v [ 5 : 6 ] , v [ 1 : 4 ] , s [ 8 : 1 5 ] d m a s k : 0 x7 d16
/ / NOSICI : error : d1 6 m o d i f i e r i s n o t s u p p o r t e d o n t h i s G P U
/ / NOGFX8_0 : error : image d a t a s i z e d o e s n o t m a t c h d m a s k a n d t f e
/ / GFX8_1 : image_ l o a d v [ 5 : 6 ] , v [ 1 : 4 ] , s [ 8 : 1 5 ] d m a s k : 0 x7 d16 ; encoding: [0x00,0x07,0x00,0xf0,0x01,0x05,0x02,0x80]
/ / GFX9 : image_ l o a d v [ 5 : 6 ] , v [ 1 : 4 ] , s [ 8 : 1 5 ] d m a s k : 0 x7 d16 ; encoding: [0x00,0x07,0x00,0xf0,0x01,0x05,0x02,0x80]
image_ l o a d v [ 5 : 6 ] , v [ 1 : 4 ] , s [ 8 : 1 5 ] d m a s k : 0 x f d16
/ / NOSICI : error : d1 6 m o d i f i e r i s n o t s u p p o r t e d o n t h i s G P U
/ / NOGFX8_0 : error : image d a t a s i z e d o e s n o t m a t c h d m a s k a n d t f e
/ / GFX8_1 : image_ l o a d v [ 5 : 6 ] , v [ 1 : 4 ] , s [ 8 : 1 5 ] d m a s k : 0 x f d16 ; encoding: [0x00,0x0f,0x00,0xf0,0x01,0x05,0x02,0x80]
/ / GFX9 : image_ l o a d v [ 5 : 6 ] , v [ 1 : 4 ] , s [ 8 : 1 5 ] d m a s k : 0 x f d16 ; encoding: [0x00,0x0f,0x00,0xf0,0x01,0x05,0x02,0x80]
image_ l o a d v [ 5 : 6 ] , v [ 1 : 4 ] , s [ 8 : 1 5 ] d m a s k : 0 x3 t f e d16
/ / NOSICI : error : d1 6 m o d i f i e r i s n o t s u p p o r t e d o n t h i s G P U
/ / NOGFX8_0 : error : image d a t a s i z e d o e s n o t m a t c h d m a s k a n d t f e
/ / GFX8_1 : image_ l o a d v [ 5 : 6 ] , v [ 1 : 4 ] , s [ 8 : 1 5 ] d m a s k : 0 x3 t f e d16 ; encoding: [0x00,0x03,0x01,0xf0,0x01,0x05,0x02,0x80]
/ / GFX9 : image_ l o a d v [ 5 : 6 ] , v [ 1 : 4 ] , s [ 8 : 1 5 ] d m a s k : 0 x3 t f e d16 ; encoding: [0x00,0x03,0x01,0xf0,0x01,0x05,0x02,0x80]
image_ l o a d v [ 5 : 7 ] , v [ 1 : 4 ] , s [ 8 : 1 5 ] d m a s k : 0 x7 t f e d16
/ / NOSICI : error : d1 6 m o d i f i e r i s n o t s u p p o r t e d o n t h i s G P U
/ / NOGFX8_0 : error : image d a t a s i z e d o e s n o t m a t c h d m a s k a n d t f e
/ / GFX8_1 : image_ l o a d v [ 5 : 7 ] , v [ 1 : 4 ] , s [ 8 : 1 5 ] d m a s k : 0 x7 t f e d16 ; encoding: [0x00,0x07,0x01,0xf0,0x01,0x05,0x02,0x80]
/ / GFX9 : image_ l o a d v [ 5 : 7 ] , v [ 1 : 4 ] , s [ 8 : 1 5 ] d m a s k : 0 x7 t f e d16 ; encoding: [0x00,0x07,0x01,0xf0,0x01,0x05,0x02,0x80]
image_ l o a d v [ 5 : 7 ] , v [ 1 : 4 ] , s [ 8 : 1 5 ] d m a s k : 0 x f t f e d16
/ / NOSICI : error : d1 6 m o d i f i e r i s n o t s u p p o r t e d o n t h i s G P U
/ / NOGFX8_0 : error : image d a t a s i z e d o e s n o t m a t c h d m a s k a n d t f e
/ / GFX8_1 : image_ l o a d v [ 5 : 7 ] , v [ 1 : 4 ] , s [ 8 : 1 5 ] d m a s k : 0 x f t f e d16 ; encoding: [0x00,0x0f,0x01,0xf0,0x01,0x05,0x02,0x80]
/ / GFX9 : image_ l o a d v [ 5 : 7 ] , v [ 1 : 4 ] , s [ 8 : 1 5 ] d m a s k : 0 x f t f e d16 ; encoding: [0x00,0x0f,0x01,0xf0,0x01,0x05,0x02,0x80]
2018-10-31 11:34:48 +01:00
/ / = = = - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - = = = / /
/ / Image L o a d / S t o r e : a16
/ / = = = - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - = = = / /
image_ l o a d v5 , v [ 1 : 2 ] , s [ 8 : 1 5 ] u n o r m a16
/ / GFX9 : image_ l o a d v5 , v [ 1 : 2 ] , s [ 8 : 1 5 ] u n o r m a16 ; encoding: [0x00,0x90,0x00,0xf0,0x01,0x05,0x02,0x00]
/ / NOSICI : error : a1 6 m o d i f i e r i s n o t s u p p o r t e d o n t h i s G P U
/ / NOVI : error : a1 6 m o d i f i e r i s n o t s u p p o r t e d o n t h i s G P U
image_ l o a d v [ 5 : 6 ] , v [ 1 : 2 ] , s [ 8 : 1 5 ] d m a s k : 0 x3 u n o r m a16
/ / GFX9 : image_ l o a d v [ 5 : 6 ] , v [ 1 : 2 ] , s [ 8 : 1 5 ] d m a s k : 0 x3 u n o r m a16 ; encoding: [0x00,0x93,0x00,0xf0,0x01,0x05,0x02,0x00]
/ / NOSICI : error : a1 6 m o d i f i e r i s n o t s u p p o r t e d o n t h i s G P U
/ / NOVI : error : a1 6 m o d i f i e r i s n o t s u p p o r t e d o n t h i s G P U
image_ l o a d v [ 5 : 7 ] , v [ 1 : 2 ] , s [ 8 : 1 5 ] d m a s k : 0 x7 u n o r m a16
/ / GFX9 : image_ l o a d v [ 5 : 7 ] , v [ 1 : 2 ] , s [ 8 : 1 5 ] d m a s k : 0 x7 u n o r m a16 ; encoding: [0x00,0x97,0x00,0xf0,0x01,0x05,0x02,0x00]
/ / NOSICI : error : a1 6 m o d i f i e r i s n o t s u p p o r t e d o n t h i s G P U
/ / NOVI : error : a1 6 m o d i f i e r i s n o t s u p p o r t e d o n t h i s G P U
image_ l o a d v [ 5 : 8 ] , v [ 1 : 2 ] , s [ 8 : 1 5 ] d m a s k : 0 x f u n o r m a16
/ / GFX9 : image_ l o a d v [ 5 : 8 ] , v [ 1 : 2 ] , s [ 8 : 1 5 ] d m a s k : 0 x f u n o r m a16 ; encoding: [0x00,0x9f,0x00,0xf0,0x01,0x05,0x02,0x00]
/ / NOSICI : error : a1 6 m o d i f i e r i s n o t s u p p o r t e d o n t h i s G P U
/ / NOVI : error : a1 6 m o d i f i e r i s n o t s u p p o r t e d o n t h i s G P U
image_ s t o r e v5 , v [ 1 : 2 ] , s [ 8 : 1 5 ] u n o r m a16
/ / GFX9 : image_ s t o r e v5 , v [ 1 : 2 ] , s [ 8 : 1 5 ] u n o r m a16 ; encoding: [0x00,0x90,0x20,0xf0,0x01,0x05,0x02,0x00]
/ / NOSICI : error : a1 6 m o d i f i e r i s n o t s u p p o r t e d o n t h i s G P U
/ / NOVI : error : a1 6 m o d i f i e r i s n o t s u p p o r t e d o n t h i s G P U
image_ s t o r e v [ 5 : 6 ] , v [ 1 : 2 ] , s [ 8 : 1 5 ] d m a s k : 0 x3 u n o r m a16
/ / GFX9 : image_ s t o r e v [ 5 : 6 ] , v [ 1 : 2 ] , s [ 8 : 1 5 ] d m a s k : 0 x3 u n o r m a16 ; encoding: [0x00,0x93,0x20,0xf0,0x01,0x05,0x02,0x00]
/ / NOSICI : error : a1 6 m o d i f i e r i s n o t s u p p o r t e d o n t h i s G P U
/ / NOVI : error : a1 6 m o d i f i e r i s n o t s u p p o r t e d o n t h i s G P U
image_ s t o r e v [ 5 : 7 ] , v [ 1 : 2 ] , s [ 8 : 1 5 ] d m a s k : 0 x7 u n o r m a16
/ / GFX9 : image_ s t o r e v [ 5 : 7 ] , v [ 1 : 2 ] , s [ 8 : 1 5 ] d m a s k : 0 x7 u n o r m a16 ; encoding: [0x00,0x97,0x20,0xf0,0x01,0x05,0x02,0x00]
/ / NOSICI : error : a1 6 m o d i f i e r i s n o t s u p p o r t e d o n t h i s G P U
/ / NOVI : error : a1 6 m o d i f i e r i s n o t s u p p o r t e d o n t h i s G P U
image_ s t o r e v [ 5 : 8 ] , v [ 1 : 2 ] , s [ 8 : 1 5 ] d m a s k : 0 x f u n o r m a16
/ / GFX9 : image_ s t o r e v [ 5 : 8 ] , v [ 1 : 2 ] , s [ 8 : 1 5 ] d m a s k : 0 x f u n o r m a16 ; encoding: [0x00,0x9f,0x20,0xf0,0x01,0x05,0x02,0x00]
/ / NOSICI : error : a1 6 m o d i f i e r i s n o t s u p p o r t e d o n t h i s G P U
/ / NOVI : error : a1 6 m o d i f i e r i s n o t s u p p o r t e d o n t h i s G P U
/ = = = - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - = = = / /
/ / Image L o a d / S t o r e : a16 & d16
/ / = = = - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - = = = / /
image_ l o a d v5 , v [ 1 : 2 ] , s [ 8 : 1 5 ] d m a s k : 0 x3 u n o r m a16 d16
/ / GFX9 : image_ l o a d v5 , v [ 1 : 2 ] , s [ 8 : 1 5 ] d m a s k : 0 x3 u n o r m a16 d16 ; encoding: [0x00,0x93,0x00,0xf0,0x01,0x05,0x02,0x80]
/ / NOSICI : error : a1 6 m o d i f i e r i s n o t s u p p o r t e d o n t h i s G P U
/ / NOVI : error : a1 6 m o d i f i e r i s n o t s u p p o r t e d o n t h i s G P U
image_ l o a d v [ 5 : 6 ] , v [ 1 : 2 ] , s [ 8 : 1 5 ] d m a s k : 0 x7 u n o r m a16 d16
/ / GFX9 : image_ l o a d v [ 5 : 6 ] , v [ 1 : 2 ] , s [ 8 : 1 5 ] d m a s k : 0 x7 u n o r m a16 d16 ; encoding: [0x00,0x97,0x00,0xf0,0x01,0x05,0x02,0x80]
/ / NOSICI : error : a1 6 m o d i f i e r i s n o t s u p p o r t e d o n t h i s G P U
/ / NOVI : error : a1 6 m o d i f i e r i s n o t s u p p o r t e d o n t h i s G P U
image_ l o a d v [ 5 : 6 ] , v [ 1 : 2 ] , s [ 8 : 1 5 ] d m a s k : 0 x f u n o r m a16 d16
/ / GFX9 : image_ l o a d v [ 5 : 6 ] , v [ 1 : 2 ] , s [ 8 : 1 5 ] d m a s k : 0 x f u n o r m a16 d16 ; encoding: [0x00,0x9f,0x00,0xf0,0x01,0x05,0x02,0x80]
/ / NOSICI : error : a1 6 m o d i f i e r i s n o t s u p p o r t e d o n t h i s G P U
/ / NOVI : error : a1 6 m o d i f i e r i s n o t s u p p o r t e d o n t h i s G P U
image_ s t o r e v5 , v [ 1 : 2 ] , s [ 8 : 1 5 ] d m a s k : 0 x3 u n o r m a16 d16
/ / GFX9 : image_ s t o r e v5 , v [ 1 : 2 ] , s [ 8 : 1 5 ] d m a s k : 0 x3 u n o r m a16 d16 ; encoding: [0x00,0x93,0x20,0xf0,0x01,0x05,0x02,0x80]
/ / NOSICI : error : a1 6 m o d i f i e r i s n o t s u p p o r t e d o n t h i s G P U
/ / NOVI : error : a1 6 m o d i f i e r i s n o t s u p p o r t e d o n t h i s G P U
image_ s t o r e v [ 5 : 6 ] , v [ 1 : 2 ] , s [ 8 : 1 5 ] d m a s k : 0 x7 u n o r m a16 d16
/ / GFX9 : image_ s t o r e v [ 5 : 6 ] , v [ 1 : 2 ] , s [ 8 : 1 5 ] d m a s k : 0 x7 u n o r m a16 d16 ; encoding: [0x00,0x97,0x20,0xf0,0x01,0x05,0x02,0x80]
/ / NOSICI : error : a1 6 m o d i f i e r i s n o t s u p p o r t e d o n t h i s G P U
/ / NOVI : error : a1 6 m o d i f i e r i s n o t s u p p o r t e d o n t h i s G P U
image_ s t o r e v [ 5 : 6 ] , v [ 1 : 2 ] , s [ 8 : 1 5 ] d m a s k : 0 x f u n o r m a16 d16
/ / GFX9 : image_ s t o r e v [ 5 : 6 ] , v [ 1 : 2 ] , s [ 8 : 1 5 ] d m a s k : 0 x f u n o r m a16 d16 ; encoding: [0x00,0x9f,0x20,0xf0,0x01,0x05,0x02,0x80]
/ / NOSICI : error : a1 6 m o d i f i e r i s n o t s u p p o r t e d o n t h i s G P U
/ / NOVI : error : a1 6 m o d i f i e r i s n o t s u p p o r t e d o n t h i s G P U
2018-03-28 17:44:16 +02:00
/ / = = = - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - = = = / /
/ / Image L o a d / S t o r e : P C K v a r i a n t s
/ / = = = - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - = = = / /
2018-04-04 15:01:17 +02:00
image_ l o a d _ m i p _ p c k v5 , v1 , s [ 8 : 1 5 ] d m a s k : 0 x1
/ / GCN : image_ l o a d _ m i p _ p c k v5 , v1 , s [ 8 : 1 5 ] d m a s k : 0 x1 ; encoding: [0x00,0x01,0x10,0xf0,0x01,0x05,0x02,0x00]
image_ l o a d _ m i p _ p c k v5 , v [ 1 : 2 ] , s [ 8 : 1 5 ] d m a s k : 0 x1
/ / GCN : image_ l o a d _ m i p _ p c k v5 , v [ 1 : 2 ] , s [ 8 : 1 5 ] d m a s k : 0 x1 ; encoding: [0x00,0x01,0x10,0xf0,0x01,0x05,0x02,0x00]
image_ l o a d _ m i p _ p c k v5 , v [ 1 : 3 ] , s [ 8 : 1 5 ] d m a s k : 0 x1
/ / GCN : image_ l o a d _ m i p _ p c k v5 , v [ 1 : 3 ] , s [ 8 : 1 5 ] d m a s k : 0 x1 ; encoding: [0x00,0x01,0x10,0xf0,0x01,0x05,0x02,0x00]
2018-03-28 17:44:16 +02:00
image_ l o a d _ m i p _ p c k v5 , v [ 1 : 4 ] , s [ 8 : 1 5 ] d m a s k : 0 x1
/ / GCN : image_ l o a d _ m i p _ p c k v5 , v [ 1 : 4 ] , s [ 8 : 1 5 ] d m a s k : 0 x1 ; encoding: [0x00,0x01,0x10,0xf0,0x01,0x05,0x02,0x00]
image_ l o a d _ m i p _ p c k v [ 5 : 6 ] , v [ 1 : 4 ] , s [ 8 : 1 5 ] d m a s k : 0 x3
/ / GCN : image_ l o a d _ m i p _ p c k v [ 5 : 6 ] , v [ 1 : 4 ] , s [ 8 : 1 5 ] d m a s k : 0 x3 ; encoding: [0x00,0x03,0x10,0xf0,0x01,0x05,0x02,0x00]
image_ l o a d _ m i p _ p c k v [ 5 : 6 ] , v [ 1 : 4 ] , s [ 8 : 1 5 ] d m a s k : 0 x1 u n o r m g l c s l c t f e l w e d a
/ / GCN : image_ l o a d _ m i p _ p c k v [ 5 : 6 ] , v [ 1 : 4 ] , s [ 8 : 1 5 ] d m a s k : 0 x1 u n o r m g l c s l c t f e l w e d a ; encoding: [0x00,0x71,0x13,0xf2,0x01,0x05,0x02,0x00]
image_ l o a d _ m i p _ p c k _ s g n v [ 5 : 6 ] , v [ 1 : 4 ] , s [ 8 : 1 5 ] d m a s k : 0 x5
/ / GCN : image_ l o a d _ m i p _ p c k _ s g n v [ 5 : 6 ] , v [ 1 : 4 ] , s [ 8 : 1 5 ] d m a s k : 0 x5 ; encoding: [0x00,0x05,0x14,0xf0,0x01,0x05,0x02,0x00]
image_ l o a d _ p c k v5 , v [ 1 : 4 ] , s [ 8 : 1 5 ] d m a s k : 0 x1 g l c
/ / GCN : image_ l o a d _ p c k v5 , v [ 1 : 4 ] , s [ 8 : 1 5 ] d m a s k : 0 x1 g l c ; encoding: [0x00,0x21,0x08,0xf0,0x01,0x05,0x02,0x00]
image_ l o a d _ p c k _ s g n v5 , v [ 1 : 4 ] , s [ 8 : 1 5 ] d m a s k : 0 x1 l w e
/ / GCN : image_ l o a d _ p c k _ s g n v5 , v [ 1 : 4 ] , s [ 8 : 1 5 ] d m a s k : 0 x1 l w e ; encoding: [0x00,0x01,0x0e,0xf0,0x01,0x05,0x02,0x00]
image_ l o a d _ m i p _ p c k v5 , v [ 1 : 4 ] , s [ 8 : 1 5 ] d m a s k : 0 x1 d16
/ / NOSICI : error : invalid o p e r a n d f o r i n s t r u c t i o n
/ / NOVI : error : invalid o p e r a n d f o r i n s t r u c t i o n
/ / NOGFX9 : error : invalid o p e r a n d f o r i n s t r u c t i o n
2018-10-31 11:34:48 +01:00
image_ l o a d _ m i p _ p c k v5 , v [ 1 : 2 ] , s [ 8 : 1 5 ] d m a s k : 0 x1 a16
/ / GFX9 : image_ l o a d _ m i p _ p c k v5 , v [ 1 : 2 ] , s [ 8 : 1 5 ] d m a s k : 0 x1 a16 ; encoding: [0x00,0x81,0x10,0xf0,0x01,0x05,0x02,0x00]
/ / NOSICI : error : a1 6 m o d i f i e r i s n o t s u p p o r t e d o n t h i s G P U
/ / NOVI : error : a1 6 m o d i f i e r i s n o t s u p p o r t e d o n t h i s G P U
2018-04-04 15:01:17 +02:00
image_ s t o r e _ m i p _ p c k v25 2 , v2 , s [ 1 2 : 1 9 ] d m a s k : 0 x1 u n o r m
/ / GCN : image_ s t o r e _ m i p _ p c k v25 2 , v2 , s [ 1 2 : 1 9 ] d m a s k : 0 x1 u n o r m ; encoding: [0x00,0x11,0x2c,0xf0,0x02,0xfc,0x03,0x00]
image_ s t o r e _ m i p _ p c k v25 2 , v [ 2 : 3 ] , s [ 1 2 : 1 9 ] d m a s k : 0 x1 u n o r m
/ / GCN : image_ s t o r e _ m i p _ p c k v25 2 , v [ 2 : 3 ] , s [ 1 2 : 1 9 ] d m a s k : 0 x1 u n o r m ; encoding: [0x00,0x11,0x2c,0xf0,0x02,0xfc,0x03,0x00]
image_ s t o r e _ m i p _ p c k v25 2 , v [ 2 : 4 ] , s [ 1 2 : 1 9 ] d m a s k : 0 x1 u n o r m
/ / GCN : image_ s t o r e _ m i p _ p c k v25 2 , v [ 2 : 4 ] , s [ 1 2 : 1 9 ] d m a s k : 0 x1 u n o r m ; encoding: [0x00,0x11,0x2c,0xf0,0x02,0xfc,0x03,0x00]
2018-03-28 17:44:16 +02:00
image_ s t o r e _ m i p _ p c k v25 2 , v [ 2 : 5 ] , s [ 1 2 : 1 9 ] d m a s k : 0 x1 u n o r m
/ / GCN : image_ s t o r e _ m i p _ p c k v25 2 , v [ 2 : 5 ] , s [ 1 2 : 1 9 ] d m a s k : 0 x1 u n o r m ; encoding: [0x00,0x11,0x2c,0xf0,0x02,0xfc,0x03,0x00]
image_ s t o r e _ m i p _ p c k v1 , v [ 2 : 5 ] , s [ 1 2 : 1 9 ] d m a s k : 0 x1 u n o r m g l c s l c l w e d a
/ / GCN : image_ s t o r e _ m i p _ p c k v1 , v [ 2 : 5 ] , s [ 1 2 : 1 9 ] d m a s k : 0 x1 u n o r m g l c s l c l w e d a ; encoding: [0x00,0x71,0x2e,0xf2,0x02,0x01,0x03,0x00]
image_ s t o r e _ p c k v1 , v [ 2 : 5 ] , s [ 1 2 : 1 9 ] d m a s k : 0 x1 u n o r m d a
/ / GCN : image_ s t o r e _ p c k v1 , v [ 2 : 5 ] , s [ 1 2 : 1 9 ] d m a s k : 0 x1 u n o r m d a ; encoding: [0x00,0x51,0x28,0xf0,0x02,0x01,0x03,0x00]
image_ s t o r e _ m i p _ p c k v25 2 , v [ 2 : 5 ] , s [ 1 2 : 1 9 ] d m a s k : 0 x1 d16
/ / NOSICI : error : invalid o p e r a n d f o r i n s t r u c t i o n
/ / NOVI : error : invalid o p e r a n d f o r i n s t r u c t i o n
/ / NOGFX9 : error : invalid o p e r a n d f o r i n s t r u c t i o n
2018-10-31 11:34:48 +01:00
image_ s t o r e _ m i p _ p c k v25 2 , v [ 2 : 3 ] , s [ 1 2 : 1 9 ] d m a s k : 0 x1 a16
/ / GFX9 : image_ s t o r e _ m i p _ p c k v25 2 , v [ 2 : 3 ] , s [ 1 2 : 1 9 ] d m a s k : 0 x1 a16 ; encoding: [0x00,0x81,0x2c,0xf0,0x02,0xfc,0x03,0x00]
/ / NOSICI : error : a1 6 m o d i f i e r i s n o t s u p p o r t e d o n t h i s G P U
/ / NOVI : error : a1 6 m o d i f i e r i s n o t s u p p o r t e d o n t h i s G P U
2018-01-19 14:49:53 +01:00
/ / = = = - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - = = = / /
/ / Image S a m p l e
/ / = = = - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - = = = / /
2016-02-26 10:51:05 +01:00
image_ s a m p l e v [ 1 9 3 : 1 9 5 ] , v [ 2 3 7 : 2 4 0 ] , s [ 2 8 : 3 5 ] , s [ 4 : 7 ] d m a s k : 0 x7 u n o r m
2018-02-05 13:45:43 +01:00
/ / GCN : image_ s a m p l e v [ 1 9 3 : 1 9 5 ] , v [ 2 3 7 : 2 4 0 ] , s [ 2 8 : 3 5 ] , s [ 4 : 7 ] d m a s k : 0 x7 u n o r m ; encoding: [0x00,0x17,0x80,0xf0,0xed,0xc1,0x27,0x00]
2018-01-19 14:49:53 +01:00
2018-04-04 15:01:17 +02:00
image_ s a m p l e v19 3 , v23 7 , s [ 2 8 : 3 5 ] , s [ 4 : 7 ]
/ / GCN : image_ s a m p l e v19 3 , v23 7 , s [ 2 8 : 3 5 ] , s [ 4 : 7 ] ; encoding: [0x00,0x00,0x80,0xf0,0xed,0xc1,0x27,0x00]
image_ s a m p l e v19 3 , v [ 2 3 7 : 2 3 8 ] , s [ 2 8 : 3 5 ] , s [ 4 : 7 ]
/ / GCN : image_ s a m p l e v19 3 , v [ 2 3 7 : 2 3 8 ] , s [ 2 8 : 3 5 ] , s [ 4 : 7 ] ; encoding: [0x00,0x00,0x80,0xf0,0xed,0xc1,0x27,0x00]
image_ s a m p l e v19 3 , v [ 2 3 7 : 2 3 9 ] , s [ 2 8 : 3 5 ] , s [ 4 : 7 ]
/ / GCN : image_ s a m p l e v19 3 , v [ 2 3 7 : 2 3 9 ] , s [ 2 8 : 3 5 ] , s [ 4 : 7 ] ; encoding: [0x00,0x00,0x80,0xf0,0xed,0xc1,0x27,0x00]
2018-01-26 17:42:51 +01:00
image_ s a m p l e v19 3 , v [ 2 3 7 : 2 4 0 ] , s [ 2 8 : 3 5 ] , s [ 4 : 7 ]
2018-02-05 13:45:43 +01:00
/ / GCN : image_ s a m p l e v19 3 , v [ 2 3 7 : 2 4 0 ] , s [ 2 8 : 3 5 ] , s [ 4 : 7 ] ; encoding: [0x00,0x00,0x80,0xf0,0xed,0xc1,0x27,0x00]
2018-01-26 17:42:51 +01:00
image_ s a m p l e v [ 1 9 3 : 1 9 4 ] , v [ 2 3 7 : 2 4 0 ] , s [ 2 8 : 3 5 ] , s [ 4 : 7 ] t f e
2018-02-05 13:45:43 +01:00
/ / GCN : image_ s a m p l e v [ 1 9 3 : 1 9 4 ] , v [ 2 3 7 : 2 4 0 ] , s [ 2 8 : 3 5 ] , s [ 4 : 7 ] t f e ; encoding: [0x00,0x00,0x81,0xf0,0xed,0xc1,0x27,0x00]
/ / FIXME : This t e s t i s i n c o r r e c t b e c a u s e r12 8 a s s u m e s a 1 2 8 - b i t S R S R C .
image_ s a m p l e v19 3 , v [ 2 3 7 : 2 4 0 ] , s [ 2 8 : 3 5 ] , s [ 4 : 7 ] r12 8
/ / SICIVI : image_ s a m p l e v19 3 , v [ 2 3 7 : 2 4 0 ] , s [ 2 8 : 3 5 ] , s [ 4 : 7 ] r12 8 ; encoding: [0x00,0x80,0x80,0xf0,0xed,0xc1,0x27,0x00]
/ / NOGFX9 : error : r1 2 8 m o d i f i e r i s n o t s u p p o r t e d o n t h i s G P U
image_ s a m p l e v19 3 , v [ 2 3 7 : 2 4 0 ] , s [ 2 8 : 3 5 ] , s [ 4 : 7 ] d16
/ / NOSICI : error : d1 6 m o d i f i e r i s n o t s u p p o r t e d o n t h i s G P U
/ / GFX89 : image_ s a m p l e v19 3 , v [ 2 3 7 : 2 4 0 ] , s [ 2 8 : 3 5 ] , s [ 4 : 7 ] d16 ; encoding: [0x00,0x00,0x80,0xf0,0xed,0xc1,0x27,0x80]
2018-01-26 17:42:51 +01:00
2018-02-05 15:18:53 +01:00
/ / = = = - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - = = = / /
/ / Image S a m p l e : d16 p a c k e d
/ / = = = - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - = = = / /
image_ s a m p l e v [ 1 9 3 : 1 9 5 ] , v [ 2 3 7 : 2 4 0 ] , s [ 2 8 : 3 5 ] , s [ 4 : 7 ] d m a s k : 0 x7 d16
/ / NOSICI : error : d1 6 m o d i f i e r i s n o t s u p p o r t e d o n t h i s G P U
/ / GFX8_0 : image_ s a m p l e v [ 1 9 3 : 1 9 5 ] , v [ 2 3 7 : 2 4 0 ] , s [ 2 8 : 3 5 ] , s [ 4 : 7 ] d m a s k : 0 x7 d16 ; encoding: [0x00,0x07,0x80,0xf0,0xed,0xc1,0x27,0x80]
/ / NOGFX8_1 : error : image d a t a s i z e d o e s n o t m a t c h d m a s k a n d t f e
/ / NOGFX9 : error : image d a t a s i z e d o e s n o t m a t c h d m a s k a n d t f e
/ / = = = - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - = = = / /
/ / Image S a m p l e : d16 u n p a c k e d
/ / = = = - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - = = = / /
image_ s a m p l e v [ 1 9 3 : 1 9 4 ] , v [ 2 3 7 : 2 4 0 ] , s [ 2 8 : 3 5 ] , s [ 4 : 7 ] d m a s k : 0 x7 d16
/ / NOSICI : error : d1 6 m o d i f i e r i s n o t s u p p o r t e d o n t h i s G P U
/ / NOGFX8_0 : error : image d a t a s i z e d o e s n o t m a t c h d m a s k a n d t f e
/ / GFX8_1 : image_ s a m p l e v [ 1 9 3 : 1 9 4 ] , v [ 2 3 7 : 2 4 0 ] , s [ 2 8 : 3 5 ] , s [ 4 : 7 ] d m a s k : 0 x7 d16 ; encoding: [0x00,0x07,0x80,0xf0,0xed,0xc1,0x27,0x80]
/ / GFX9 : image_ s a m p l e v [ 1 9 3 : 1 9 4 ] , v [ 2 3 7 : 2 4 0 ] , s [ 2 8 : 3 5 ] , s [ 4 : 7 ] d m a s k : 0 x7 d16 ; encoding: [0x00,0x07,0x80,0xf0,0xed,0xc1,0x27,0x80]
2018-08-28 17:07:30 +02:00
/ / = = = - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - = = = / /
/ / Image S a m p l e : a16
/ / = = = - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - = = = / /
image_ s a m p l e v [ 1 9 3 : 1 9 6 ] , v [ 2 3 7 : 2 4 0 ] , s [ 2 8 : 3 5 ] , s [ 4 : 7 ] d m a s k : 0 x f a16
/ / GFX9 : image_ s a m p l e v [ 1 9 3 : 1 9 6 ] , v [ 2 3 7 : 2 4 0 ] , s [ 2 8 : 3 5 ] , s [ 4 : 7 ] d m a s k : 0 x f a16 ; encoding: [0x00,0x8f,0x80,0xf0,0xed,0xc1,0x27,0x00]
/ / NOSICI : error : a1 6 m o d i f i e r i s n o t s u p p o r t e d o n t h i s G P U
/ / NOVI : error : a1 6 m o d i f i e r i s n o t s u p p o r t e d o n t h i s G P U
image_ s a m p l e _ d v [ 1 9 3 : 1 9 6 ] , v [ 2 3 7 : 2 4 0 ] , s [ 2 8 : 3 5 ] , s [ 4 : 7 ] d m a s k : 0 x f a16
/ / GFX9 : image_ s a m p l e _ d v [ 1 9 3 : 1 9 6 ] , v [ 2 3 7 : 2 4 0 ] , s [ 2 8 : 3 5 ] , s [ 4 : 7 ] d m a s k : 0 x f a16 ; encoding: [0x00,0x8f,0x88,0xf0,0xed,0xc1,0x27,0x00]
/ / NOSICI : error : a1 6 m o d i f i e r i s n o t s u p p o r t e d o n t h i s G P U
/ / NOVI : error : a1 6 m o d i f i e r i s n o t s u p p o r t e d o n t h i s G P U
image_ s a m p l e _ c _ d v [ 1 9 3 : 1 9 6 ] , v [ 2 3 7 : 2 4 0 ] , s [ 2 8 : 3 5 ] , s [ 4 : 7 ] d m a s k : 0 x f a16
/ / GFX9 : image_ s a m p l e _ c _ d v [ 1 9 3 : 1 9 6 ] , v [ 2 3 7 : 2 4 0 ] , s [ 2 8 : 3 5 ] , s [ 4 : 7 ] d m a s k : 0 x f a16 ; encoding: [0x00,0x8f,0xa8,0xf0,0xed,0xc1,0x27,0x00]
/ / NOSICI : error : a1 6 m o d i f i e r i s n o t s u p p o r t e d o n t h i s G P U
/ / NOVI : error : a1 6 m o d i f i e r i s n o t s u p p o r t e d o n t h i s G P U
image_ s a m p l e _ c _ d _ c l v [ 1 9 3 : 1 9 6 ] , v [ 2 3 7 : 2 4 0 ] , s [ 2 8 : 3 5 ] , s [ 4 : 7 ] d m a s k : 0 x f a16
/ / GFX9 : image_ s a m p l e _ c _ d _ c l v [ 1 9 3 : 1 9 6 ] , v [ 2 3 7 : 2 4 0 ] , s [ 2 8 : 3 5 ] , s [ 4 : 7 ] d m a s k : 0 x f a16 ; encoding: [0x00,0x8f,0xac,0xf0,0xed,0xc1,0x27,0x00]
/ / NOSICI : error : a1 6 m o d i f i e r i s n o t s u p p o r t e d o n t h i s G P U
/ / NOVI : error : a1 6 m o d i f i e r i s n o t s u p p o r t e d o n t h i s G P U
2018-01-19 14:49:53 +01:00
/ / = = = - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - = = = / /
/ / Image A t o m i c s
/ / = = = - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - = = = / /
2016-03-04 11:39:50 +01:00
2018-04-04 15:01:17 +02:00
image_ a t o m i c _ a d d v4 , v19 2 , s [ 2 8 : 3 5 ] d m a s k : 0 x1 u n o r m g l c
/ / SICI : image_ a t o m i c _ a d d v4 , v19 2 , s [ 2 8 : 3 5 ] d m a s k : 0 x1 u n o r m g l c ; encoding: [0x00,0x31,0x44,0xf0,0xc0,0x04,0x07,0x00]
/ / GFX89 : image_ a t o m i c _ a d d v4 , v19 2 , s [ 2 8 : 3 5 ] d m a s k : 0 x1 u n o r m g l c ; encoding: [0x00,0x31,0x48,0xf0,0xc0,0x04,0x07,0x00]
image_ a t o m i c _ a d d v4 , v [ 1 9 2 : 1 9 3 ] , s [ 2 8 : 3 5 ] d m a s k : 0 x1 u n o r m g l c
/ / SICI : image_ a t o m i c _ a d d v4 , v [ 1 9 2 : 1 9 3 ] , s [ 2 8 : 3 5 ] d m a s k : 0 x1 u n o r m g l c ; encoding: [0x00,0x31,0x44,0xf0,0xc0,0x04,0x07,0x00]
/ / GFX89 : image_ a t o m i c _ a d d v4 , v [ 1 9 2 : 1 9 3 ] , s [ 2 8 : 3 5 ] d m a s k : 0 x1 u n o r m g l c ; encoding: [0x00,0x31,0x48,0xf0,0xc0,0x04,0x07,0x00]
image_ a t o m i c _ a d d v4 , v [ 1 9 2 : 1 9 4 ] , s [ 2 8 : 3 5 ] d m a s k : 0 x1 u n o r m g l c
/ / SICI : image_ a t o m i c _ a d d v4 , v [ 1 9 2 : 1 9 4 ] , s [ 2 8 : 3 5 ] d m a s k : 0 x1 u n o r m g l c ; encoding: [0x00,0x31,0x44,0xf0,0xc0,0x04,0x07,0x00]
/ / GFX89 : image_ a t o m i c _ a d d v4 , v [ 1 9 2 : 1 9 4 ] , s [ 2 8 : 3 5 ] d m a s k : 0 x1 u n o r m g l c ; encoding: [0x00,0x31,0x48,0xf0,0xc0,0x04,0x07,0x00]
2016-03-04 11:39:50 +01:00
image_ a t o m i c _ a d d v4 , v [ 1 9 2 : 1 9 5 ] , s [ 2 8 : 3 5 ] d m a s k : 0 x1 u n o r m g l c
2018-02-05 13:45:43 +01:00
/ / SICI : image_ a t o m i c _ a d d v4 , v [ 1 9 2 : 1 9 5 ] , s [ 2 8 : 3 5 ] d m a s k : 0 x1 u n o r m g l c ; encoding: [0x00,0x31,0x44,0xf0,0xc0,0x04,0x07,0x00]
/ / GFX89 : image_ a t o m i c _ a d d v4 , v [ 1 9 2 : 1 9 5 ] , s [ 2 8 : 3 5 ] d m a s k : 0 x1 u n o r m g l c ; encoding: [0x00,0x31,0x48,0xf0,0xc0,0x04,0x07,0x00]
2018-01-19 14:49:53 +01:00
2018-01-26 16:43:29 +01:00
image_ a t o m i c _ a d d v25 2 , v2 , s [ 8 : 1 5 ] d m a s k : 0 x1 u n o r m
2018-02-05 13:45:43 +01:00
/ / SICI : image_ a t o m i c _ a d d v25 2 , v2 , s [ 8 : 1 5 ] d m a s k : 0 x1 u n o r m ; encoding: [0x00,0x11,0x44,0xf0,0x02,0xfc,0x02,0x00]
/ / GFX89 : image_ a t o m i c _ a d d v25 2 , v2 , s [ 8 : 1 5 ] d m a s k : 0 x1 u n o r m ; encoding: [0x00,0x11,0x48,0xf0,0x02,0xfc,0x02,0x00]
2018-01-19 14:49:53 +01:00
2018-01-26 16:43:29 +01:00
image_ a t o m i c _ a d d v [ 6 : 7 ] , v25 5 , s [ 8 : 1 5 ] d m a s k : 0 x3
2018-02-05 13:45:43 +01:00
/ / SICI : image_ a t o m i c _ a d d v [ 6 : 7 ] , v25 5 , s [ 8 : 1 5 ] d m a s k : 0 x3 ; encoding: [0x00,0x03,0x44,0xf0,0xff,0x06,0x02,0x00]
/ / GFX89 : image_ a t o m i c _ a d d v [ 6 : 7 ] , v25 5 , s [ 8 : 1 5 ] d m a s k : 0 x3 ; encoding: [0x00,0x03,0x48,0xf0,0xff,0x06,0x02,0x00]
2018-01-19 14:49:53 +01:00
2018-01-26 16:43:29 +01:00
image_ a t o m i c _ a d d v7 , v3 , s [ 0 : 7 ] d m a s k : 0 x1 g l c
2018-02-05 13:45:43 +01:00
/ / SICI : image_ a t o m i c _ a d d v7 , v3 , s [ 0 : 7 ] d m a s k : 0 x1 g l c ; encoding: [0x00,0x21,0x44,0xf0,0x03,0x07,0x00,0x00]
/ / GFX89 : image_ a t o m i c _ a d d v7 , v3 , s [ 0 : 7 ] d m a s k : 0 x1 g l c ; encoding: [0x00,0x21,0x48,0xf0,0x03,0x07,0x00,0x00]
2018-01-19 14:49:53 +01:00
2018-01-26 16:43:29 +01:00
image_ a t o m i c _ a d d v8 , v4 , s [ 8 : 1 5 ] d m a s k : 0 x1 s l c
2018-02-05 13:45:43 +01:00
/ / SICI : image_ a t o m i c _ a d d v8 , v4 , s [ 8 : 1 5 ] d m a s k : 0 x1 s l c ; encoding: [0x00,0x01,0x44,0xf2,0x04,0x08,0x02,0x00]
/ / GFX89 : image_ a t o m i c _ a d d v8 , v4 , s [ 8 : 1 5 ] d m a s k : 0 x1 s l c ; encoding: [0x00,0x01,0x48,0xf2,0x04,0x08,0x02,0x00]
2018-01-19 14:49:53 +01:00
image_ a t o m i c _ a d d v9 , v5 , s [ 8 : 1 5 ] d m a s k : 0 x1 u n o r m g l c s l c l w e d a
2018-02-05 13:45:43 +01:00
/ / SICI : image_ a t o m i c _ a d d v9 , v5 , s [ 8 : 1 5 ] d m a s k : 0 x1 u n o r m g l c s l c l w e d a ; encoding: [0x00,0x71,0x46,0xf2,0x05,0x09,0x02,0x00]
/ / GFX89 : image_ a t o m i c _ a d d v9 , v5 , s [ 8 : 1 5 ] d m a s k : 0 x1 u n o r m g l c s l c l w e d a ; encoding: [0x00,0x71,0x4a,0xf2,0x05,0x09,0x02,0x00]
2018-01-19 14:49:53 +01:00
image_ a t o m i c _ a d d v10 , v6 , s [ 8 : 1 5 ] d m a s k : 0 x1 l w e
2018-02-05 13:45:43 +01:00
/ / SICI : image_ a t o m i c _ a d d v10 , v6 , s [ 8 : 1 5 ] d m a s k : 0 x1 l w e ; encoding: [0x00,0x01,0x46,0xf0,0x06,0x0a,0x02,0x00]
/ / GFX89 : image_ a t o m i c _ a d d v10 , v6 , s [ 8 : 1 5 ] d m a s k : 0 x1 l w e ; encoding: [0x00,0x01,0x4a,0xf0,0x06,0x0a,0x02,0x00]
2018-01-19 14:49:53 +01:00
image_ a t o m i c _ a d d v11 , v7 , s [ 8 : 1 5 ] d m a s k : 0 x1 d a
2018-02-05 13:45:43 +01:00
/ / SICI : image_ a t o m i c _ a d d v11 , v7 , s [ 8 : 1 5 ] d m a s k : 0 x1 d a ; encoding: [0x00,0x41,0x44,0xf0,0x07,0x0b,0x02,0x00]
/ / GFX89 : image_ a t o m i c _ a d d v11 , v7 , s [ 8 : 1 5 ] d m a s k : 0 x1 d a ; encoding: [0x00,0x41,0x48,0xf0,0x07,0x0b,0x02,0x00]
2016-03-04 11:39:50 +01:00
image_ a t o m i c _ s w a p v4 , v [ 1 9 2 : 1 9 5 ] , s [ 2 8 : 3 5 ] d m a s k : 0 x1 u n o r m g l c
2018-02-05 13:45:43 +01:00
/ / SICI : image_ a t o m i c _ s w a p v4 , v [ 1 9 2 : 1 9 5 ] , s [ 2 8 : 3 5 ] d m a s k : 0 x1 u n o r m g l c ; encoding: [0x00,0x31,0x3c,0xf0,0xc0,0x04,0x07,0x00]
/ / GFX89 : image_ a t o m i c _ s w a p v4 , v [ 1 9 2 : 1 9 5 ] , s [ 2 8 : 3 5 ] d m a s k : 0 x1 u n o r m g l c ; encoding: [0x00,0x31,0x40,0xf0,0xc0,0x04,0x07,0x00]
2016-03-04 11:39:50 +01:00
2018-01-26 16:43:29 +01:00
image_ a t o m i c _ c m p s w a p v [ 4 : 5 ] , v [ 1 9 2 : 1 9 5 ] , s [ 2 8 : 3 5 ] d m a s k : 0 x3 u n o r m g l c
2018-02-05 13:45:43 +01:00
/ / SICI : image_ a t o m i c _ c m p s w a p v [ 4 : 5 ] , v [ 1 9 2 : 1 9 5 ] , s [ 2 8 : 3 5 ] d m a s k : 0 x3 u n o r m g l c ; encoding: [0x00,0x33,0x40,0xf0,0xc0,0x04,0x07,0x00]
/ / GFX89 : image_ a t o m i c _ c m p s w a p v [ 4 : 5 ] , v [ 1 9 2 : 1 9 5 ] , s [ 2 8 : 3 5 ] d m a s k : 0 x3 u n o r m g l c ; encoding: [0x00,0x33,0x44,0xf0,0xc0,0x04,0x07,0x00]
2018-01-26 16:43:29 +01:00
image_ a t o m i c _ c m p s w a p v [ 4 : 7 ] , v [ 1 9 2 : 1 9 5 ] , s [ 2 8 : 3 5 ] d m a s k : 0 x f u n o r m g l c
2018-02-05 13:45:43 +01:00
/ / SICI : image_ a t o m i c _ c m p s w a p v [ 4 : 7 ] , v [ 1 9 2 : 1 9 5 ] , s [ 2 8 : 3 5 ] d m a s k : 0 x f u n o r m g l c ; encoding: [0x00,0x3f,0x40,0xf0,0xc0,0x04,0x07,0x00]
/ / GFX89 : image_ a t o m i c _ c m p s w a p v [ 4 : 7 ] , v [ 1 9 2 : 1 9 5 ] , s [ 2 8 : 3 5 ] d m a s k : 0 x f u n o r m g l c ; encoding: [0x00,0x3f,0x44,0xf0,0xc0,0x04,0x07,0x00]
/ / FIXME : This t e s t i s i n c o r r e c t b e c a u s e r12 8 a s s u m e s a 1 2 8 - b i t S R S R C .
image_ a t o m i c _ a d d v10 , v6 , s [ 8 : 1 5 ] d m a s k : 0 x1 r12 8
/ / SICI : image_ a t o m i c _ a d d v10 , v6 , s [ 8 : 1 5 ] d m a s k : 0 x1 r12 8 ; encoding: [0x00,0x81,0x44,0xf0,0x06,0x0a,0x02,0x00]
/ / VI : image_ a t o m i c _ a d d v10 , v6 , s [ 8 : 1 5 ] d m a s k : 0 x1 r12 8 ; encoding: [0x00,0x81,0x48,0xf0,0x06,0x0a,0x02,0x00]
/ / NOGFX9 : error : r1 2 8 m o d i f i e r i s n o t s u p p o r t e d o n t h i s G P U
2018-03-12 16:03:34 +01:00
/ / = = = - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - = = = / /
/ / Image G a t h e r4
/ / = = = - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - = = = / /
image_ g a t h e r4 v [ 5 : 8 ] , v1 , s [ 8 : 1 5 ] , s [ 1 2 : 1 5 ] d m a s k : 0 x1
/ / GCN : image_ g a t h e r4 v [ 5 : 8 ] , v1 , s [ 8 : 1 5 ] , s [ 1 2 : 1 5 ] d m a s k : 0 x1 ; encoding: [0x00,0x01,0x00,0xf1,0x01,0x05,0x62,0x00]
2018-04-04 15:01:17 +02:00
image_ g a t h e r4 v [ 5 : 8 ] , v [ 1 : 2 ] , s [ 8 : 1 5 ] , s [ 1 2 : 1 5 ] d m a s k : 0 x1
/ / GCN : image_ g a t h e r4 v [ 5 : 8 ] , v [ 1 : 2 ] , s [ 8 : 1 5 ] , s [ 1 2 : 1 5 ] d m a s k : 0 x1 ; encoding: [0x00,0x01,0x00,0xf1,0x01,0x05,0x62,0x00]
image_ g a t h e r4 v [ 5 : 8 ] , v [ 1 : 3 ] , s [ 8 : 1 5 ] , s [ 1 2 : 1 5 ] d m a s k : 0 x1
/ / GCN : image_ g a t h e r4 v [ 5 : 8 ] , v [ 1 : 3 ] , s [ 8 : 1 5 ] , s [ 1 2 : 1 5 ] d m a s k : 0 x1 ; encoding: [0x00,0x01,0x00,0xf1,0x01,0x05,0x62,0x00]
2018-03-12 16:03:34 +01:00
image_ g a t h e r4 v [ 5 : 8 ] , v [ 1 : 4 ] , s [ 8 : 1 5 ] , s [ 1 2 : 1 5 ] d m a s k : 0 x2
/ / GCN : image_ g a t h e r4 v [ 5 : 8 ] , v [ 1 : 4 ] , s [ 8 : 1 5 ] , s [ 1 2 : 1 5 ] d m a s k : 0 x2 ; encoding: [0x00,0x02,0x00,0xf1,0x01,0x05,0x62,0x00]
image_ g a t h e r4 v [ 5 : 8 ] , v [ 1 : 4 ] , s [ 8 : 1 5 ] , s [ 1 2 : 1 5 ] d m a s k : 0 x4
/ / GCN : image_ g a t h e r4 v [ 5 : 8 ] , v [ 1 : 4 ] , s [ 8 : 1 5 ] , s [ 1 2 : 1 5 ] d m a s k : 0 x4 ; encoding: [0x00,0x04,0x00,0xf1,0x01,0x05,0x62,0x00]
image_ g a t h e r4 v [ 5 : 8 ] , v [ 1 : 4 ] , s [ 8 : 1 5 ] , s [ 1 2 : 1 5 ] d m a s k : 0 x8
/ / GCN : image_ g a t h e r4 v [ 5 : 8 ] , v [ 1 : 4 ] , s [ 8 : 1 5 ] , s [ 1 2 : 1 5 ] d m a s k : 0 x8 ; encoding: [0x00,0x08,0x00,0xf1,0x01,0x05,0x62,0x00]
image_ g a t h e r4 v [ 5 : 8 ] , v1 , s [ 8 : 1 5 ] , s [ 1 2 : 1 5 ] d m a s k : 0 x1 d16
AMDGPU: Turn D16 for MIMG instructions into a regular operand
Summary:
This allows us to reduce the number of different machine instruction
opcodes, which reduces the table sizes and helps flatten the TableGen
multiclass hierarchies.
We can do this because for each hardware MIMG opcode, we have a full set
of IMAGE_xxx_Vn_Vm machine instructions for all required sizes of vdata
and vaddr registers. Instead of having separate D16 machine instructions,
a packed D16 instructions loading e.g. 4 components can simply use the
same V2 opcode variant that non-D16 instructions use.
We still require a TSFlag for D16 buffer instructions, because the
D16-ness of buffer instructions is part of the opcode. Renaming the flag
should help avoid future confusion.
The one non-obvious code change is that for gather4 instructions, the
disassembler can no longer automatically decide whether to use a V2 or
a V4 variant. The existing logic which choose the correct variant for
other MIMG instruction is extended to cover gather4 as well.
As a bonus, some of the assembler error messages are now more helpful
(e.g., complaining about a wrong data size instead of a non-existing
instruction).
While we're at it, delete a whole bunch of dead legacy TableGen code.
Change-Id: I89b02c2841c06f95e662541433e597f5d4553978
Reviewers: arsenm, rampitec, kzhuravl, artem.tamazov, dp, rtaylor
Subscribers: wdng, yaxunl, dstuttard, tpr, t-tye, llvm-commits
Differential Revision: https://reviews.llvm.org/D47434
llvm-svn: 335222
2018-06-21 15:36:01 +02:00
/ / NOSICI : error : d1 6 m o d i f i e r i s n o t s u p p o r t e d o n t h i s G P U
2018-03-12 16:03:34 +01:00
/ / GFX8_0 : image_ g a t h e r4 v [ 5 : 8 ] , v1 , s [ 8 : 1 5 ] , s [ 1 2 : 1 5 ] d m a s k : 0 x1 d16 ; encoding: [0x00,0x01,0x00,0xf1,0x01,0x05,0x62,0x80]
AMDGPU: Turn D16 for MIMG instructions into a regular operand
Summary:
This allows us to reduce the number of different machine instruction
opcodes, which reduces the table sizes and helps flatten the TableGen
multiclass hierarchies.
We can do this because for each hardware MIMG opcode, we have a full set
of IMAGE_xxx_Vn_Vm machine instructions for all required sizes of vdata
and vaddr registers. Instead of having separate D16 machine instructions,
a packed D16 instructions loading e.g. 4 components can simply use the
same V2 opcode variant that non-D16 instructions use.
We still require a TSFlag for D16 buffer instructions, because the
D16-ness of buffer instructions is part of the opcode. Renaming the flag
should help avoid future confusion.
The one non-obvious code change is that for gather4 instructions, the
disassembler can no longer automatically decide whether to use a V2 or
a V4 variant. The existing logic which choose the correct variant for
other MIMG instruction is extended to cover gather4 as well.
As a bonus, some of the assembler error messages are now more helpful
(e.g., complaining about a wrong data size instead of a non-existing
instruction).
While we're at it, delete a whole bunch of dead legacy TableGen code.
Change-Id: I89b02c2841c06f95e662541433e597f5d4553978
Reviewers: arsenm, rampitec, kzhuravl, artem.tamazov, dp, rtaylor
Subscribers: wdng, yaxunl, dstuttard, tpr, t-tye, llvm-commits
Differential Revision: https://reviews.llvm.org/D47434
llvm-svn: 335222
2018-06-21 15:36:01 +02:00
/ / NOGFX8_1 : error : image d a t a s i z e d o e s n o t m a t c h d m a s k a n d t f e
/ / NOGFX9 : error : image d a t a s i z e d o e s n o t m a t c h d m a s k a n d t f e
2018-03-12 16:03:34 +01:00
image_ g a t h e r4 v [ 5 : 6 ] , v1 , s [ 8 : 1 5 ] , s [ 1 2 : 1 5 ] d m a s k : 0 x1 d16
/ / NOSICI : error : d1 6 m o d i f i e r i s n o t s u p p o r t e d o n t h i s G P U
AMDGPU: Turn D16 for MIMG instructions into a regular operand
Summary:
This allows us to reduce the number of different machine instruction
opcodes, which reduces the table sizes and helps flatten the TableGen
multiclass hierarchies.
We can do this because for each hardware MIMG opcode, we have a full set
of IMAGE_xxx_Vn_Vm machine instructions for all required sizes of vdata
and vaddr registers. Instead of having separate D16 machine instructions,
a packed D16 instructions loading e.g. 4 components can simply use the
same V2 opcode variant that non-D16 instructions use.
We still require a TSFlag for D16 buffer instructions, because the
D16-ness of buffer instructions is part of the opcode. Renaming the flag
should help avoid future confusion.
The one non-obvious code change is that for gather4 instructions, the
disassembler can no longer automatically decide whether to use a V2 or
a V4 variant. The existing logic which choose the correct variant for
other MIMG instruction is extended to cover gather4 as well.
As a bonus, some of the assembler error messages are now more helpful
(e.g., complaining about a wrong data size instead of a non-existing
instruction).
While we're at it, delete a whole bunch of dead legacy TableGen code.
Change-Id: I89b02c2841c06f95e662541433e597f5d4553978
Reviewers: arsenm, rampitec, kzhuravl, artem.tamazov, dp, rtaylor
Subscribers: wdng, yaxunl, dstuttard, tpr, t-tye, llvm-commits
Differential Revision: https://reviews.llvm.org/D47434
llvm-svn: 335222
2018-06-21 15:36:01 +02:00
/ / NOGFX8_0 : error : image d a t a s i z e d o e s n o t m a t c h d m a s k a n d t f e
2018-03-12 16:03:34 +01:00
/ / GFX8_1 : image_ g a t h e r4 v [ 5 : 6 ] , v1 , s [ 8 : 1 5 ] , s [ 1 2 : 1 5 ] d m a s k : 0 x1 d16 ; encoding: [0x00,0x01,0x00,0xf1,0x01,0x05,0x62,0x80]
/ / GFX9 : image_ g a t h e r4 v [ 5 : 6 ] , v1 , s [ 8 : 1 5 ] , s [ 1 2 : 1 5 ] d m a s k : 0 x1 d16 ; encoding: [0x00,0x01,0x00,0xf1,0x01,0x05,0x62,0x80]
image_ g a t h e r4 v [ 5 : 6 ] , v1 , s [ 8 : 1 5 ] , s [ 1 2 : 1 5 ] d m a s k : 0 x1
AMDGPU: Turn D16 for MIMG instructions into a regular operand
Summary:
This allows us to reduce the number of different machine instruction
opcodes, which reduces the table sizes and helps flatten the TableGen
multiclass hierarchies.
We can do this because for each hardware MIMG opcode, we have a full set
of IMAGE_xxx_Vn_Vm machine instructions for all required sizes of vdata
and vaddr registers. Instead of having separate D16 machine instructions,
a packed D16 instructions loading e.g. 4 components can simply use the
same V2 opcode variant that non-D16 instructions use.
We still require a TSFlag for D16 buffer instructions, because the
D16-ness of buffer instructions is part of the opcode. Renaming the flag
should help avoid future confusion.
The one non-obvious code change is that for gather4 instructions, the
disassembler can no longer automatically decide whether to use a V2 or
a V4 variant. The existing logic which choose the correct variant for
other MIMG instruction is extended to cover gather4 as well.
As a bonus, some of the assembler error messages are now more helpful
(e.g., complaining about a wrong data size instead of a non-existing
instruction).
While we're at it, delete a whole bunch of dead legacy TableGen code.
Change-Id: I89b02c2841c06f95e662541433e597f5d4553978
Reviewers: arsenm, rampitec, kzhuravl, artem.tamazov, dp, rtaylor
Subscribers: wdng, yaxunl, dstuttard, tpr, t-tye, llvm-commits
Differential Revision: https://reviews.llvm.org/D47434
llvm-svn: 335222
2018-06-21 15:36:01 +02:00
/ / NOSICI : error : image d a t a s i z e d o e s n o t m a t c h d m a s k a n d t f e
/ / NOGFX8_0 : error : image d a t a s i z e d o e s n o t m a t c h d m a s k a n d t f e
/ / NOGFX8_1 : error : image d a t a s i z e d o e s n o t m a t c h d m a s k a n d t f e
/ / NOGFX9 : error : image d a t a s i z e d o e s n o t m a t c h d m a s k a n d t f e
2018-08-28 17:07:30 +02:00
image_ g a t h e r4 v [ 5 : 8 ] , v1 , s [ 8 : 1 5 ] , s [ 1 2 : 1 5 ] d m a s k : 0 x1 a16
/ / GFX9 : image_ g a t h e r4 v [ 5 : 8 ] , v1 , s [ 8 : 1 5 ] , s [ 1 2 : 1 5 ] d m a s k : 0 x1 a16 ; encoding: [0x00,0x81,0x00,0xf1,0x01,0x05,0x62,0x00]
/ / NOSICI : error : a1 6 m o d i f i e r i s n o t s u p p o r t e d o n t h i s G P U
/ / NOVI : error : a1 6 m o d i f i e r i s n o t s u p p o r t e d o n t h i s G P U
image_ g a t h e r4 _ b _ c l v [ 5 : 8 ] , v [ 1 : 4 ] , s [ 8 : 1 5 ] , s [ 1 2 : 1 5 ] d m a s k : 0 x1 a16
/ / GFX9 : image_ g a t h e r4 _ b _ c l v [ 5 : 8 ] , v [ 1 : 4 ] , s [ 8 : 1 5 ] , s [ 1 2 : 1 5 ] d m a s k : 0 x1 a16 ; encoding: [0x00,0x81,0x18,0xf1,0x01,0x05,0x62,0x00]
/ / NOSICI : error : a1 6 m o d i f i e r i s n o t s u p p o r t e d o n t h i s G P U
/ / NOVI : error : a1 6 m o d i f i e r i s n o t s u p p o r t e d o n t h i s G P U